Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

145 lines
4.7 KiB

/*++
Copyright (c) Microsoft Corporation. All rights reserved.
THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
Module Name:
faxroute.h
Abstract:
This file contains the prototypes 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