6 Appendix A: Full IDL

For ease of implementation, the full IDL is provided, where "ms-dcom.idl" is the IDL found in [MS-DCOM] Appendix A.

 import "ms-dcom.idl";
 // Disable new Vista MIDL attribute if using an older MIDL compiler
 #if __midl < 700
 #define disable_consistency_check
 #endif
 [
     object,
     uuid(97199110-DB2E-11d1-A251-0000F805CA53),
     pointer_default(unique)
 ]
 interface ITransactionStream : IUnknown
 {
     HRESULT GetSeqAndTxViaExport (
         [in] unsigned long ulKnownSeq,
         [in] unsigned long ulcbWhereabouts,
         [in, size_is(ulcbWhereabouts)] BYTE* rgbWhereabouts,
         [out] unsigned long* pulCurrentSeq,
         [out] unsigned long* pulcbExportCookie,
         [out, size_is(,*pulcbExportCookie)] 
         BYTE ** prgbExportCookie);
  
     HRESULT GetSeqAndTxViaTransmitter (
         [in] unsigned long ulKnownSeq,
         [out] unsigned long* pulCurrentSeq,
         [out] unsigned long* pulcbTransmitterBuffer,
         [out, size_is(,*pulcbTransmitterBuffer)] 
         BYTE** prgbTransmitterBuffer);
  
     HRESULT GetTxViaExport (
         [in] unsigned long ulRequestSeq,
         [in] unsigned long ulcbWhereabouts,
         [in, size_is(ulcbWhereabouts)] BYTE* rgbWhereabouts,
         [out] unsigned long* pulcbExportCookie,
         [out, size_is(,*pulcbExportCookie)] 
         BYTE** prgbExportCookie);
  
     HRESULT GetTxViaTransmitter (
         [in] unsigned long ulRequestSeq,
         [out] unsigned long* pulcbTransmitterBuffer,
         [out, size_is(,*pulcbTransmitterBuffer)] 
         BYTE** prgbTransmitterBuffer);
 };
Show: