Skip to content

Instantly share code, notes, and snippets.

@TechplexEngineer
Created July 9, 2015 14:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save TechplexEngineer/a993f55fe1587b7642cd to your computer and use it in GitHub Desktop.
Save TechplexEngineer/a993f55fe1587b7642cd to your computer and use it in GitHub Desktop.
MAPI Extensions IDL ms-oxcrpc
# Conformance file for ms-oxcrpc
#Not sure what should go here
[
uuid (A4F1DB00-CA47-1067-B31F-00DD010662DA),
version(0.81),
pointer_default(unique)
]
interface emsmdb
{
typedef void * CXH; // [context_handle]
typedef void * ACXH; // [context_handle]
// Special restricted types to prevent allocation of big buffers.
typedef unsigned long BIG_RANGE_ULONG; // [range(0x0, 0x40000)]
typedef unsigned long SMALL_RANGE_ULONG; // [range(0x0, 0x1008)]
// Begin import "ms-rpce.idl";
typedef struct _GUID
{
unsigned long Data1;
unsigned short Data2;
unsigned short Data3;
byte Data4[8];
} GUID;
typedef GUID UUID;
typedef struct _FILETIME
{
unsigned long dwLowDateTime;
unsigned long dwHighDateTime;
} FILETIME;
typedef struct _LARGE_INTEGER
{
__int64 QuadPart;
} LARGE_INTEGER;
typedef __int64 LONGLONG;
typedef unsigned __int64 ULONGLONG;
typedef long NTSTATUS;
typedef unsigned long DWORD;
// End import "ms-rpce.idl";
long Opnum0Reserved(
);
long EcDoDisconnect(
[in, out, ref] CXH * pcxh
);
long Opnum2Reserved(
);
long Opnum3Reserved(
);
long EcRRegisterPushNotification(
[in, out, ref] CXH * pcxh,
[in] unsigned long iRpc,
[in, size_is(cbContext)]unsigned char rgbContext[],
[in] unsigned short cbContext,
[in] unsigned long grbitAdviseBits,
[in, size_is(cbCallbackAddress)] unsigned char rgbCallbackAddress[],
[in] unsigned short cbCallbackAddress,
[out] unsigned long *hNotification
);
long Opnum5Reserved(
);
long EcDummyRpc(
[in] handle_t hBinding
);
long Opnum7Reserved(
);
long Opnum8Reserved(
);
long Opnum9Reserved(
);
long EcDoConnectEx(
[in] handle_t hBinding,
[out, ref] CXH * pcxh,
[in, string] unsigned char * szUserDN,
[in] unsigned long ulFlags,
[in] unsigned long ulConMod,
[in] unsigned long cbLimit,
[in] unsigned long ulCpid,
[in] unsigned long ulLcidString,
[in] unsigned long ulLcidSort,
[in] unsigned long ulIcxrLink,
[in] unsigned short usFCanConvertCodePages,
[out] unsigned long * pcmsPollsMax,
[out] unsigned long * pcRetry,
[out] unsigned long * pcmsRetryDelay,
[out] unsigned short * picxr,
[out, string] unsigned char **szDNPrefix,
[out, string] unsigned char **szDisplayName,
[in] unsigned short rgwClientVersion[3],
[out] unsigned short rgwServerVersion[3],
[out] unsigned short rgwBestVersion[3],
[in, out] unsigned long * pulTimeStamp,
[in, size_is(cbAuxIn)] unsigned char rgbAuxIn[],
[in] unsigned long cbAuxIn,
[out, length_is(*pcbAuxOut), size_is(*pcbAuxOut)] unsigned char rgbAuxOut[],
[in, out] SMALL_RANGE_ULONG *pcbAuxOut
);
long EcDoRpcExt2(
[in, out, ref] CXH * pcxh,
[in, out] unsigned long *pulFlags,
[in, size_is(cbIn)] unsigned char rgbIn[],
[in] unsigned long cbIn,
[out, length_is(*pcbOut), size_is(*pcbOut)] unsigned char rgbOut[],
[in, out] BIG_RANGE_ULONG *pcbOut,
[in, size_is(cbAuxIn)] unsigned char rgbAuxIn[],
[in] unsigned long cbAuxIn,
[out, length_is(*pcbAuxOut), size_is(*pcbAuxOut)] unsigned char rgbAuxOut[],
[in, out] SMALL_RANGE_ULONG *pcbAuxOut,
[out] unsigned long *pulTransTime
);
long Opnum12Reserved(
);
long Opnum13Reserved(
);
long EcDoAsyncConnectEx(
[in] CXH cxh,
[out, ref] ACXH * pacxh
);
};
[
uuid (5261574A-4572-206E-B268-6B199213B4E4),
version(0.01),
pointer_default(unique)
]
interface asyncemsmdb
{
long EcDoAsyncWaitEx(
[in] ACXH acxh,
[in] unsigned long ulFlagsIn,
[out] unsigned long *pulFlagsOut
);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment