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 2.2.4. 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.
-
[ uuid(6BFFD098-A112-3610-9833-012892020162), version(0.0), ms_union, pointer_default(unique) ] interface browser { import "ms-dtyp.idl"; typedef WCHAR* LPWSTR; typedef [handle] LPWSTR BROWSER_IDENTIFY_HANDLE; typedef struct _SERVER_INFO_100_CONTAINER { DWORD EntriesRead; [size_is(EntriesRead)] LPSERVER_INFO_100 Buffer; } SERVER_INFO_100_CONTAINER, *PSERVER_INFO_100_CONTAINER, *LPSERVER_INFO_100_CONTAINER; typedef struct _SERVER_ENUM_STRUCT { DWORD Level; [switch_is(Level)] union _SERVER_ENUM_UNION { [case(100)] LPSERVER_INFO_100_CONTAINER Level100; [default] ; } ServerInfo; } SERVER_ENUM_STRUCT, *PSERVER_ENUM_STRUCT, *LPSERVER_ENUM_STRUCT; NET_API_STATUS Opnum0NotUsedOnWire(void); NET_API_STATUS Opnum1NotUsedOnWire(void); NET_API_STATUS I_BrowserrQueryOtherDomains( [in,string,unique] BROWSER_IDENTIFY_HANDLE ServerName, [in,out] LPSERVER_ENUM_STRUCT InfoStruct, [out] LPDWORD TotalEntries ); NET_API_STATUS Opnum3NotUsedOnWire(void); NET_API_STATUS Opnum4NotUsedOnWire(void); NET_API_STATUS Opnum5NotUsedOnWire(void); NET_API_STATUS Opnum6NotUsedOnWire(void); NET_API_STATUS Opnum7NotUsedOnWire(void); NET_API_STATUS Opnum8NotUsedOnWire(void); NET_API_STATUS Opnum9NotUsedOnWire(void); NET_API_STATUS Opnum10NotUsedOnWire(void); NET_API_STATUS Opnum11NotUsedOnWire(void); }