[   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);
}