6 Appendix A: Full IDL
For ease of implementation the full IDL is provided below, where "ms-dtyp.idl" refers to the IDL found in [MS-DTYP] Appendix A. The syntax uses the IDL syntax extensions defined in [MS-RPCE] sections 2.2.4 and 3.1.1.5.1. For example, as noted in [MS-RPCE] section 2.2.4.9, a pointer_default declaration is not required and pointer_default(unique) is assumed.
-
import "ms-dtyp.idl"; [uuid(22e5386d-8b12-4bf0-b0ec-6a1ea419e366)] [version(1.0)] interface NetEventForwarder { typedef [context_handle] void* PSESSION_HANDLE; typedef struct _EVENT_BUFFER { unsigned long BufferLength; [size_is(BufferLength)] byte* Buffer; } EVENT_BUFFER; DWORD RpcNetEventOpenSession( [in] handle_t BindingHandle, [in] [string] wchar_t* LoggerName, [out] PSESSION_HANDLE* SessionHandle ); DWORD RpcNetEventReceiveData( [in] PSESSION_HANDLE SessionHandle, [out] EVENT_BUFFER* EventBuffer ); void RpcNetEventCloseSession( [in, out] PSESSION_HANDLE* SessionHandle ); };