windows-nt/Source/XPSP1/NT/public/internal/windows/inc/winfaxp.h
2020-09-26 16:20:57 +08:00

262 lines
5.4 KiB
C

/*++
Copyright (c) 1996-1998 Microsoft Corporation
Module Name:
winfax.h
Abstract:
This module contains the WIN32 FAX APIs.
--*/
#ifndef _FAXAPIP_
#define _FAXAPIP_
#ifdef __cplusplus
extern "C" {
#endif
#define FPF_OBSOLETE 0x00000008
#define FPF_NEW 0x00000010
#define FPF_SELECTED 0x00000020
//
// the reserved fields are private data used
// by the fax monitor and winfax.
//
//
// Reserved[0] == 0xffffffff
// Reserved[1] == Print job id
//
// Reserved[0] == 0xfffffffe start of a broadcast job
//
typedef struct _FAX_TAPI_LOCATIONSA {
DWORD PermanentLocationID;
LPCSTR LocationName;
DWORD CountryCode;
DWORD AreaCode;
DWORD NumTollPrefixes;
LPCSTR TollPrefixes;
} FAX_TAPI_LOCATIONSA, *PFAX_TAPI_LOCATIONSA;
typedef struct _FAX_TAPI_LOCATIONSW {
DWORD PermanentLocationID;
LPCWSTR LocationName;
DWORD CountryCode;
DWORD AreaCode;
DWORD NumTollPrefixes;
LPCWSTR TollPrefixes;
} FAX_TAPI_LOCATIONSW, *PFAX_TAPI_LOCATIONSW;
#ifdef UNICODE
typedef FAX_TAPI_LOCATIONSW FAX_TAPI_LOCATIONS;
typedef PFAX_TAPI_LOCATIONSW PFAX_TAPI_LOCATIONS;
#else
typedef FAX_TAPI_LOCATIONSA FAX_TAPI_LOCATIONS;
typedef PFAX_TAPI_LOCATIONSA PFAX_TAPI_LOCATIONS;
#endif // UNICODE
typedef struct _FAX_TAPI_LOCATION_INFOA {
DWORD CurrentLocationID;
DWORD NumLocations;
PFAX_TAPI_LOCATIONSA TapiLocations;
} FAX_TAPI_LOCATION_INFOA, *PFAX_TAPI_LOCATION_INFOA;
typedef struct _FAX_TAPI_LOCATION_INFOW {
DWORD CurrentLocationID;
DWORD NumLocations;
PFAX_TAPI_LOCATIONSW TapiLocations;
} FAX_TAPI_LOCATION_INFOW, *PFAX_TAPI_LOCATION_INFOW;
#ifdef UNICODE
typedef FAX_TAPI_LOCATION_INFOW FAX_TAPI_LOCATION_INFO;
typedef PFAX_TAPI_LOCATION_INFOW PFAX_TAPI_LOCATION_INFO;
#else
typedef FAX_TAPI_LOCATION_INFOA FAX_TAPI_LOCATION_INFO;
typedef PFAX_TAPI_LOCATION_INFOA PFAX_TAPI_LOCATION_INFO;
#endif // UNICODE
WINFAXAPI
BOOL
WINAPI
FaxGetVersion(
IN HANDLE FaxHandle,
OUT LPDWORD Version
);
typedef BOOL
(WINAPI *PFAXGETVERSION)(
IN HANDLE FaxHandle,
OUT LPDWORD Version
);
WINFAXAPI
BOOL
WINAPI
FaxGetTapiLocationsA(
IN HANDLE FaxHandle,
OUT PFAX_TAPI_LOCATION_INFOA *TapiLocationInfo
);
WINFAXAPI
BOOL
WINAPI
FaxGetTapiLocationsW(
IN HANDLE FaxHandle,
OUT PFAX_TAPI_LOCATION_INFOW *TapiLocationInfo
);
#ifdef UNICODE
#define FaxGetTapiLocations FaxGetTapiLocationsW
#else
#define FaxGetTapiLocations FaxGetTapiLocationsA
#endif // !UNICODE
typedef BOOL
(WINAPI *PFAXGETTAPILOCATIONSA)(
IN HANDLE FaxHandle,
OUT PFAX_TAPI_LOCATION_INFOA *TapiLocationInfo
);
typedef BOOL
(WINAPI *PFAXGETTAPILOCATIONSW)(
IN HANDLE FaxHandle,
OUT PFAX_TAPI_LOCATION_INFOW *TapiLocationInfo
);
#ifdef UNICODE
#define PFAXGETTAPILOCATIONS PFAXGETTAPILOCATIONSW
#else
#define PFAXGETTAPILOCATIONS PFAXGETTAPILOCATIONSA
#endif // !UNICODE
WINFAXAPI
BOOL
WINAPI
FaxSetTapiLocationsA(
IN HANDLE FaxHandle,
IN PFAX_TAPI_LOCATION_INFOA TapiLocationInfo
);
WINFAXAPI
BOOL
WINAPI
FaxSetTapiLocationsW(
IN HANDLE FaxHandle,
IN PFAX_TAPI_LOCATION_INFOW TapiLocationInfo
);
#ifdef UNICODE
#define FaxSetTapiLocations FaxSetTapiLocationsW
#else
#define FaxSetTapiLocations FaxSetTapiLocationsA
#endif // !UNICODE
typedef BOOL
(WINAPI *PFAXSETTAPILOCATIONSA)(
IN HANDLE FaxHandle,
IN PFAX_TAPI_LOCATION_INFOA TapiLocationInfo
);
typedef BOOL
(WINAPI *PFAXSETTAPILOCATIONSW)(
IN HANDLE FaxHandle,
IN PFAX_TAPI_LOCATION_INFOW TapiLocationInfo
);
#ifdef UNICODE
#define PFAXSETTAPILOCATIONS PFAXSETTAPILOCATIONSW
#else
#define PFAXSETTAPILOCATIONS PFAXSETTAPILOCATIONSA
#endif // !UNICODE
WINFAXAPI
BOOL
WINAPI
FaxGetMapiProfilesA(
IN HANDLE FaxHandle,
OUT LPBYTE *MapiProfiles
);
WINFAXAPI
BOOL
WINAPI
FaxGetMapiProfilesW(
IN HANDLE FaxHandle,
OUT LPBYTE *MapiProfiles
);
#ifdef UNICODE
#define FaxGetMapiProfiles FaxGetMapiProfilesW
#else
#define FaxGetMapiProfiles FaxGetMapiProfilesA
#endif // !UNICODE
typedef BOOL
(WINAPI *PFAXGETMAPIPROFILESA)(
IN HANDLE FaxHandle,
OUT LPBYTE *MapiProfiles
);
typedef BOOL
(WINAPI *PFAXGETMAPIPROFILESW)(
IN HANDLE FaxHandle,
OUT LPBYTE *MapiProfiles
);
#ifdef UNICODE
#define PFAXGETMAPIPROFILES PFAXGETMAPIPROFILESW
#else
#define PFAXGETMAPIPROFILES PFAXGETMAPIPROFILESA
#endif // !UNICODE
typedef struct FaxSecurityDescriptor {
DWORD Id;
LPWSTR FriendlyName;
LPBYTE SecurityDescriptor;
} FAX_SECURITY_DESCRIPTOR, * PFAX_SECURITY_DESCRIPTOR;
WINFAXAPI
BOOL
WINAPI
FaxGetSecurityDescriptorCount(
IN HANDLE FaxHandle,
OUT LPDWORD Count
);
WINFAXAPI
BOOL
WINAPI
FaxGetSecurityDescriptor(
IN HANDLE FaxHandle,
IN DWORD Id,
OUT PFAX_SECURITY_DESCRIPTOR * FaxSecurityDescriptor
);
WINFAXAPI
BOOL
WINAPI
FaxSetSecurityDescriptor(
IN HANDLE FaxHandle,
IN PFAX_SECURITY_DESCRIPTOR FaxSecurityDescriptor
);
WINFAXAPI
BOOL
WINAPI
FaxGetInstallType(
IN HANDLE FaxHandle,
OUT LPDWORD InstallType,
OUT LPDWORD InstalledPlatforms,
OUT LPDWORD ProductType
);
typedef BOOL
(WINAPI *PFAXGETINSTALLTYPE)(
IN HANDLE FaxHandle,
OUT LPDWORD InstallType,
OUT LPDWORD InstalledPlatforms,
OUT LPDWORD ProductType
);
#ifdef __cplusplus
}
#endif
#endif