342 lines
6.9 KiB
C
342 lines
6.9 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 1996 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
faxreg.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
This header defines all of the fax service
|
||
|
registry data structures and access functions.
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Wesley Witt (wesw) 9-June-1996
|
||
|
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#ifndef _FAXREG_
|
||
|
#define _FAXREG_
|
||
|
|
||
|
|
||
|
typedef struct _REG_DEVICE_PROVIDER {
|
||
|
|
||
|
LPTSTR FriendlyName;
|
||
|
LPTSTR ImageName;
|
||
|
LPTSTR ProviderName;
|
||
|
|
||
|
} REG_DEVICE_PROVIDER, *PREG_DEVICE_PROVIDER;
|
||
|
|
||
|
|
||
|
typedef struct _REG_ROUTING_METHOD {
|
||
|
|
||
|
LPTSTR FriendlyName;
|
||
|
LPTSTR FunctionName;
|
||
|
LPTSTR Guid;
|
||
|
LPTSTR InternalName;
|
||
|
DWORD Priority;
|
||
|
|
||
|
} REG_ROUTING_METHOD, *PREG_ROUTING_METHOD;
|
||
|
|
||
|
|
||
|
typedef struct _REG_ROUTING_EXTENSION {
|
||
|
|
||
|
LPTSTR FriendlyName;
|
||
|
LPTSTR ImageName;
|
||
|
LPTSTR InternalName;
|
||
|
DWORD RoutingMethodsCount;
|
||
|
PREG_ROUTING_METHOD RoutingMethods;
|
||
|
|
||
|
} REG_ROUTING_EXTENSION, *PREG_ROUTING_EXTENSION;
|
||
|
|
||
|
|
||
|
typedef struct _REG_DEVICE {
|
||
|
|
||
|
DWORD PermanentLineID;
|
||
|
LPTSTR Name;
|
||
|
LPTSTR Provider;
|
||
|
DWORD Priority;
|
||
|
DWORD Flags;
|
||
|
DWORD Rings;
|
||
|
LPTSTR Csid;
|
||
|
LPTSTR Tsid;
|
||
|
BOOL DeviceInstalled; // this is not stored, but is used to validate currently
|
||
|
// installed tapi devices with the devices in the registry
|
||
|
|
||
|
} REG_DEVICE, *PREG_DEVICE;
|
||
|
|
||
|
typedef struct _REG_DEVICE_CACHE {
|
||
|
|
||
|
DWORD PermanentLineID;
|
||
|
LPTSTR Name;
|
||
|
LPTSTR Provider;
|
||
|
//DWORD Priority;
|
||
|
DWORD Flags;
|
||
|
DWORD Rings;
|
||
|
LPTSTR Csid;
|
||
|
LPTSTR Tsid;
|
||
|
DWORD RoutingMask;
|
||
|
LPTSTR Printer;
|
||
|
LPTSTR Profile;
|
||
|
LPTSTR StoreDir;
|
||
|
|
||
|
} REG_DEVICE_CACHE, *PREG_DEVICE_CACHE;
|
||
|
|
||
|
|
||
|
typedef struct _REG_ROUTING_INFO {
|
||
|
|
||
|
DWORD RoutingMask;
|
||
|
LPTSTR Printer;
|
||
|
LPTSTR Profile;
|
||
|
LPTSTR StoreDir;
|
||
|
|
||
|
} REG_ROUTING_INFO, *PREG_ROUTING_INFO;
|
||
|
|
||
|
|
||
|
|
||
|
typedef struct _REG_CATEGORY {
|
||
|
|
||
|
LPTSTR CategoryName;
|
||
|
DWORD Number;
|
||
|
DWORD Level;
|
||
|
|
||
|
} REG_CATEGORY, *PREG_CATEGORY;
|
||
|
|
||
|
typedef struct _REG_SETUP {
|
||
|
|
||
|
DWORD Installed;
|
||
|
DWORD InstallType;
|
||
|
DWORD InstalledPlatforms;
|
||
|
LPTSTR Csid;
|
||
|
LPTSTR Tsid;
|
||
|
LPTSTR Printer;
|
||
|
LPTSTR StoreDir;
|
||
|
LPTSTR Profile;
|
||
|
DWORD Mask;
|
||
|
DWORD Rings;
|
||
|
|
||
|
} REG_SETUP, *PREG_SETUP;
|
||
|
|
||
|
typedef struct _REG_FAX_SERVICE {
|
||
|
|
||
|
DWORD Retries;
|
||
|
DWORD RetryDelay;
|
||
|
DWORD DirtyDays;
|
||
|
BOOL QueuePaused;
|
||
|
BOOL NextJobNumber;
|
||
|
BOOL Branding;
|
||
|
BOOL UseDeviceTsid;
|
||
|
BOOL ServerCp;
|
||
|
BOOL ForceReceive;
|
||
|
DWORD TerminationDelay;
|
||
|
FAX_TIME StartCheapTime;
|
||
|
FAX_TIME StopCheapTime;
|
||
|
BOOL ArchiveOutgoingFaxes;
|
||
|
LPTSTR ArchiveDirectory;
|
||
|
LPTSTR InboundProfile;
|
||
|
PREG_DEVICE_PROVIDER DeviceProviders;
|
||
|
DWORD DeviceProviderCount;
|
||
|
PREG_ROUTING_EXTENSION RoutingExtensions;
|
||
|
DWORD RoutingExtensionsCount;
|
||
|
PREG_DEVICE Devices;
|
||
|
DWORD DeviceCount;
|
||
|
PREG_DEVICE_CACHE DevicesCache;
|
||
|
DWORD DeviceCacheCount;
|
||
|
PREG_CATEGORY Logging;
|
||
|
DWORD LoggingCount;
|
||
|
|
||
|
} REG_FAX_SERVICE, *PREG_FAX_SERVICE;
|
||
|
|
||
|
typedef struct _REG_FAX_DEVICES {
|
||
|
|
||
|
DWORD DeviceCount;
|
||
|
PREG_DEVICE Devices;
|
||
|
|
||
|
} REG_FAX_DEVICES, *PREG_FAX_DEVICES;
|
||
|
|
||
|
typedef struct _REG_FAX_DEVICES_CACHE {
|
||
|
|
||
|
DWORD DeviceCount;
|
||
|
PREG_DEVICE_CACHE Devices;
|
||
|
|
||
|
} REG_FAX_DEVICES_CACHE, *PREG_FAX_DEVICES_CACHE;
|
||
|
|
||
|
typedef struct _REG_FAX_LOGGING {
|
||
|
|
||
|
DWORD LoggingCount;
|
||
|
PREG_CATEGORY Logging;
|
||
|
|
||
|
} REG_FAX_LOGGING, *PREG_FAX_LOGGING;
|
||
|
|
||
|
|
||
|
|
||
|
//
|
||
|
// function prototypes
|
||
|
//
|
||
|
|
||
|
PREG_FAX_SERVICE
|
||
|
GetFaxRegistry(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
FreeFaxRegistry(
|
||
|
PREG_FAX_SERVICE FaxReg
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
CreateFaxEventSource(
|
||
|
PREG_FAX_SERVICE FaxReg,
|
||
|
PFAX_LOG_CATEGORY DefaultCategories,
|
||
|
int DefaultCategoryCount
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
SetFaxRegistry(
|
||
|
PREG_FAX_SERVICE FaxReg
|
||
|
);
|
||
|
|
||
|
PREG_FAX_DEVICES
|
||
|
GetFaxDevicesRegistry(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
PREG_FAX_DEVICES_CACHE
|
||
|
GetFaxDevicesCacheRegistry(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
PREG_ROUTING_INFO
|
||
|
RegGetRoutingInfo(
|
||
|
DWORD PermanentLineID
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
FreeRegRoutingInfo(
|
||
|
PREG_ROUTING_INFO RoutingInfo
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
SetFaxRoutingInfo(
|
||
|
LPTSTR ExtensionName,
|
||
|
LPTSTR MethodName,
|
||
|
LPTSTR Guid,
|
||
|
DWORD Priority,
|
||
|
LPTSTR FunctionName,
|
||
|
LPTSTR FriendlyName
|
||
|
) ;
|
||
|
|
||
|
VOID
|
||
|
FreeFaxDevicesRegistry(
|
||
|
PREG_FAX_DEVICES FaxReg
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
FreeFaxDevicesCacheRegistry(
|
||
|
PREG_FAX_DEVICES_CACHE FaxReg
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
SetFaxDeviceFlags(
|
||
|
DWORD PermanentLineID,
|
||
|
DWORD Flags
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
DeleteFaxDevice(
|
||
|
DWORD PermanentLineID
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
DeleteCachedFaxDevice(
|
||
|
LPTSTR DeviceName
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
GetInstallationInfo(
|
||
|
LPDWORD Installed,
|
||
|
LPDWORD InstallType,
|
||
|
LPDWORD InstalledPlatforms,
|
||
|
LPDWORD ProductType
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
IsModemClass1(
|
||
|
LPSTR SubKey,
|
||
|
LPBOOL Class1Fax
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
SaveModemClass(
|
||
|
LPSTR SubKey,
|
||
|
BOOL Class1Fax
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
RegAddNewFaxDevice(
|
||
|
LPTSTR DeviceName,
|
||
|
LPTSTR ProviderName,
|
||
|
LPTSTR Csid,
|
||
|
LPTSTR Tsid,
|
||
|
DWORD Priority,
|
||
|
DWORD PermanentLineID,
|
||
|
DWORD Flags,
|
||
|
DWORD Rings,
|
||
|
LONG RoutingMask, // -1 means don't set routing
|
||
|
LPTSTR RoutePrinterName,
|
||
|
LPTSTR RouteDir,
|
||
|
LPTSTR RouteProfile
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
RegAddNewFaxDeviceCache(
|
||
|
LPTSTR DeviceName,
|
||
|
LPTSTR ProviderName,
|
||
|
LPTSTR Csid,
|
||
|
LPTSTR Tsid,
|
||
|
DWORD PermanentLineID,
|
||
|
DWORD Flags,
|
||
|
DWORD Rings,
|
||
|
DWORD RoutingMask,
|
||
|
LPTSTR RoutePrinterName,
|
||
|
LPTSTR RouteDir,
|
||
|
LPTSTR RouteProfile
|
||
|
) ;
|
||
|
|
||
|
BOOL
|
||
|
GetOrigSetupData(
|
||
|
PREG_SETUP RegSetup
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
FreeOrigSetupData(
|
||
|
PREG_SETUP RegSetup
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
SetFaxGlobalsRegistry(
|
||
|
PFAX_CONFIGURATION FaxConfig
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
GetLoggingCategoriesRegistry(
|
||
|
PREG_FAX_LOGGING FaxRegLogging
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
SetLoggingCategoriesRegistry(
|
||
|
PREG_FAX_LOGGING FaxRegLogging
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
SetFaxJobNumberRegistry(
|
||
|
DWORD NextJobNumber
|
||
|
);
|
||
|
|
||
|
#endif
|