[ uuid(14a8831c-bc82-11d2-8a64-0008c7457e5d), version(1.0), pointer_default(unique) ] interface SyncManager { typedef struct tagUString { short nlength; [size_is(nlength)] unsigned short pString[]; } UString; typedef enum tagSyncManagerCommands { smcSetBoot, smcReboot, smcNOP, smcExec, smcExit } SyncManagerCommands; /* 1 for Client, 0 for Server */ void GetCommand([in] int ClientOrServer, [out] SyncManagerCommands *cmd, [out] UString **param); }