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 | }
|
---|