6.4 Appendix A.4: faxclient.idl

For ease of implementation, the full IDL for the Fax Client Interface is provided as follows, where "ms-dtyp.idl" is the IDL found in [MS-DTYP] section 5 (Appendix A).

 import "ms-dtyp.idl";
 import "ms-fax_faxdatatypes.idl";
  
 typedef struct {
   DWORD SizeOfStruct;
   FILETIME TimeStamp;
   DWORD  DeviceId;
   DWORD EventId;
   DWORD JobId;
 } FAX_EVENT,
  *PFAX_EVENT;
  
  
 [
     uuid(6099fc12-3eff-11d0-abd0-00c04fd91a4e),
     version(3.0),
     pointer_default(unique)
 ]
  
 interface faxclient
 {
   error_status_t
   FAX_OpenConnection(
      [in] handle_t hBinding,
      [in] unsigned __int64  Context,
      [out] PRPC_FAX_HANDLE FaxHandle
      );
  
   error_status_t
   FAX_ClientEventQueue(
      [in] RPC_FAX_HANDLE FaxPortHandle,
      [in] FAX_EVENT       FaxEvent
      );
  
   error_status_t
   FAX_CloseConnection(
      [in,out] PRPC_FAX_HANDLE FaxHandle
      );
  
   error_status_t
   FAX_ClientEventQueueEx(
      [in, ref] RPC_FAX_HANDLE hClientContext,
      [in, ref, size_is(dwDataSize)]  const LPBYTE lpbData,
      [in] DWORD dwDataSize
      );
 }