Source code of Windows XP (NT5)
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.

591 lines
37 KiB

  1. /*++
  2. Copyright (c) 2000 Microsoft Corporation
  3. Module Name:
  4. faxreg.h
  5. Abstract:
  6. This file contains all fax registry strings and general constants.
  7. Author:
  8. Wesley Witt (wesw) 22-Jan-1996
  9. Revision History:
  10. --*/
  11. #ifndef _FAXREG_H_
  12. #define _FAXREG_H_
  13. #define FAX_PATH_SEPARATOR_STR TEXT("\\")
  14. #define FAX_PATH_SEPARATOR_CHR TEXT('\\')
  15. #define CP_SHORTCUT_EXT _T(".lnk")
  16. /*****************************************************************************
  17. ** **
  18. ** Global project definitions and constants **
  19. ** **
  20. *****************************************************************************/
  21. #define FAX_API_MODULE_NAME TEXT("FXSAPI.DLL") // Used by the print monitor and setup
  22. #define FAX_SERVICE_IMAGE_NAME TEXT("%systemroot%\\system32\\FXSSVC.EXE") // Used by the service
  23. #define FAX_WZRD_MODULE_NAME TEXT("FXSWZRD.DLL") // Used by setup
  24. #define FAX_TIFF_MODULE_NAME TEXT("FXSTIFF.DLL") // Used by setup
  25. #define FAX_DRV_MODULE_NAME TEXT("FXSDRV.DLL") // Used by setup
  26. #define FAX_DRV_WIN9X_32_MODULE_NAME TEXT("FXSDRV32.DLL")
  27. #define FAX_DRV_WIN9X_16_MODULE_NAME TEXT("FXSDRV16.DRV")
  28. #define FAX_DRV_UNIDRV_MODULE_NAME TEXT("UNIDRV.DLL")
  29. #define FAX_DRV_UNIDRV_HELP TEXT("UNIDRV.HLP")
  30. #define FAX_DRV_DEPEND_FILE TEXT("FXSWZRD.DLL")
  31. #define FAX_TIFF_FILE TEXT("FXSTIFF.DLL")
  32. #define FAX_RES_FILE TEXT("FXSRES.DLL")
  33. #define FAX_DRV_ICONLIB TEXT("ICONLIB.DLL")
  34. #define FAX_UI_MODULE_NAME TEXT("FXSUI.DLL") // Used by setup
  35. #define FAX_MONITOR_FILE TEXT("FXSMON.DLL") // Used by setup
  36. #define FAX_EVENT_MSG_FILE TEXT("%systemroot%\\system32\\fxsevent.dll")// Used by service\regsitry\faxreg.c: CreateFaxEventSource()
  37. #define FAX_MAIL_TRANSPORT_MODULE_NAME TEXT("FXSXP32.DLL") // Used by exchange\xport\faxxp.h
  38. #define FAX_POINT_PRINT_SETUP_DLL TEXT("FXSOCM.DLL") // Used by print\faxprint\faxui\prnevent.c
  39. #define FAX_SEND_IMAGE_NAME TEXT("fxssend.exe") // Used by the client console
  40. #define FAX_COVER_IMAGE_NAME TEXT("fxscover.exe") // Used by MMC and ClientConsole
  41. #define FAX_COVER_PAGE_EXT_LETTERS TEXT("cov") // Used by MMC, CoverPage editor, and ClientConsole
  42. #define FAX_COVER_PAGE_FILENAME_EXT TEXT(".") FAX_COVER_PAGE_EXT_LETTERS // Used by many
  43. #define FAX_COVER_PAGE_MASK TEXT("*") FAX_COVER_PAGE_FILENAME_EXT // Used by MMC, Outlook ext, and ClientConsole
  44. #define FAX_LNK_FILE_EXT TEXT("lnk") // Used by MAPI transport
  45. #define FAX_LNK_FILE_DOT_EXT TEXT(".") FAX_LNK_FILE_EXT // Used by MAPI transport
  46. #define FAX_LNK_FILE_MASK TEXT("*") FAX_LNK_FILE_DOT_EXT // Used by MAPI transport and Outlook ext.
  47. #define FAX_TIF_FILE_EXT TEXT("tif") // Used by the service
  48. #define FAX_TIF_FILE_DOT_EXT TEXT(".") FAX_TIF_FILE_EXT // Used by the service
  49. #define FAX_TIF_FILE_MASK TEXT("*") FAX_TIF_FILE_DOT_EXT // Used by the service
  50. #define FAX_TIFF_FILE_EXT TEXT("tiff") // Used by print monitor
  51. #define FAX_TIFF_FILE_DOT_EXT TEXT(".") FAX_TIFF_FILE_EXT // Used by print monitor
  52. #define FAX_TIFF_FILE_MASK TEXT("*") FAX_TIFF_FILE_DOT_EXT // Used by print monitor
  53. #define FAX_HTML_HELP_EXT TEXT("chm") // Used by the client console
  54. #define FAX_ADMIN_CONSOLE_IMAGE_NAME TEXT("fxsadmin.msc") // Used by configuration wizard and ClientConsole
  55. #define FAX_SERVICE_NAME TEXT("Fax") // Used by the service
  56. #define FAX_SERVICE_DISPLAY_NAME TEXT("Microsoft Fax Server Service") // Used by the service
  57. #define FAX_SERVICE_DISPLAY_NAME_W L"Microsoft Fax Server Service" // Used by the service
  58. #define FAX_PRINTER_NAME TEXT("Fax") // Used everywhere
  59. #define FAX_MONITOR_PORT_NAME TEXT("SHRFAX:") // Used by print monitor and setup
  60. #define FAX_PORT_NAME FAX_MONITOR_PORT_NAME // Used by print monitor and setup
  61. #define FAX_DRIVER_NAME TEXT("Microsoft Shared Fax Driver") // Used by print monitor and setup
  62. #define FAX_DRIVER_NAME_A "Microsoft Shared Fax Driver" // Used by print driver
  63. #define FAX_WIN2K_DRIVER_NAME TEXT("Windows NT Fax Driver") // Legacy - for routing extension snap-in
  64. #define FAX_MONITOR_NAME TEXT("Microsoft Shared Fax Monitor") // Used by print monitor and setup
  65. #define FAX_ADDRESS_TYPE_A "FAX" // Used by MAPI transport
  66. #define TRANSPORT_DISPLAY_NAME_STRING "Microsoft Fax Mail Transport" // Used by MAPI transport
  67. #define FAX_MESSAGE_SERVICE_NAME_W2K "MSFAX XP" // Used by MAPI transport
  68. #define FAX_MESSAGE_SERVICE_NAME_W9X "AWFAX" // Used by MAPI transport
  69. #define FAX_MESSAGE_SERVICE_NAME "MSFAX XP" // Used by MAPI transport
  70. #define FAX_MESSAGE_SERVICE_NAME_T TEXT(FAX_MESSAGE_SERVICE_NAME)
  71. #define FAX_MESSAGE_PROVIDER_NAME "MSFAX XPP" // Used by MAPI transport
  72. #define FAX_MESSAGE_PROVIDER_NAME_T TEXT(FAX_MESSAGE_PROVIDER_NAME)
  73. #define FAX_MESSAGE_SERVICE_NAME_SBS50 "SHAREDFAX XP"
  74. #define FAX_MESSAGE_SERVICE_NAME_SBS50_T TEXT(FAX_MESSAGE_SERVICE_NAME_SBS50)
  75. #define FAX_MESSAGE_PROVIDER_NAME_SBS50 "SHAREDFAX XPP"
  76. #define FAX_MESSAGE_PROVIDER_NAME_SBS50_T TEXT(FAX_MESSAGE_PROVIDER_NAME_SBS50)
  77. #define FAX_ROUTE_MODULE_NAME TEXT("FXSROUTE")
  78. #define FAX_T30_MODULE_NAME TEXT("FXST30")
  79. #define FAX_MESSAGE_SERVICE_PROVIDER_NAME "Microsoft Fax XPP" // Used by MAPI transport
  80. #define FAX_MESSAGE_SERVICE_PROVIDER_NAME_T TEXT(FAX_MESSAGE_SERVICE_PROVIDER_NAME) // Used by MAPI transport
  81. #define FAX_MESSAGE_TRANSPORT_IMAGE_NAME "FXSXP.DLL" // Used by setup - Translated to fxsXP32.DLL by MAPI
  82. #define FAX_MESSAGE_TRANSPORT_IMAGE_NAME_T TEXT(FAX_MESSAGE_TRANSPORT_IMAGE_NAME) // Used by setup - Translated to fxsXP32.DLL by MAPI
  83. #define FAX_RPC_ENDPOINTW L"SHAREDFAX" // Used by RPC - Same EndPoint as for BOS
  84. #define FAX_RPC_ENDPOINT TEXT("SHAREDFAX") // Used by RPC - Same EndPoint as for BOS
  85. #define FAX_CLIENT_CONSOLE_IMAGE_NAME TEXT("FXSCLNT.exe") // Used by MMC
  86. #define FAX_CONTEXT_HELP_FILE TEXT("FXSCLNT.hlp") // Used by ClientConsole
  87. #define FAX_CLIENT_HELP_FILE TEXT("FXSCLNT.chm") // Used by ClientConsole
  88. #define FAX_COVERPAGE_HELP_FILE TEXT("FXSCOVER.chm") // Used by the cover page editor
  89. #define FAX_ADMIN_HELP_FILE TEXT("FXSADMIN.chm") // Used by MMC
  90. #define FAX_CLIENTS_SHARE_NAME TEXT("FxsClients$") // Used by FxsUI.dll
  91. #define FAX_COVER_PAGES_SHARE_NAME TEXT("FxsSrvCp$") // Used by send wizard
  92. #define ADAPTIVE_ANSWER_SECTION TEXT("Adaptive Answer Modems") // Used by the service
  93. #define REGKEY_CLIENT_EXT TEXT("Software\\Microsoft\\Exchange\\Client\\Extensions") // Used by setup
  94. #define EXCHANGE_CLIENT_EXT_FILE "%windir%\\system32\\fxsext32.dll" // Used by setup
  95. #define FAX_FILENAME_FAXPERF_INI TEXT("FXSPERF.INI") // Used by setup
  96. #define USE_SERVER_DEVICE MAXDWORD // Used by the service - this line id value is reserved for internal use.
  97. #define SHARED_FAX_SERVICE_SETUP_LOG_FILE TEXT("XPFaxServiceSetupLog.txt")
  98. #define SERVICE_ALWAYS_RUNS TEXT("/AlwaysRun") // Command line parameter to service to disable idle-activity suicide
  99. #define SERVICE_DELAY_SUICIDE TEXT("/DelaySuicide") // Command line parameter to service to delay idle-activity suicide
  100. #define FAX_SERVER_EVENT_NAME TEXT("Global\\FaxSvcRPCStarted-1ed23866-f90b-4ec5-b77e-36e8709422b6") // Name of event that notifies service RPC is on.
  101. // This event should be "Global" (see terminal services and named kernel objects)
  102. #define FAX_MODEM_PROVIDER_NAME TEXT("Windows Telephony Service Provider for Universal Modem Driver")
  103. //
  104. // Install types
  105. //
  106. #define FAX_INSTALL_NETWORK_CLIENT 0x00000001 // Used by the coverpage editor
  107. #define FAX_INSTALL_SERVER 0x00000002 // Used by the coverpage editor
  108. #define FAX_INSTALL_WORKSTATION 0x00000004 // Used by the coverpage editor
  109. #define FAX_INSTALL_REMOTE_ADMIN 0x00000008 // Used by the coverpage editor
  110. //
  111. // Product types
  112. //
  113. #define PRODUCT_TYPE_WINNT 1 // Used by the utility library
  114. #define PRODUCT_TYPE_SERVER 2 // Used by the utility library
  115. //
  116. // Shared memory region name for faxui & faxxp32
  117. //
  118. #define FAX_ENVVAR_PRINT_FILE TEXT("MS_FAX_PRINTFILE")
  119. #define FAXXP_ATTACH_MUTEX_NAME TEXT("MS_FAXXP_ATTACHMENT_MUTEX")
  120. #define FAXXP_MEM_NAME TEXT("MS_FAXXP_ATTACHMENT_REGION")
  121. #define FAXXP_MEM_MUTEX_NAME TEXT("MS_FAXXP_ATTACHMENTREGION_MUTEX")
  122. #define FAXXP_ATTACH_END_DOC_EVENT TEXT("_END_DOC_EVENT") // Update FAXXP_ATTACH_EVENT_NAME_LEN if change
  123. #define FAXXP_ATTACH_ABORT_EVENT TEXT("_ABORT_EVENT") // Update FAXXP_ATTACH_EVENT_NAME_LEN if change
  124. #define FAXXP_ATTACH_EVENT_NAME_LEN (MAX_PATH+20)
  125. //
  126. // Fax dirs. These are hardcoded relative paths. We call into the shell to get the base path.
  127. //
  128. #define FAX_SHARE_DIR TEXT("Microsoft\\Windows NT\\MSFax")
  129. #define FAX_RECEIVE_DIR FAX_SHARE_DIR TEXT("\\FaxReceive") // Used by MS routing extension
  130. #define FAX_QUEUE_DIR FAX_SHARE_DIR TEXT("\\Queue") // Used by service
  131. #define FAX_PREVIEW_TMP_DIR TEXT("FxsTmp") // Created under %windir%\system32 with full access to everyone.
  132. // Used for mapping of preview file in W2K and NT4 if
  133. // Access to %windir%\system32 is denied for guest users.
  134. /*****************************************************************************
  135. ** **
  136. ** Registry keys, values, paths etc. **
  137. ** **
  138. *****************************************************************************/
  139. //
  140. // Fax Server Registry Root (relative to LOCAL_MACHINE or CURRENT_USER)
  141. //
  142. #define REGKEY_FAXSERVER_A "Software\\Microsoft\\Fax"
  143. #define REGKEY_FAXSERVER TEXT(REGKEY_FAXSERVER_A)
  144. #define REGKEY_CLIENT TEXT("Microsoft\\Fax")
  145. #define CLIENT_ARCHIVE_KEY TEXT("Archive")
  146. #define CLIENT_ARCHIVE_MSGS_PER_CALL TEXT("MessagesPerCall")
  147. #define CLIENT_INBOX_VIEW TEXT("InboxView")
  148. #define CLIENT_SENT_ITEMS_VIEW TEXT("SentItemsView")
  149. #define CLIENT_INCOMING_VIEW TEXT("IncomingView")
  150. #define CLIENT_OUTBOX_VIEW TEXT("OutboxView")
  151. #define CLIENT_COVER_PAGES_VIEW TEXT("CoverPagesView")
  152. #define CLIENT_VIEW_COLUMNS TEXT("Columns")
  153. #define CLIENT_VIEW_COL_WIDTH TEXT("Width")
  154. #define CLIENT_VIEW_COL_SHOW TEXT("Show")
  155. #define CLIENT_VIEW_COL_ORDER TEXT("Order")
  156. #define CLIENT_VIEW_SORT_ASCENDING TEXT("SortAscending")
  157. #define CLIENT_VIEW_SORT_COLUMN TEXT("SortColumn")
  158. #define CLIENT_MAIN_FRAME TEXT("MainFrame")
  159. #define CLIENT_MAXIMIZED TEXT("Maximized")
  160. #define CLIENT_NORMAL_POS_TOP TEXT("NormalPosTop")
  161. #define CLIENT_NORMAL_POS_RIGHT TEXT("NormalPosRight")
  162. #define CLIENT_NORMAL_POS_BOTTOM TEXT("NormalPosBottom")
  163. #define CLIENT_NORMAL_POS_LEFT TEXT("NormalPosLeft")
  164. #define CLIENT_SPLITTER_POS TEXT("SplitterPos")
  165. #define CLIENT_CONFIRM_SEC TEXT("Confirm")
  166. #define CLIENT_CONFIRM_ITEM_DEL TEXT("ItemDeletion")
  167. #define CLIENT_CONFIRM_PRN_REMOVE TEXT("FaxPrinterRemoval")
  168. //
  169. // Registry values stored under HKEY_CURRENT_USER
  170. //
  171. //
  172. // User information is stored under Fax\UserInfo subkey
  173. //
  174. #define REGVAL_FULLNAME TEXT("FullName")
  175. #define REGVAL_FAX_NUMBER TEXT("FaxNumber")
  176. #define REGVAL_MAILBOX TEXT("Mailbox")
  177. #define REGVAL_COMPANY TEXT("Company")
  178. #define REGVAL_TITLE TEXT("Title")
  179. #define REGVAL_ADDRESS TEXT("Address")
  180. #define REGVAL_CITY TEXT("City")
  181. #define REGVAL_STATE TEXT("State")
  182. #define REGVAL_ZIP TEXT("ZIP")
  183. #define REGVAL_COUNTRY TEXT("Country")
  184. #define REGVAL_DEPT TEXT("Department")
  185. #define REGVAL_OFFICE TEXT("Office")
  186. #define REGVAL_HOME_PHONE TEXT("HomePhone")
  187. #define REGVAL_OFFICE_PHONE TEXT("OfficePhone")
  188. #define REGVAL_BILLING_CODE TEXT("BillingCode")
  189. #define REGVAL_SEND_COVERPG TEXT("SendCoverPage")
  190. #define REGVAL_COVERPG TEXT("CoverPageFile")
  191. #define REGVAL_FAX_PRINTER TEXT("LastSelectedPrinter")
  192. #define REGVAL_LAST_COUNTRYID TEXT("LastCountryID")
  193. #define REGVAL_LAST_RECNAME TEXT("LastRecipientName")
  194. #define REGVAL_LAST_RECAREACODE TEXT("LastRecipientAreaCode")
  195. #define REGVAL_LAST_RECNUMBER TEXT("LastRecipientNumber")
  196. #define REGVAL_USE_DIALING_RULES TEXT("LastUseDialingRules")
  197. #define REGVAL_USE_OUTBOUND_ROUTING TEXT("LastUseOutboundRouting")
  198. #define REGVAL_STRESS_INDEX TEXT("LastStressPrinterIndex")
  199. #define REGVAL_RECEIPT_NO_RECEIPT TEXT("ReceiptNoRecipt")
  200. #define REGVAL_RECEIPT_GRP_PARENT TEXT("ReceiptGroupParent")
  201. #define REGVAL_RECEIPT_MSGBOX TEXT("ReceiptMessageBox")
  202. #define REGVAL_RECEIPT_EMAIL TEXT("ReceiptEMail")
  203. #define REGVAL_RECEIPT_ADDRESS TEXT("ReceiptAddress")
  204. #define REGVAL_RECEIPT_ATTACH_FAX TEXT("ReceiptAttachFax")
  205. //
  206. // Status UI configuration values
  207. //
  208. #define REGVAL_DEVICE_TO_MONITOR TEXT("DeviceToMonitor") // device ID for monitoring
  209. #define REGVAL_MONITOR_ON_SEND TEXT("MonitorOnSend")
  210. #define REGVAL_MONITOR_ON_RECEIVE TEXT("MonitorOnReceive")
  211. #define REGVAL_NOTIFY_PROGRESS TEXT("NotifyProgress")
  212. #define REGVAL_NOTIFY_IN_COMPLETE TEXT("NotifyIncomingCompletion")
  213. #define REGVAL_NOTIFY_OUT_COMPLETE TEXT("NotifyOutgoingCompletion")
  214. #define REGVAL_SOUND_ON_RING TEXT("SoundOnRing")
  215. #define REGVAL_SOUND_ON_RECEIVE TEXT("SoundOnReceive")
  216. #define REGVAL_SOUND_ON_SENT TEXT("SoundOnSent")
  217. #define REGVAL_SOUND_ON_ERROR TEXT("SoundOnError")
  218. #define REGVAL_ALWAYS_ON_TOP TEXT("AlwaysOnTop")
  219. #define REGVAL_TASKBAR TEXT("OnTaskBar")
  220. #define REGVAL_VISUAL_NOTIFICATION TEXT("VisualNotification")
  221. #define REGVAL_SOUND_NOTIFICATION TEXT("SoundNotification")
  222. #define REGVAL_ANSWER_NEXTCALL TEXT("AnswerNextCall")
  223. #define REGVAL_ENABLE_MANUAL_ANSWER TEXT("EnableManualAnswer")
  224. #define REGVAL_BALLOON_RECEIVE TEXT("ReceiveNotification")
  225. #define REGVAL_BALLOON_SENDERROR TEXT("SendErrorNotification")
  226. #define REGVAL_BALLOON_RINGING TEXT("RingingNotification")
  227. #define REGVAL_BALLOON_TIMEOUT TEXT("BalloonTimeOut")
  228. //
  229. // Fax status monitor and fax notification bar icon contants:
  230. //
  231. #define FAXSTAT_WINCLASS TEXT("FaxMonWinClass{3FD224BA-8556-47fb-B260-3E451BAE2793}") // Window class for fax notification bar messages
  232. #define FAX_SYS_TRAY_DLL TEXT("fxsst.dll") // Fax notification bar DLL (loaded by STObject.dll)
  233. #define IS_FAX_MSG_PROC "IsFaxMessage" // Fax message handler (used by GetProcAddress)
  234. typedef BOOL (*PIS_FAX_MSG_PROC)(PMSG); // IsFaxMessage type
  235. #define FAX_MONITOR_SHUTDOWN_PROC "FaxMonitorShutdown"// Fax monitor shutdown (used by GetProcAddress)
  236. typedef BOOL (*PFAX_MONITOR_SHUTDOWN_PROC)(); // FaxMonitorShutdown type
  237. #define WM_FAXSTAT_CONTROLPANEL (WM_USER + 201) // Fax notification bar configuration has changed
  238. #define WM_FAXSTAT_OPEN_MONITOR (WM_USER + 211) // User explicitly asks for fax status monitor
  239. #define WM_FAXSTAT_INBOX_VIEWED (WM_USER + 212) // Message viewed or deleted in the fax client console's inbox folder
  240. #define WM_FAXSTAT_OUTBOX_VIEWED (WM_USER + 213) // Message in error was restarted or deleted in the fax client console's outbox folder
  241. #define WM_FAXSTAT_RECEIVE_NOW (WM_USER + 214) // Start receiving now
  242. #define WM_FAXSTAT_PRINTER_PROPERTY (WM_USER + 215) // Open Fax Printer Property Sheet. WPARAM is an initiall page number
  243. //
  244. // Setup information is stored under Fax\Setup subkey
  245. //
  246. #define REGKEY_FAX_SETUP REGKEY_FAXSERVER TEXT("\\Setup")
  247. #define REGKEY_FAX_SETUP_SUBKEY TEXT("Setup")
  248. #define REGVAL_CP_EDITOR TEXT("CoverPageEditor")
  249. #define REGVAL_CP_LOCATION TEXT("CoverPageDir")
  250. #define REGVAL_FAX_PROFILE TEXT("FaxProfileName")
  251. #define REGVAL_FAXINSTALLED TEXT("Installed")
  252. #define REGVAL_DONT_UNATTEND_INSTALL TEXT("DenyUnattendInstall")
  253. #define REGVAL_FAXINSTALL_TYPE TEXT("InstallType")
  254. #define REGVAL_FAXINSTALLED_PLATFORMS TEXT("InstalledPlatforms")
  255. #define REGVAL_CFGWZRD_USER_INFO TEXT("CfgWzdrUserInfo")
  256. #define REGVAL_CPE_CONVERT TEXT("WereCpesConverted")
  257. #define REGVAL_CFGWZRD_DEVICE TEXT("CfgWzdrDevice")
  258. #define REGVAL_SERVER_CP_LOCATION TEXT("ServerCoverPageDir")
  259. #define REGVAL_IMPORT_INFO TEXT("ImportInfoDisplayed")
  260. #define REGVAL_INSTALLED_COMPONENTS TEXT("InstalledComponents")
  261. #define REGVAL_W2K_SENT_ITEMS TEXT("W2K_SentItems")
  262. #define REGVAL_W2K_INBOX TEXT("W2K_Inbox")
  263. #define DEFAULT_COVERPAGE_EDITOR FAX_COVER_IMAGE_NAME // Used by print\faxprint\lib\registry.c
  264. #define DEFAULT_COVERPAGE_DIR TEXT("%systemroot%\\Fax\\CoverPg")
  265. #define REGKEY_INSTALLLOCATION TEXT("Software\\Microsoft\\Windows NT\\CurrentVersion")
  266. #define REGVAL_SOURCEPATH TEXT("SourcePath")
  267. #define REGVAL_DEFAULT_TSID TEXT("Fax")
  268. #define REGVAL_DEFAULT_CSID TEXT("Fax")
  269. //
  270. // Per-user devmode information is stored under Fax\Devmode subkey
  271. //
  272. #define REGKEY_FAX_DEVMODE REGKEY_FAXSERVER TEXT("\\Devmode")
  273. //
  274. // Registry values stored under HKEY_LOCAL_MACHINE
  275. //
  276. //
  277. // Server registry values
  278. // stored under REGKEY_FAXSERVER
  279. //
  280. #define REGVAL_DBGLEVEL TEXT("DebugLevel")
  281. #define REGVAL_DBGLEVEL_EX TEXT("DebugLevelEx")
  282. #define REGVAL_DBGFORMAT_EX TEXT("DebugFormatEx")
  283. #define REGVAL_DBGCONTEXT_EX TEXT("DebugContextEx")
  284. #define REGVAL_DBG_SKU TEXT("DebugSKU")
  285. #define FAX_SVC_EVENT TEXT("Microsoft Fax")
  286. #define REGKEY_EVENTLOG TEXT("SYSTEM\\CurrentControlSet\\Services\\EventLog\\Application\\") FAX_SVC_EVENT
  287. #define REGVAL_EVENTMSGFILE TEXT("EventMessageFile")
  288. #define REGVAL_CATEGORYMSGFILE TEXT("CategoryMessageFile")
  289. #define REGVAL_CATEGORYCOUNT TEXT("CategoryCount")
  290. #define REGVAL_TYPESSUPPORTED TEXT("TypesSupported")
  291. #define REGKEY_SOFTWARE REGKEY_FAXSERVER
  292. #define REGVAL_RETRIES TEXT("Retries")
  293. #define REGVAL_RETRYDELAY TEXT("Retry Delay")
  294. #define REGVAL_MANUAL_ANSWER_DEVICE TEXT("ManualAnswerDevice")
  295. #define REGVAL_DIRTYDAYS TEXT("Dirty Days")
  296. #define REGVAL_BRANDING TEXT("Branding")
  297. #define REGVAL_USE_DEVICE_TSID TEXT("UseDeviceTsid")
  298. #define REGVAL_SERVERCP TEXT("ServerCoverPageOnly")
  299. #define REGVAL_STARTCHEAP TEXT("StartCheapTime")
  300. #define REGVAL_STOPCHEAP TEXT("StopCheapTime")
  301. #define REGVAL_QUEUE_STATE TEXT("QueueState")
  302. #define REGVAL_JOB_NUMBER TEXT("NextJobNumber")
  303. #define REGVAL_SCANNER_SUPPORT TEXT("ScannerSupport")
  304. #define REGVAL_MISSING_DEVICE_LIFETIME TEXT("MissingDeviceLifetime")
  305. #define REGVAL_MAX_LINE_CLOSE_TIME TEXT("MaxLineCloseTime")
  306. //
  307. // 31 days * 24 hours * 60 minutes * 60 seconds * 1000000 microseconds * 10 (100 ns is one unit)
  308. //
  309. #define DEFAULT_REGVAL_MISSING_DEVICE_LIFETIME 26784000000000
  310. #define DEFAULT_REGVAL_RETRIES 3
  311. #define DEFAULT_REGVAL_RETRYDELAY 10
  312. #define DEFAULT_REGVAL_DIRTYDAYS 30
  313. #define DEFAULT_REGVAL_BRANDING 1
  314. #define DEFAULT_REGVAL_USEDEVICETSID 1
  315. #define DEFAULT_REGVAL_SERVERCP 0
  316. #define DEFAULT_REGVAL_STARTCHEAP MAKELONG(20,0)
  317. #define DEFAULT_REGVAL_STOPCHEAP MAKELONG(7,0)
  318. #define DEFAULT_REGVAL_QUEUE_STATE 0
  319. #define DEFAULT_REGVAL_JOB_NUMBER 1
  320. #define REGKEY_DEVICE_PROVIDERS TEXT("Device Providers")
  321. #define REGVAL_FRIENDLY_NAME TEXT("FriendlyName")
  322. #define REGVAL_IMAGE_NAME TEXT("ImageName")
  323. #define REGVAL_PROVIDER_NAME TEXT("ProviderName")
  324. #define REGVAL_PROVIDER_CAPABILITIES TEXT("Capabilities")
  325. #define REGVAL_PROVIDER_GUID TEXT("GUID")
  326. #define REGVAL_PROVIDER_API_VERSION TEXT("APIVersion")
  327. //
  328. // The following value is an incremental prefix for device ids assigned to FSPs
  329. //
  330. #define REGVAL_PROVIDER_DEVICE_ID_PREFIX TEXT("DeviceIdPerfix")
  331. //
  332. // The following value is the base device id assigned to FSPs
  333. //
  334. #define DEFAULT_REGVAL_PROVIDER_DEVICE_ID_PREFIX_BASE DWORD(0x20000)
  335. //
  336. // The following value is the base for our internal unique fax ids
  337. //
  338. #define DEFAULT_REGVAL_FAX_UNIQUE_DEVICE_ID_BASE DWORD(0x10000)
  339. //
  340. // The following value is the increase step of device id assigned to FSPs
  341. //
  342. #define DEFAULT_REGVAL_PROVIDER_DEVICE_ID_PREFIX_STEP DWORD(0x10000)
  343. //
  344. // How device ids are allocated:
  345. // -----------------------------
  346. // Fax unique devices (allocated by the server), VFSP devices, and EVFSP devices all share
  347. // the same device id space (32-bit = 4GB of ids).
  348. //
  349. // Notice: TAPI permanent line ids (used by FSPs / EFSPs) are not in this space.
  350. //
  351. // Range [1 ... DEFAULT_REGVAL_FAX_UNIQUE_DEVICE_ID_BASE-1] : Reserved for VFSPs.
  352. // Since we cannot dictate the range of device ids the VFSPS use, we allocate a space for them
  353. // and leave segments allocation to a PM effort here.
  354. //
  355. // Range [DEFAULT_REGVAL_FAX_UNIQUE_DEVICE_ID_BASE ... DEFAULT_REGVAL_PROVIDER_DEVICE_ID_PREFIX_BASE-1] :
  356. // Used by the fax server for the unique device ids of TAPI devices discovered by the server.
  357. //
  358. // Range [DEFAULT_REGVAL_PROVIDER_DEVICE_ID_PREFIX_BASE ... MAXDWORD] : Used for VEFSPs.
  359. // Luckily, we can tell VEFSPs the base of the ids they give their devices.
  360. // It is the server's responsibility to segment this range for each VEFSP.
  361. // The size of each segment is DEFAULT_REGVAL_PROVIDER_DEVICE_ID_PREFIX_STEP.
  362. //
  363. #define REGKEY_RECEIPTS_CONFIG TEXT("Receipts") // Key of receipts configuration
  364. #define REGVAL_RECEIPTS_TYPE TEXT("Type") // Receipts supported
  365. #define REGVAL_RECEIPTS_SERVER TEXT("Server") // SMTP Server's name
  366. #define REGVAL_RECEIPTS_PORT TEXT("Port") // SMTP Server's port
  367. #define REGVAL_RECEIPTS_FROM TEXT("From") // SMTP sender address
  368. #define REGVAL_RECEIPTS_USER TEXT("User") // SMTP user name
  369. #define REGVAL_RECEIPTS_PASSWORD TEXT("Password") // SMTP password
  370. #define REGVAL_RECEIPTS_SMTP_AUTH_TYPE TEXT("SMTPAuth") // SMTP authentication type
  371. #define REGVAL_ISFOR_MSROUTE TEXT("UseForMsRoute") // TRUE if to use for MS route through e-mail method
  372. #define DEFAULT_REGVAL_SMTP_PORT 25 // Default SMTP port number
  373. #define REGKEY_ARCHIVE_SENTITEMS_CONFIG TEXT("SentItems")// Key of SentItems archive configuration
  374. #define REGKEY_ARCHIVE_INBOX_CONFIG TEXT("Inbox") // Key of Inbox archive configuration
  375. #define REGVAL_ARCHIVE_USE TEXT("Use") // Archive?
  376. #define REGVAL_ARCHIVE_FOLDER TEXT("Folder") // Archive location
  377. #define REGVAL_ARCHIVE_SIZE_QUOTA_WARNING TEXT("SizeQuotaWarn") // Warn on size excess?
  378. #define REGVAL_ARCHIVE_HIGH_WATERMARK TEXT("HighWatermark") // Warning high watermark
  379. #define REGVAL_ARCHIVE_LOW_WATERMARK TEXT("LowWatermark") // Warning low watermark
  380. #define REGVAL_ARCHIVE_AGE_LIMIT TEXT("AgeLimit") // Archive age limit
  381. #define DEFAULT_REGVAL_ARCHIVE_USE 0 // Don't use archive by default
  382. #define DEFAULT_REGVAL_ARCHIVE_FOLDER TEXT("") // Default location of archive
  383. #define DEFAULT_REGVAL_SIZE_QUOTA_WARNING 1 // Warn on size by default
  384. #define DEFAULT_REGVAL_HIGH_WATERMARK 100 // High watermark default
  385. #define DEFAULT_REGVAL_LOW_WATERMARK 95 // Low watermark default
  386. #define DEFAULT_REGVAL_AGE_LIMIT 60 // Default archive age limit
  387. #define REGKEY_ACTIVITY_LOG_CONFIG TEXT("ActivityLogging") // Key of Activity Logging configuration
  388. #define REGVAL_ACTIVITY_LOG_DB TEXT("DBFile") // Database file
  389. #define REGVAL_ACTIVITY_LOG_IN TEXT("LogIncoming") // Log incoming faxes?
  390. #define REGVAL_ACTIVITY_LOG_OUT TEXT("LogOutgoing") // Log outgoing faxes?
  391. #define REGKEY_OUTBOUND_ROUTING TEXT("Outbound Routing") // Outbound routing key
  392. #define REGKEY_OUTBOUND_ROUTING_GROUPS TEXT("Groups") // Outbound routing groups key
  393. #define REGVAL_ROUTING_GROUP_DEVICES TEXT("Devices") // List of all group's devices
  394. #define REGKEY_OUTBOUND_ROUTING_RULES TEXT("Rules") // Outbound routing rules key
  395. #define REGVAL_ROUTING_RULE_COUNTRY_CODE TEXT("CountryCode") // Outbound routing rule country code
  396. #define REGVAL_ROUTING_RULE_AREA_CODE TEXT("AreaCode") // Outbound routing rule area code
  397. #define REGVAL_ROUTING_RULE_GROUP_NAME TEXT("GroupName") // Outbound routing rule dest group name
  398. #define REGVAL_ROUTING_RULE_DEVICE_ID TEXT("DeviceID") // Outbound routing rule dest device ID
  399. #define REGVAL_ROUTING_RULE_USE_GROUP TEXT("UseGroup") // Flag inidicating to use group destination
  400. #define REGKEY_ROUTING_EXTENSIONS TEXT("Routing Extensions")
  401. #define REGKEY_ROUTING_METHODS TEXT("Routing Methods")
  402. #define REGVAL_FUNCTION_NAME TEXT("Function Name")
  403. #define REGVAL_GUID TEXT("Guid")
  404. #define REGVAL_ROUTING_PRIORITY TEXT("Priority")
  405. #define REGKEY_UNASSOC_EXTENSION_DATA TEXT("UnassociatedExtensionData")
  406. #define REGKEY_DEVICES TEXT("Devices")
  407. #define REGKEY_FAXSVC_DEVICE_GUID TEXT("{F10A5326-0261-4715-B367-2970427BBD99}")
  408. #define REGVAL_DEVICE_NAME TEXT("Device Name")
  409. #define REGVAL_PROVIDER TEXT("Provider Name")
  410. #define REGVAL_PERMANENT_LINEID TEXT("Permanent Lineid")
  411. #define REGVAL_TAPI_PERMANENT_LINEID TEXT("TAPI Permanent Lineid")
  412. #define REGVAL_FLAGS TEXT("Flags")
  413. #define REGVAL_RINGS TEXT("Rings")
  414. #define REGVAL_ROUTING_CSID TEXT("CSID")
  415. #define REGVAL_ROUTING_TSID TEXT("TSID")
  416. #define REGVAL_DEVICE_DESCRIPTION TEXT("Description")
  417. #define REGVAL_LAST_DETECTED_TIME TEXT("LastDetected")
  418. #define REGVAL_MANUAL_ANSWER TEXT("ManualAnswer")
  419. #define REGVAL_LAST_UNIQUE_LINE_ID TEXT("LastUniqueLineId")
  420. #define REGKEY_LOGGING TEXT("Logging")
  421. #define REGVAL_CATEGORY_NAME TEXT("Name")
  422. #define REGVAL_CATEGORY_LEVEL TEXT("Level")
  423. #define REGVAL_CATEGORY_NUMBER TEXT("Number")
  424. #define REGKEY_DEVICES_CACHE TEXT("Devices Cache")
  425. #define REGKEY_TAPI_DATA TEXT("TAPI Data")
  426. #define REGKEY_FAX_LOGGING REGKEY_FAXSERVER TEXT("\\Logging")
  427. #define REGKEY_FAX_INBOX REGKEY_FAXSERVER TEXT("\\Inbox")
  428. #define REGKEY_FAX_SENTITEMS REGKEY_FAXSERVER TEXT("\\SentItems")
  429. #define REGKEY_FAX_DEVICES REGKEY_FAXSERVER TEXT("\\Devices")
  430. #define REGKEY_FAX_DEVICES_CACHE REGKEY_FAXSERVER TEXT("\\Devices Cache")
  431. #define REGKEY_TAPIDEVICES REGKEY_FAXSERVER TEXT("\\TAPIDevices")
  432. #define REGKEY_DEVICE_PROVIDER_KEY REGKEY_FAXSERVER TEXT("\\Device Providers")
  433. #define REGKEY_ROUTING_EXTENSION_KEY REGKEY_FAXSERVER TEXT("\\Routing Extensions")
  434. #define REGKEY_USERINFO REGKEY_FAXSERVER TEXT("\\UserInfo")
  435. #define REGKEY_FAX_USERINFO REGKEY_USERINFO
  436. #define REGKEY_FAX_OUTBOUND_ROUTING REGKEY_FAXSERVER TEXT("\\Outbound Routing")
  437. #define REGKEY_FAX_OUTBOUND_ROUTING_GROUPS REGKEY_FAX_OUTBOUND_ROUTING TEXT("\\Groups")
  438. #define REGKEY_FAX_OUTBOUND_ROUTING_RULES REGKEY_FAX_OUTBOUND_ROUTING TEXT("\\Rules")
  439. #define REGKEY_FAX_SETUP_ORIG REGKEY_FAXSERVER TEXT("\\Setup\\Original Setup Data")
  440. //
  441. // device provider reg values
  442. //
  443. #define REGKEY_MODEM_PROVIDER TEXT("Microsoft Modem Device Provider")
  444. #define REGVAL_T30_PROVIDER_GUID_STRING TEXT("{2172FD8F-11F6-11d3-90BF-006094EB630B}")
  445. //
  446. // MSFT standard routing methods
  447. //
  448. #define REGKEY_ROUTING_METHOD_EMAIL TEXT("Email")
  449. #define REGVAL_RM_EMAIL_GUID TEXT("{6bbf7bfe-9af2-11d0-abf7-00c04fd91a4e}")
  450. #define REGKEY_ROUTING_METHOD_FOLDER TEXT("Folder")
  451. #define REGVAL_RM_FOLDER_GUID TEXT("{92041a90-9af2-11d0-abf7-00c04fd91a4e}")
  452. #define REGKEY_ROUTING_METHOD_PRINTING TEXT("Printing")
  453. #define REGVAL_RM_PRINTING_GUID TEXT("{aec1b37c-9af2-11d0-abf7-00c04fd91a4e}")
  454. //
  455. // GUID of routing methods usage flags - used by the Microsoft Fax Routing Extension DLL:
  456. //
  457. #define REGVAL_RM_FLAGS_GUID TEXT("{aacc65ec-0091-40d6-a6f3-a2ed6057e1fa}")
  458. //
  459. // Routing mask bits
  460. //
  461. #define LR_PRINT 0x00000001
  462. #define LR_STORE 0x00000002
  463. #define LR_INBOX 0x00000004
  464. #define LR_EMAIL 0x00000008
  465. //
  466. // Routing extension reg values
  467. //
  468. #define REGKEY_ROUTING_EXTENSION TEXT("Microsoft Routing Extension")
  469. //
  470. // Performance key/values
  471. //
  472. #define REGKEY_FAXPERF TEXT("SYSTEM\\CurrentControlSet\\Services\\") FAX_SERVICE_NAME TEXT("\\Performance")
  473. #define REGVAL_OPEN TEXT("Open")
  474. #define REGVAL_OPEN_DATA TEXT("OpenFaxPerformanceData")
  475. #define REGVAL_CLOSE TEXT("Close")
  476. #define REGVAL_CLOSE_DATA TEXT("CloseFaxPerformanceData")
  477. #define REGVAL_COLLECT TEXT("Collect")
  478. #define REGVAL_COLLECT_DATA TEXT("CollectFaxPerformanceData")
  479. #define REGVAL_LIBRARY TEXT("Library")
  480. #define REGVAL_LIBRARY_DATA TEXT("%systemroot%\\system32\\fxsperf.dll")
  481. //
  482. // Security descriptors
  483. //
  484. #define REGKEY_FAX_SECURITY REGKEY_FAXSERVER TEXT("\\Security")
  485. #define REGVAL_DESCRIPTOR TEXT("Descriptor")
  486. //
  487. // AppEvents
  488. //
  489. #define REGKEY_FAXSTAT TEXT("AppEvents\\Schemes\\Apps\\systray")
  490. #define REGKEY_EVENT_LABEL_IN TEXT("AppEvents\\EventLabels\\Incoming-Fax")
  491. #define REGKEY_SCHEMES_DEFAULT_IN TEXT("AppEvents\\Schemes\\Apps\\systray\\Incoming-Fax\\.Default")
  492. #define REGKEY_SCHEMES_CURRENT_IN TEXT("AppEvents\\Schemes\\Apps\\systray\\Incoming-Fax\\.Current")
  493. #define REGKEY_EVENT_LABEL_OUT TEXT("AppEvents\\EventLabels\\Outgoing-Fax")
  494. #define REGKEY_SCHEMES_DEFAULT_OUT TEXT("AppEvents\\Schemes\\Apps\\systray\\Outgoing-Fax\\.Default")
  495. #define REGKEY_SCHEMES_CURRENT_OUT TEXT("AppEvents\\Schemes\\Apps\\systray\\Outgoing-Fax\\.Current")
  496. //
  497. // default mail client
  498. //
  499. #define REGKEY_MAIL_CLIENT TEXT("SOFTWARE\\Clients\\Mail")
  500. #define REGVAL_MS_OUTLOOK TEXT("Microsoft Outlook")
  501. //
  502. // Combined translated strings from the wizard to the service
  503. // Format is "{0cd77475-c87d-4921-86cf-84d502714666}TRANSLATED<dialable string>{11d0ecca-4072-4c7b-9af1-541d9778375f}<displayable string>"
  504. //
  505. #define COMBINED_PREFIX TEXT("{0cd77475-c87d-4921-86cf-84d502714666}TRANSLATED")
  506. #define COMBINED_SUFFIX TEXT("{11d0ecca-4072-4c7b-9af1-541d9778375f}")
  507. #define COMBINED_TRANSLATED_STRING_FORMAT COMBINED_PREFIX TEXT("%s") COMBINED_SUFFIX TEXT("%s")
  508. #define COMBINED_TRANSLATED_STRING_EXTRA_LEN (_tcslen(COMBINED_TRANSLATED_STRING_FORMAT) - 4)
  509. //
  510. // These prefixes are used by all temp preview TIFF files (generated by the client console and the fax send wizard)
  511. //
  512. #define CONSOLE_PREVIEW_TIFF_PREFIX TEXT("MSFaxConsoleTempPreview-#")
  513. #define WIZARD_PREVIEW_TIFF_PREFIX TEXT("MSFaxWizardTempPreview-#")
  514. #define FAX_ADDERSS_VALID_CHARACTERS TEXT("0123456789 -|^!#$*,?@ABCbcdDPTWdptw")
  515. //
  516. // Client console command line parameters.
  517. // All parameters are case insensitive.
  518. //
  519. #define CONSOLE_CMD_FLAG_STR_FOLDER TEXT("folder") // Sets initial startup folder. Usage: "fxsclnt.exe /folder <folder>"
  520. #define CONSOLE_CMD_PRM_STR_OUTBOX TEXT("outbox") // Outbox startup folder. Usage: "fxsclnt.exe /folder outbox"
  521. #define CONSOLE_CMD_PRM_STR_INCOMING TEXT("incoming") // Incoming startup folder. Usage: "fxsclnt.exe /folder incoming"
  522. #define CONSOLE_CMD_PRM_STR_INBOX TEXT("inbox") // Inbox startup folder. Usage: "fxsclnt.exe /folder inbox". This is the default
  523. #define CONSOLE_CMD_PRM_STR_SENT_ITEMS TEXT("sent_items") // sent items startup folder. Usage: "fxsclnt.exe /folder sent_items"
  524. #define CONSOLE_CMD_FLAG_STR_MESSAGE_ID TEXT("MessageId") // Select a message in the startup folder. Usage: "fxsclnt.exe /MessageId 0x0201c0d62f36ec0b"
  525. #define CONSOLE_CMD_FLAG_STR_NEW TEXT("New") // Force a new instance. Usage: "fxsclnt.exe /new"
  526. #endif // !_FAXREG_H_