|
|
/*++
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 //
{ #define HCALL DWORD import "imports.idl"; // import all the include files #include "FaxRpcLimit.h"
// // Context handles //
typedef [context_handle] HANDLE RPC_FAX_PORT_HANDLE; // FaxOpenPort handle typedef [ref] RPC_FAX_PORT_HANDLE *PRPC_FAX_PORT_HANDLE;
typedef [context_handle] HANDLE RPC_FAX_SVC_HANDLE; // FaxConnectFaxServer handle typedef [ref] RPC_FAX_SVC_HANDLE *PRPC_FAX_SVC_HANDLE;
typedef [context_handle] HANDLE RPC_FAX_MSG_ENUM_HANDLE; // FaxStartMessageEnum handle typedef [ref] RPC_FAX_MSG_ENUM_HANDLE *PRPC_FAX_MSG_ENUM_HANDLE;
typedef [context_handle] HANDLE RPC_FAX_COPY_HANDLE; // FaxStartCopy*Server handle typedef [ref] RPC_FAX_COPY_HANDLE *PRPC_FAX_COPY_HANDLE;
typedef [context_handle] HANDLE RPC_FAX_EVENT_HANDLE; // FaxStartServerNotification handle typedef [ref] RPC_FAX_EVENT_HANDLE *PRPC_FAX_EVENT_HANDLE;
typedef [context_handle] HANDLE RPC_FAX_EVENT_EX_HANDLE; // FaxStartServerNotificationEx handle typedef [ref] RPC_FAX_EVENT_EX_HANDLE *PRPC_FAX_EVENT_EX_HANDLE;
#ifdef SERVER_STUB // //How to use the range attribute with pointer parameter: // //The solution is to employ typedef for this purpose, as shown below: // // typedef [range(0, MAX)] long BOUNDED_DWORD; // typedef BOUNDED_DWORD * LPBOUNDED_DWORD; // // Two typedefs are required because range is not applicable on a pointer type. // As this feature is not available in versions of Windows before Windows 2000 SP3 and Windows XP SP1, // the following pragma may be used to supress MIDL compiler warnings that would result from employing this technique: // // midl_pragma warning( disable: 2466 2467) // midl_pragma warning( disable: 2466 2467 )
typedef [range(0, RPC_COPY_BUFFER_SIZE)] DWORD RANGED_DWORD; typedef RANGED_DWORD * LPRANGED_DWORD;
#else
typedef DWORD * LPRANGED_DWORD;
#endif
// // Structures //
typedef struct _RPC_FAX_OUTBOUND_ROUTING_GROUPW { DWORD dwSizeOfStruct; [string] LPWSTR lpwstrGroupName; [range(0,FAX_MAX_DEVICES_IN_GROUP)]DWORD dwNumDevices; [unique, size_is(dwNumDevices)] LPDWORD lpdwDevices; FAX_ENUM_GROUP_STATUS Status; } RPC_FAX_OUTBOUND_ROUTING_GROUPW, *PRPC_FAX_OUTBOUND_ROUTING_GROUPW;
typedef [switch_type(int)] union _FAX_RULE_DESTINATION { [case(0)] DWORD dwDeviceId; [default] [string] LPWSTR lpwstrGroupName; } FAX_RULE_DESTINATION;
typedef struct _RPC_FAX_OUTBOUND_ROUTING_RULEW { DWORD dwSizeOfStruct; DWORD dwAreaCode; DWORD dwCountryCode; [string] LPWSTR lpwstrCountryName; [switch_is(bUseGroup)] FAX_RULE_DESTINATION Destination; BOOL bUseGroup; } RPC_FAX_OUTBOUND_ROUTING_RULEW, *PRPC_FAX_OUTBOUND_ROUTING_RULEW;
// // functions //
error_status_t FAX_GetServicePrinters( [in] handle_t hBinding, [out, size_is(,*lpdwBufferSize)] LPBYTE *lpBuffer, [out, ref] LPDWORD lpdwBufferSize, [out, ref] LPDWORD lpdwPrintersReturned );
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_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_EnumJobs( [in] handle_t hBinding, [out, size_is(,*BufferSize)] LPBYTE *Buffer, [out, ref] LPDWORD BufferSize, [out, ref] LPDWORD JobsReturned );
error_status_t FAX_GetJob( [in] handle_t hBinding, [in] DWORD JobId, [out, size_is(,*BufferSize)] LPBYTE *Buffer, [out, ref] LPDWORD BufferSize );
error_status_t FAX_SetJob( [in] handle_t hBinding, [in] DWORD JobId, [in] DWORD Command );
error_status_t FAX_GetPageData( [in] handle_t hBinding, [in] DWORD JobId, [out, size_is(,*BufferSize)] LPBYTE *Buffer, [out, ref] LPDWORD BufferSize, [in, out] LPDWORD ImageWidth, [in, out] LPDWORD ImageHeight );
error_status_t FAX_GetDeviceStatus( [in] RPC_FAX_PORT_HANDLE FaxPortHandle, [out, size_is(,*BufferSize)] LPBYTE*StatusBuffer, [out, ref] LPDWORD BufferSize );
error_status_t FAX_Abort( [in] handle_t hBinding, [in] DWORD JobId );
error_status_t FAX_EnumPorts( [in] handle_t hBinding, [out, size_is(,*BufferSize)] LPBYTE *PortBuffer, [out, ref] LPDWORD BufferSize, [out, ref] LPDWORD PortsReturned );
error_status_t FAX_GetPort( [in] RPC_FAX_PORT_HANDLE FaxPortHandle, [out, size_is(,*BufferSize)] LPBYTE *PortBuffer, [out, ref] 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, [out, size_is(,*RoutingInfoBufferSize)] LPBYTE *RoutingInfoBuffer, [out, ref] LPDWORD RoutingInfoBufferSize, [out, ref] LPDWORD PortsReturned );
error_status_t FAX_EnableRoutingMethod( [in] RPC_FAX_PORT_HANDLE FaxPortHandle, [in, string, unique] LPCWSTR RoutingGuid, [in] BOOL Enabled );
error_status_t FAX_GetRoutingInfo( [in] RPC_FAX_PORT_HANDLE FaxPortHandle, [in, string, unique] LPCWSTR RoutingGuid, [out, size_is(,*RoutingInfoBufferSize)] LPBYTE *RoutingInfoBuffer, [out, ref] LPDWORD RoutingInfoBufferSize );
error_status_t FAX_SetRoutingInfo( [in] RPC_FAX_PORT_HANDLE FaxPortHandle, [in, string, unique] LPCWSTR RoutingGuid, [in, unique, size_is(RoutingInfoBufferSize)] const BYTE *RoutingInfoBuffer, [in, range(0,FAX_MAX_RPC_BUFFER)] DWORD RoutingInfoBufferSize );
error_status_t FAX_EnumGlobalRoutingInfo( [in] handle_t hBinding, [out, size_is(,*RoutingInfoBufferSize)] LPBYTE *RoutingInfoBuffer, [out, ref] LPDWORD RoutingInfoBufferSize, [out, ref] 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, [out, size_is(,*BufferSize)] LPBYTE *Buffer, [out, ref] LPDWORD BufferSize );
error_status_t FAX_SetConfiguration( [in] handle_t hBinding, [in] const FAX_CONFIGURATIONW *FaxConfig );
error_status_t FAX_GetLoggingCategories( [in] handle_t hBinding, [out, size_is(,*BufferSize)] LPBYTE *Buffer, [out, ref] LPDWORD BufferSize, [out, ref] LPDWORD NumberCategories );
error_status_t FAX_SetLoggingCategories( [in] handle_t hBinding, [in, unique, size_is(BufferSize)] const LPBYTE Buffer, [in, range(0,FAX_MAX_RPC_BUFFER)] DWORD BufferSize, [in] DWORD NumberCategories );
error_status_t FAX_GetSecurity( [in] handle_t hBinding, [out, size_is(,*lpdwBufferSize)] LPBYTE * pSecurityDescriptor, [out, ref] LPDWORD lpdwBufferSize ) ;
error_status_t FAX_SetSecurity( [in] handle_t hBinding, [in] SECURITY_INFORMATION SecurityInformation, [in, unique, size_is(dwBufferSize)] const LPBYTE pSecurityDescriptor, [in, range(0,FAX_MAX_RPC_BUFFER)] DWORD dwBufferSize );
error_status_t FAX_AccessCheck( [in] handle_t hBinding, [in] DWORD AccessMask, [out, ref] BOOL* pfAccess, [in, out, unique] LPDWORD lpdwRights );
error_status_t FAX_CheckServerProtSeq( [in] handle_t hbinding, [in, out, unique] LPDWORD lpdwProtSeq );
//************************** //* Extension API //**************************
error_status_t FAX_SendDocumentEx ( [in] handle_t hBinding, [in, string, unique] LPCWSTR lpcwstrFileName, [in] LPCFAX_COVERPAGE_INFO_EXW lpcCoverPageInfo, [in] LPCFAX_PERSONAL_PROFILEW lpcSenderProfile, [in, range(0,FAX_MAX_RECIPIENTS) ] DWORD dwNumRecipients, [in, size_is(dwNumRecipients)] LPCFAX_PERSONAL_PROFILEW lpcRecipientList, [in] LPCFAX_JOB_PARAM_EXW lpJobParams, [in, out, unique] LPDWORD lpdwJobId, [out] PDWORDLONG lpdwlMessageId, [out, size_is(dwNumRecipients)] PDWORDLONG lpdwlRecipientMessageIds );
error_status_t FAX_EnumJobsEx( [in] handle_t hBinding, [in] DWORD dwJobTypes, [out, size_is(,*BufferSize)] LPBYTE *Buffer, [out, ref] LPDWORD BufferSize, [out, ref] LPDWORD lpdwJobs );
error_status_t FAX_GetJobEx( [in] handle_t hBinding, [in] DWORDLONG dwlMessageID, [out, size_is(,*BufferSize)] LPBYTE *Buffer, [out, ref] LPDWORD BufferSize );
error_status_t FAX_GetCountryList( [in] handle_t FaxHandle, [out, size_is(,*BufferSize)] LPBYTE *Buffer, [out, ref] LPDWORD BufferSize );
error_status_t FAX_GetPersonalProfileInfo ( [in] handle_t hBinding, [in] DWORDLONG dwlMessageId, [in] FAX_ENUM_MESSAGE_FOLDER dwFolder, [in] FAX_ENUM_PERSONAL_PROF_TYPES ProfType, [out, size_is(,*BufferSize)] LPBYTE *Buffer, [out, ref] LPDWORD BufferSize );
//************************************ //* Getting / Setting the queue state //************************************
error_status_t FAX_GetQueueStates ( [in] handle_t hFaxHandle, [out] LPDWORD pdwQueueStates );
error_status_t FAX_SetQueue ( [in] handle_t hFaxHandle, [in] const DWORD dwQueueStates );
//************************************************* //* Getting / Setting the receipts configuration //*************************************************
error_status_t FAX_GetReceiptsConfiguration ( [in] handle_t hFaxHandle, [out, size_is(,*BufferSize)] LPBYTE *Buffer, [out, ref] LPDWORD BufferSize );
error_status_t FAX_SetReceiptsConfiguration ( [in] handle_t hFaxHandle, [in, ref] const PFAX_RECEIPTS_CONFIGW pReceipts );
error_status_t FAX_GetReceiptsOptions ( [in] handle_t hFaxHandle, [out, ref] LPDWORD lpdwReceiptsOptions // Combination of DRT_EMAIL and DRT_MSGBOX );
//******************************************** //* Server version //********************************************
error_status_t FAX_GetVersion ( [in] handle_t hFaxHandle, [in, out] PFAX_VERSION pVersion );
//********************************************* //* Getting / Setting the Outbox configuration //*********************************************
error_status_t FAX_GetOutboxConfiguration ( [in] handle_t hFaxHandle, [out, size_is(,*BufferSize)] LPBYTE *Buffer, [out, ref] LPDWORD BufferSize );
error_status_t FAX_SetOutboxConfiguration ( [in] handle_t hFaxHandle, [in, ref] const PFAX_OUTBOX_CONFIG pOutboxCfg );
error_status_t FAX_GetPersonalCoverPagesOption ( [in] handle_t hFaxHandle, [out, ref] LPBOOL lpbPersonalCPAllowed );
//******************************************** //* Archive configuration //********************************************
error_status_t FAX_GetArchiveConfiguration ( [in] handle_t hFaxHandle, [in] FAX_ENUM_MESSAGE_FOLDER Folder, [out, size_is(,*BufferSize)] LPBYTE *Buffer, [out, ref] LPDWORD BufferSize );
error_status_t FAX_SetArchiveConfiguration ( [in] handle_t hFaxHandle, [in] FAX_ENUM_MESSAGE_FOLDER Folder, [in, ref] const PFAX_ARCHIVE_CONFIGW pArchiveCfg );
//******************************************** //* Activity logging //********************************************
error_status_t FAX_GetActivityLoggingConfiguration ( [in] handle_t hFaxHandle, [out, size_is(,*BufferSize)] LPBYTE *Buffer, [out, ref] LPDWORD BufferSize );
error_status_t FAX_SetActivityLoggingConfiguration ( [in] handle_t hFaxHandle, [in, ref] const PFAX_ACTIVITY_LOGGING_CONFIGW pActivLogCfg );
//******************************************** //* FSP //********************************************
error_status_t FAX_EnumerateProviders ( [in] handle_t hFaxHandle, [out, size_is(,*BufferSize)] LPBYTE *Buffer, [out, ref] LPDWORD BufferSize, [out, ref] LPDWORD lpdwNumProviders );
//******************************************** //* Ports //********************************************
error_status_t FAX_GetPortEx ( [in] handle_t hFaxHandle, [in] DWORD dwDeviceId, [out, size_is(,*BufferSize)] LPBYTE *Buffer, [out, ref] LPDWORD BufferSize );
error_status_t FAX_SetPortEx ( [in] handle_t hFaxHandle, [in] DWORD dwDeviceId, [in, ref] const PFAX_PORT_INFO_EXW pPortInfo );
error_status_t FAX_EnumPortsEx ( [in] handle_t hFaxHandle, [out, size_is(,*BufferSize)] LPBYTE *Buffer, [out, ref] LPDWORD BufferSize, [out, ref] LPDWORD lpdwNumPorts );
//******************************************** //* Extension data //********************************************
error_status_t FAX_GetExtensionData ( [in] handle_t hFaxHandle, [in] DWORD dwDeviceId, [in,string,ref] LPCWSTR lpctstrNameGUID, [out, size_is(,*lpdwDataSize)] LPBYTE *ppData, [out, ref] LPDWORD lpdwDataSize );
error_status_t FAX_SetExtensionData ( [in] handle_t hFaxHandle, [in,string] LPCWSTR lpcwstrComputerName, [in] DWORD dwDeviceId, [in,string] LPCWSTR lpctstrNameGUID, [in, ref, size_is(dwDataSize)] LPBYTE pData, [in,range(0,FAX_MAX_RPC_BUFFER)] DWORD dwDataSize );
//******************************************** //* Outbound routing //********************************************
error_status_t FAX_AddOutboundGroup ( [in] handle_t hFaxHandle, [in, string,ref] LPCWSTR lpwstrGroupName );
error_status_t FAX_SetOutboundGroup ( [in] handle_t hFaxHandle, [in, ref] PRPC_FAX_OUTBOUND_ROUTING_GROUPW pGroup );
error_status_t FAX_RemoveOutboundGroup ( [in] handle_t hFaxHandle, [in, string, ref] LPCWSTR lpwstrGroupName );
error_status_t FAX_EnumOutboundGroups ( [in] handle_t hFaxHandle, [out, size_is(,*lpdwDataSize)] LPBYTE *ppData, [out, ref] LPDWORD lpdwDataSize, [out, ref] LPDWORD lpdwNumGroups );
error_status_t FAX_SetDeviceOrderInGroup ( [in] handle_t hFaxHandle, [in, string, ref] LPCWSTR lpwstrGroupName, [in] DWORD dwDeviceId, [in] DWORD dwNewOrder );
error_status_t FAX_AddOutboundRule ( [in] handle_t hFaxHandle, [in] DWORD dwAreaCode, [in] DWORD dwCountryCode, [in] DWORD dwDeviceId, [in, string, unique] LPCWSTR lpwstrGroupName, [in] BOOL bUseGroup );
error_status_t FAX_RemoveOutboundRule ( [in] handle_t hFaxHandle, [in] DWORD dwAreaCode, [in] DWORD dwCountryCode );
error_status_t FAX_SetOutboundRule ( [in] handle_t hFaxHandle, [in, ref] RPC_FAX_OUTBOUND_ROUTING_RULEW* pRule );
error_status_t FAX_EnumOutboundRules ( [in] handle_t hFaxHandle, [out, size_is(,*lpdwDataSize)] LPBYTE *ppData, [out, ref] LPDWORD lpdwDataSize, [out, ref] LPDWORD lpdwNumRules );
//******************************************** //* EFSP registration //********************************************
error_status_t FAX_RegisterServiceProviderEx ( [in] handle_t hFaxHandle, [in,string,ref] LPCWSTR lpctstrGUID, [in,string,ref] LPCWSTR lpctstrFriendlyName, [in,string,ref] LPCWSTR lpctstrImageName, [in,string,ref] LPCWSTR lpctstrTspName, [in] DWORD dwFSPIVersion, [in] DWORD dwCapabilities );
error_status_t FAX_UnregisterServiceProviderEx ( [in] handle_t hFaxHandle, [in,string,ref] LPCWSTR lpctstrGUID );
//******************************************** //* Routing Extension unregistration //********************************************
// // Registration of routing extensions is local (non-RPC) //
error_status_t FAX_UnregisterRoutingExtension ( [in] handle_t hFaxHandle, [in,string,ref] LPCWSTR lpctstrExtensionName );
//******************************************** //* Archive jobs //********************************************
error_status_t FAX_StartMessagesEnum ( [in] handle_t hFaxHandle, [in] FAX_ENUM_MESSAGE_FOLDER Folder, [out,ref] PRPC_FAX_MSG_ENUM_HANDLE lpHandle );
error_status_t FAX_EndMessagesEnum ( [in,out,ref] PRPC_FAX_MSG_ENUM_HANDLE lpHandle );
error_status_t FAX_EnumMessages( [in,ref] RPC_FAX_MSG_ENUM_HANDLE hEnum, [in] DWORD dwNumMessages, [out, size_is(,*lpdwBufferSize)] LPBYTE *lppBuffer, [out, ref] LPDWORD lpdwBufferSize, [out, ref] LPDWORD lpdwNumMessagesRetrieved );
error_status_t FAX_GetMessage ( [in] handle_t hFaxHandle, [in] DWORDLONG dwlMessageId, [in] FAX_ENUM_MESSAGE_FOLDER Folder, [out, size_is(,*lpdwBufferSize)] LPBYTE *lppBuffer, [out, ref] LPDWORD lpdwBufferSize );
error_status_t FAX_RemoveMessage ( [in] handle_t hFaxHandle, [in] DWORDLONG dwlMessageId, [in] FAX_ENUM_MESSAGE_FOLDER Folder );
//******************************************** //* RPC copy //********************************************
error_status_t FAX_StartCopyToServer ( [in] handle_t hFaxHandle, // Handle to server [in,string,ref] LPCWSTR lpcwstrFileExt, // Extension of file to create on the server [in,out,string,ref] LPWSTR lpwstrServerFileName, // File name (and extension) of file created on the server [out,ref] PRPC_FAX_COPY_HANDLE lpHandle // RPC copy handle );
error_status_t FAX_StartCopyMessageFromServer ( [in] handle_t hFaxHandle, // Handle to server [in] DWORDLONG dwlMessageId, // Message id [in] FAX_ENUM_MESSAGE_FOLDER Folder, // Archive folder [out,ref] PRPC_FAX_COPY_HANDLE lpHandle // RPC copy handle );
error_status_t FAX_WriteFile ( [in,ref] RPC_FAX_COPY_HANDLE hCopy, // RPC copy handle [in,ref,size_is(dwDataSize)] const LPBYTE lpbData, // Data chunk to append to file on server [in, range(0,RPC_COPY_BUFFER_SIZE)] DWORD dwDataSize // Size of data chunk );
error_status_t FAX_ReadFile ( [in,ref] RPC_FAX_COPY_HANDLE hCopy, // RPC copy handle [in] DWORD dwMaxDataSize, // Maximal chunk to read [out,ref,size_is(*lpdwDataSize)] LPBYTE lpbData, // Data buffer to retrieve from server [in,out,ref] LPRANGED_DWORD lpdwDataSize // Size of data retrieved );
error_status_t FAX_EndCopy ( [in,out,ref] PRPC_FAX_COPY_HANDLE lphCopy );
//******************************************** //* Server notifications //********************************************
// // FAX_StartServerNotification is obsolete. Use FAX_StartServerNotificationEx() // error_status_t FAX_StartServerNotification( [in] handle_t hBinding, [in, string, ref] LPCWSTR lpcwstrMachineName, [in, string, ref] LPCWSTR lpcwstrEndPoint, [in] ULONG64 Context, [in, ref, string] LPWSTR lpcwstrProtseqString, [in] BOOL bEventEx, [in] DWORD dwEventTypes, [out,ref] PRPC_FAX_EVENT_HANDLE lpHandle );
error_status_t FAX_StartServerNotificationEx( [in] handle_t hBinding, [in, string, ref] LPCWSTR lpcwstrMachineName, [in, string, ref] LPCWSTR lpcwstrEndPoint, [in] ULONG64 Context, [in, ref, string] LPWSTR lpcwstrProtSeq, // For BOS interoperability it must be set to "ncacn_ip_tcp" [in] BOOL bEventEx, [in] DWORD dwEventTypes, [out,ref] PRPC_FAX_EVENT_EX_HANDLE lpHandle );
error_status_t FAX_EndServerNotification ( [in,out,ref] PRPC_FAX_EVENT_EX_HANDLE lpHandle );
//******************************************** //* Server activity //********************************************
error_status_t FAX_GetServerActivity( [in] handle_t hFaxHandle, [in, out, ref] PFAX_SERVER_ACTIVITY pServerActivity );
//******************************************** //* Configuration Wizard support functions //********************************************
error_status_t FAX_SetConfigWizardUsed ( [in] handle_t hFaxHandle, [in] BOOL bConfigWizardUsed );
//******************************************** //* Routing extensions //********************************************
error_status_t FAX_EnumRoutingExtensions ( [in] handle_t hFaxHandle, [out, size_is(,*BufferSize)] LPBYTE *Buffer, [out, ref] LPDWORD BufferSize, [out, ref] LPDWORD lpdwNumExts );
//******************************************** //* Manual answering support functions //********************************************
error_status_t FAX_AnswerCall( [in] handle_t hFaxHandle, [in] DWORD dwDeviceId );
//******************************************** //* Server / client interoperability //********************************************
error_status_t FAX_ConnectFaxServer( [in] handle_t hBinding, [in] DWORD dwClientAPIVersion, [out, ref] LPDWORD lpdwServerAPIVersion, [out, ref] PRPC_FAX_SVC_HANDLE pHandle );
//******************************************** //* Hardening FAX_GetSecurity with an Ex //******************************************** error_status_t FAX_GetSecurityEx( [in] handle_t hBinding, [in] SECURITY_INFORMATION SecurityInformation, [out, size_is(,*lpdwBufferSize)] LPBYTE * pSecurityDescriptor, [out, ref] LPDWORD lpdwBufferSize );
//******************************************** //* Ivalidate archive folder //********************************************
error_status_t FAX_RefreshArchive( [in] handle_t hFaxHandle, [in] FAX_ENUM_MESSAGE_FOLDER Folder );
//******************************************** //* Start FAX_API_VERSION_2 //********************************************
//******************************************** //* Recipients limit in a single broadcast //********************************************
error_status_t FAX_SetRecipientsLimit( [in] handle_t hbinding, [in] DWORD dwRecipientsLimit );
error_status_t FAX_GetRecipientsLimit( [in] handle_t hbinding, [out, ref] LPDWORD lpdwRecipientsLimit );
error_status_t FAX_GetServerSKU( [in] handle_t hbinding, [out, ref] PRODUCT_SKU_TYPE* pServerSKU );
//******************************************** //* Checking for a valid fax folder //********************************************
error_status_t FAX_CheckValidFaxFolder( [in] handle_t hBinding, [in, string, ref] LPCWSTR lpcwstrPath );
}
|