/*++ Copyright (c) 1995 Microsoft Corporation Module Name: faxrpc.idl Abstract: Contains the remoted fax service apis. Author: Wesley Witt (wesw) 10-Jan-1996 Environment: User-mode - Win32 - MIDL --*/ // // Interface Attributes // [ uuid(ea0a3165-4834-11d2-a6f8-00c04fa346cc), version(4.0), pointer_default(unique) ] // // Interface Keyword // interface fax // // Interface Body // { import "imports.idl"; // import all the include files // // Context handles // typedef [context_handle] HANDLE RPC_FAX_PORT_HANDLE; typedef [ref] RPC_FAX_PORT_HANDLE *PRPC_FAX_PORT_HANDLE; typedef [context_handle] HANDLE RPC_FAX_JOB_HANDLE; typedef [ref] RPC_FAX_JOB_HANDLE *PRPC_FAX_JOB_HANDLE; typedef [context_handle] HANDLE RPC_FAX_SVC_HANDLE; typedef [ref] RPC_FAX_SVC_HANDLE *PRPC_FAX_SVC_HANDLE; // // functions // error_status_t FAX_ConnectionRefCount( [in] handle_t hBinding, [in, out] PRPC_FAX_SVC_HANDLE Handle, [in] DWORD Connect, [out] LPDWORD CanShare ); error_status_t FAX_GetVersion( [in] handle_t hBinding, [out] LPDWORD Version ); error_status_t FAX_GetInstallType( [in] handle_t hBinding, [out] LPDWORD InstallType, [out] LPDWORD InstalledPlatforms, [out] LPDWORD ProductType ); error_status_t FAX_OpenPort( [in] handle_t hBinding, [in] DWORD DeviceId, [in] DWORD Flags, [out] PRPC_FAX_PORT_HANDLE FaxPortHandle ); error_status_t FAX_ClosePort( [in,out] PRPC_FAX_PORT_HANDLE FaxPortHandle ); error_status_t FAX_SendDocument( [in] handle_t hBinding, [in, string, unique] LPCTSTR FileName, [in] const FAX_JOB_PARAMW *JobParams, [out] LPDWORD FaxJobId ); error_status_t FAX_GetQueueFileName( [in] handle_t hBinding, [in, out, unique, size_is(FileNameSize)] LPTSTR FileName, [in] DWORD FileNameSize ); error_status_t FAX_EnumJobs( [in] handle_t hBinding, [in, out, unique, size_is(,*BufferSize)] LPBYTE *Buffer, [in,out] LPDWORD BufferSize, [out] LPDWORD JobsReturned ); error_status_t FAX_GetJob( [in] handle_t hBinding, [in] DWORD JobId, [in, out, unique, size_is(,*BufferSize)] LPBYTE *Buffer, [in,out] LPDWORD BufferSize ); error_status_t FAX_SetJob( [in] handle_t hBinding, [in] DWORD JobId, [in] DWORD Command, [in] const FAX_JOB_ENTRY *JobEntry ); error_status_t FAX_GetPageData( [in] handle_t hBinding, [in] DWORD JobId, [in, out, unique, size_is(,*BufferSize)] LPBYTE *Buffer, [in,out] LPDWORD BufferSize, [in,out] LPDWORD ImageWidth, [in,out] LPDWORD ImageHeight ); error_status_t FAX_GetDeviceStatus( [in] RPC_FAX_PORT_HANDLE FaxPortHandle, [in, out, unique, size_is(,*BufferSize)] LPBYTE*StatusBuffer, [in,out] LPDWORD BufferSize ); error_status_t FAX_Abort( [in] handle_t hBinding, [in] DWORD JobId ); error_status_t FAX_EnumPorts( [in] handle_t hBinding, [in, out, unique, size_is(,*BufferSize)] LPBYTE *PortBuffer, [in,out] LPDWORD BufferSize, [out] LPDWORD PortsReturned ); error_status_t FAX_GetPort( [in] RPC_FAX_PORT_HANDLE FaxPortHandle, [in, out, unique, size_is(,*BufferSize)] LPBYTE *PortBuffer, [in,out] LPDWORD BufferSize ); error_status_t FAX_SetPort( [in] RPC_FAX_PORT_HANDLE FaxPortHandle, [in] const FAX_PORT_INFO *PortInfo ); error_status_t FAX_EnumRoutingMethods( [in] RPC_FAX_PORT_HANDLE FaxPortHandle, [in, out, unique, size_is(,*RoutingInfoBufferSize)] LPBYTE *RoutingInfoBuffer, [in,out] LPDWORD RoutingInfoBufferSize, [out] LPDWORD PortsReturned ); error_status_t FAX_EnableRoutingMethod( [in] RPC_FAX_PORT_HANDLE FaxPortHandle, [in, string, unique] LPCTSTR RoutingGuid, [in] BOOL Enabled ); error_status_t FAX_GetRoutingInfo( [in] RPC_FAX_PORT_HANDLE FaxPortHandle, [in, string, unique] LPCTSTR RoutingGuid, [in, out, unique, size_is(,*RoutingInfoBufferSize)] LPBYTE *RoutingInfoBuffer, [in,out] LPDWORD RoutingInfoBufferSize ); error_status_t FAX_SetRoutingInfo( [in] RPC_FAX_PORT_HANDLE FaxPortHandle, [in, string, unique] LPCTSTR RoutingGuid, [in, unique, size_is(RoutingInfoBufferSize)] const BYTE *RoutingInfoBuffer, [in] DWORD RoutingInfoBufferSize ); error_status_t FAX_EnumGlobalRoutingInfo( [in] handle_t hBinding, [in, out, unique, size_is(,*RoutingInfoBufferSize)] LPBYTE *RoutingInfoBuffer, [in,out] LPDWORD RoutingInfoBufferSize, [out] LPDWORD MethodsReturned ); error_status_t FAX_SetGlobalRoutingInfo( [in] handle_t hBinding, [in] const FAX_GLOBAL_ROUTING_INFOW *RoutingInfo ); error_status_t FAX_GetConfiguration( [in] handle_t hBinding, [in, out, unique, size_is(,*BufferSize)] LPBYTE *Buffer, [in,out] LPDWORD BufferSize ); error_status_t FAX_SetConfiguration( [in] handle_t hBinding, [in] const FAX_CONFIGURATION *FaxConfig ); error_status_t FAX_GetLoggingCategories( [in] handle_t hBinding, [in, out, unique, size_is(,*BufferSize)] LPBYTE *Buffer, [in,out] LPDWORD BufferSize, [in,out] LPDWORD NumberCategories ); error_status_t FAX_SetLoggingCategories( [in] handle_t hBinding, [in, unique, size_is(BufferSize)] const LPBYTE Buffer, [in] DWORD BufferSize, [in] DWORD NumberCategories ); error_status_t FAX_GetTapiLocations( [in] handle_t hBinding, [in, out, unique, size_is(,*BufferSize)] LPBYTE *Buffer, [in,out] LPDWORD BufferSize ); error_status_t FAX_SetTapiLocations( [in] handle_t hBinding, [in, unique, size_is(BufferSize)] LPBYTE Buffer, [in] DWORD BufferSize ); error_status_t FAX_GetMapiProfiles( [in] handle_t hBinding, [in, out, unique, size_is(,*BufferSize)] LPBYTE *MapiProfiles, [in,out] LPDWORD BufferSize ); error_status_t FAX_StartClientServer( [in] handle_t hBinding, [in, string, unique] LPCTSTR MachineName, [in, string, unique] LPCTSTR ClientName, [in] ULONG64 Context ); error_status_t FAX_RegisterEventWindow( [in] handle_t hBinding, [in] ULONG64 hWnd, [in] UINT MessageStart, [in, string, unique] LPCTSTR WindowStation, [in, string, unique] LPCTSTR Desktop, [out] LPDWORD Reserved ); error_status_t FAX_GetSecurityDescriptor( [in] handle_t hBinding, [in] DWORD Id, [in, out, unique, size_is(,*BufferSize)] LPBYTE * FaxSecurityDescriptor, [in, out] LPDWORD BufferSize ) ; error_status_t FAX_SetSecurityDescriptor( [in] handle_t hBinding, [in, unique, size_is(BufferSize)] const LPBYTE FaxSecurityDescriptor, [in] DWORD BufferSize ); error_status_t FAX_GetSecurityDescriptorCount( [in] handle_t hBinding, [out] LPDWORD Count ); error_status_t FAX_AccessCheck( [in] handle_t hBinding, [in] DWORD AccessMask, [out] LPDWORD fAccess ); }