| 1 | /**
 | 
|---|
| 2 |   DCOM interfaces
 | 
|---|
| 3 |   http://www.grimes.demon.co.uk/DCOM/DCOMSpec.htm
 | 
|---|
| 4 |  */
 | 
|---|
| 5 | 
 | 
|---|
| 6 | import "misc.idl", "orpc.idl";
 | 
|---|
| 7 | 
 | 
|---|
| 8 | [
 | 
|---|
| 9 |         uuid("4d9f4ab8-7d1c-11cf-861e-0020af6e7c57"),
 | 
|---|
| 10 |         pointer_default(unique),
 | 
|---|
| 11 |         endpoint("ncalrpc:", "ncacn_ip_tcp:[135]", "ncacn_np:[\\pipe\\epmapper]")
 | 
|---|
| 12 | ]
 | 
|---|
| 13 | interface IRemoteActivation
 | 
|---|
| 14 | {
 | 
|---|
| 15 |         typedef enum 
 | 
|---|
| 16 |         {
 | 
|---|
| 17 |                 RPC_C_IMP_LEVEL_DEFAULT = 0,
 | 
|---|
| 18 |                 RPC_C_IMP_LEVEL_ANONYMOUS = 1,
 | 
|---|
| 19 |                 RPC_C_IMP_LEVEL_IDENTIFY = 2,
 | 
|---|
| 20 |                 RPC_C_IMP_LEVEL_IMPERSONATE = 3,
 | 
|---|
| 21 |                 RPC_C_IMP_LEVEL_DELEGATE = 4
 | 
|---|
| 22 |         } imp_levels;
 | 
|---|
| 23 | 
 | 
|---|
| 24 |         const uint32 MODE_GET_CLASS_OBJECT = 0xffffffff;
 | 
|---|
| 25 |         WERROR RemoteActivation (
 | 
|---|
| 26 |                         [in] ORPCTHIS this_object,
 | 
|---|
| 27 |                         [out,ref] ORPCTHAT *that,
 | 
|---|
| 28 |                         [in] GUID Clsid,
 | 
|---|
| 29 |                         [in] [string,charset(UTF16)] uint16 *pwszObjectName,
 | 
|---|
| 30 |                         [in] MInterfacePointer *pObjectStorage,
 | 
|---|
| 31 |                         [in] uint32 ClientImpLevel,
 | 
|---|
| 32 |                         [in] uint32 Mode,
 | 
|---|
| 33 |                         [in,range(1,32768)] uint32 Interfaces,
 | 
|---|
| 34 |                         [in,size_is(Interfaces)] GUID *pIIDs,
 | 
|---|
| 35 |                         [in] uint16 num_protseqs,
 | 
|---|
| 36 |                         [in, size_is(num_protseqs)] uint16 protseq[*],
 | 
|---|
| 37 |                         [out,ref] hyper *pOxid,
 | 
|---|
| 38 |                         [out,ref] DUALSTRINGARRAY *pdsaOxidBindings,
 | 
|---|
| 39 |                         [out,ref] GUID *ipidRemUnknown,
 | 
|---|
| 40 |                         [out,ref] uint32 *AuthnHint,
 | 
|---|
| 41 |                         [out,ref] COMVERSION *ServerVersion,
 | 
|---|
| 42 |                         [out,ref] WERROR *hr,
 | 
|---|
| 43 |                         [out,size_is(Interfaces)] MInterfacePointer *ifaces[],
 | 
|---|
| 44 |                         [out,size_is(Interfaces)] WERROR results[]
 | 
|---|
| 45 |                         );
 | 
|---|
| 46 | }
 | 
|---|