123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- /*++
- Copyright (c) Microsoft Corporation. All rights reserved.
- Module Name:
- faxroute.h
- Abstract:
- This file contains the prototypes, etc for the
- FAX routing extension API.
- --*/
- #include <commctrl.h>
- #ifndef _FAXROUTE_
- #define _FAXROUTE_
- #if _MSC_VER > 1000
- #pragma once
- #endif
- #ifdef __cplusplus
- extern "C" {
- #endif
- //
- // microsoft routing guids
- //
- #define MS_FAXROUTE_PRINTING_GUID TEXT("{aec1b37c-9af2-11d0-abf7-00c04fd91a4e}")
- #define MS_FAXROUTE_FOLDER_GUID TEXT("{92041a90-9af2-11d0-abf7-00c04fd91a4e}")
- #define MS_FAXROUTE_EMAIL_GUID TEXT("{6bbf7bfe-9af2-11d0-abf7-00c04fd91a4e}")
- //
- // callback routines
- //
- typedef LONG (WINAPI *PFAXROUTEADDFILE)(DWORD JobId, LPCWSTR FileName, GUID *Guid);
- typedef LONG (WINAPI *PFAXROUTEDELETEFILE)(DWORD JobId, LPCWSTR FileName);
- typedef BOOL (WINAPI *PFAXROUTEGETFILE)(DWORD JobId, DWORD Index, LPWSTR FileNameBuffer, LPDWORD RequiredSize);
- typedef BOOL (WINAPI *PFAXROUTEENUMFILE)(DWORD JobId, GUID *GuidOwner, GUID *GuidCaller, LPCWSTR FileName, PVOID Context);
- typedef BOOL (WINAPI *PFAXROUTEENUMFILES)(DWORD JobId, GUID *Guid,PFAXROUTEENUMFILE FileEnumerator, PVOID Context);
- typedef BOOL (WINAPI *PFAXROUTEMODIFYROUTINGDATA)(DWORD JobId, LPCWSTR RoutingGuid, LPBYTE RoutingData, DWORD RoutingDataSize );
- typedef struct _FAX_ROUTE_CALLBACKROUTINES {
- DWORD SizeOfStruct; // size of the struct set by the fax service
- PFAXROUTEADDFILE FaxRouteAddFile;
- PFAXROUTEDELETEFILE FaxRouteDeleteFile;
- PFAXROUTEGETFILE FaxRouteGetFile;
- PFAXROUTEENUMFILES FaxRouteEnumFiles;
- PFAXROUTEMODIFYROUTINGDATA FaxRouteModifyRoutingData;
- } FAX_ROUTE_CALLBACKROUTINES, *PFAX_ROUTE_CALLBACKROUTINES;
- //
- // routing data structure
- //
- typedef struct _FAX_ROUTE {
- DWORD SizeOfStruct; // size of the struct set by the fax service
- DWORD JobId; // Fax job identifier
- DWORDLONG ElapsedTime; // Elapsed time for whole fax job in Coordinated Universal Time (UTC)
- DWORDLONG ReceiveTime; // Starting time for fax job in Coordinated Universal Time (UTC)
- DWORD PageCount; // Number of pages received
- LPCWSTR Csid; // Called station identifier
- LPCWSTR Tsid; // Transmitting station identifier
- LPCWSTR CallerId; // Caller id
- LPCWSTR RoutingInfo; // Routing info such as DID, T.30-subaddress, etc.
- LPCWSTR ReceiverName; // Receiver's name
- LPCWSTR ReceiverNumber; // Receiver's fax number
- LPCWSTR DeviceName; // Device name for the line that received the fax
- DWORD DeviceId; // Permenant line identifier for the receiving device
- LPBYTE RoutingInfoData; // Routing infor data to override configured info
- DWORD RoutingInfoDataSize;// Size of routing info data
- } FAX_ROUTE, *PFAX_ROUTE;
- enum FAXROUTE_ENABLE {
- QUERY_STATUS = -1,
- STATUS_DISABLE = 0,
- STATUS_ENABLE = 1
- };
- //
- // prototypes
- //
- BOOL WINAPI
- FaxRouteInitialize(
- IN HANDLE HeapHandle,
- IN PFAX_ROUTE_CALLBACKROUTINES FaxRouteCallbackRoutines
- );
- BOOL WINAPI
- FaxRouteDeviceEnable(
- IN LPCWSTR RoutingGuid,
- IN DWORD DeviceId,
- IN LONG Enabled
- );
- BOOL WINAPI
- FaxRouteDeviceChangeNotification(
- IN DWORD DeviceId,
- IN BOOL NewDevice
- );
- BOOL WINAPI
- FaxRouteGetRoutingInfo(
- IN LPCWSTR RoutingGuid,
- IN DWORD DeviceId,
- IN LPBYTE RoutingInfo,
- OUT LPDWORD RoutingInfoSize
- );
- BOOL WINAPI
- FaxRouteSetRoutingInfo(
- IN LPCWSTR RoutingGuid,
- IN DWORD DeviceId,
- IN const BYTE *RoutingInfo,
- IN DWORD RoutingInfoSize
- );
- typedef BOOL (WINAPI *PFAXROUTEINITIALIZE) (HANDLE,PFAX_ROUTE_CALLBACKROUTINES);
- typedef BOOL (WINAPI *PFAXROUTEMETHOD) (const FAX_ROUTE*,PVOID*,LPDWORD);
- typedef BOOL (WINAPI *PFAXROUTEDEVICEENABLE) (LPCWSTR,DWORD,LONG);
- typedef BOOL (WINAPI *PFAXROUTEDEVICECHANGENOTIFICATION) (DWORD,BOOL);
- typedef BOOL (WINAPI *PFAXROUTEGETROUTINGINFO) (LPCWSTR,DWORD,LPBYTE,LPDWORD);
- typedef BOOL (WINAPI *PFAXROUTESETROUTINGINFO) (LPCWSTR,DWORD,const BYTE*,DWORD);
- #ifdef __cplusplus
- }
- #endif
- #endif
|