Export (0) Print
Expand All

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

 
Show:
© 2014 Microsoft