|
|
/*++
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
|