windows-nt/Source/XPSP1/NT/printscan/fax/service/rpc/faxsvc/faxrpc.idl

328 lines
6.7 KiB
Plaintext
Raw Normal View History

2020-09-26 03:20:57 -05:00
/*++
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
);
}