6 Appendix A: Full IDL

msdn link

For ease of implementation, the full Interface Definition Language (IDL) is provided below, where "ms-dtyp.idl" is the IDL specified 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.8, a pointer_default declaration is not required and pointer_default(unique) is assumed.

 import "ms-dtyp.idl";
  
 [
   uuid(3dde7c30-165d-11d1-ab8f-00805f14db40),
   version(1.0),
   pointer_default(unique)
 ]
 interface BackupKey
 {
     NET_API_STATUS
     BackuprKey(
         [in]                            handle_t    h,
         [in]                            GUID*       pguidActionAgent,
         [in, size_is(cbDataIn)]         byte*       pDataIn,
         [in]                            DWORD       cbDataIn,
         [out, size_is(,*pcbDataOut)]    byte**      ppDataOut,
         [out]                           DWORD*      pcbDataOut,
         [in]                            DWORD       dwParam
         );
 }