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.

648 lines
40 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_A "FXSAPI.DLL" // Used by the print monitor and setup
  22. #define FAX_API_MODULE_NAME TEXT("FXSAPI.DLL") // Used by the print monitor and setup
  23. #define FAX_SERVICE_EXE_NAME TEXT("FXSSVC.EXE") // Used by utility functions
  24. #define FAX_SERVICE_IMAGE_NAME TEXT("%systemroot%\\system32\\")) FAX_SERVICE_EXE_NAME // Used by the service
  25. #define FAX_WZRD_MODULE_NAME TEXT("FXSWZRD.DLL") // Used by setup
  26. #define FAX_TIFF_MODULE_NAME_A "FXSTIFF.DLL"
  27. #define FAX_TIFF_MODULE_NAME TEXT("FXSTIFF.DLL") // Used by setup
  28. #define FAX_DRV_MODULE_NAME TEXT("FXSDRV.DLL") // Used by setup
  29. #define FAX_DRV_WIN9X_32_MODULE_NAME TEXT("FXSDRV32.DLL")
  30. #define FAX_DRV_WIN9X_16_MODULE_NAME TEXT("FXSDRV16.DRV")
  31. #define FAX_NT4_DRV_MODULE_NAME TEXT("FXSDRV4.DLL")
  32. #define FAX_DRV_UNIDRV_MODULE_NAME TEXT("UNIDRV.DLL")
  33. #define FAX_DRV_UNIDRV_HELP TEXT("UNIDRV.HLP")
  34. #define FAX_DRV_DEPEND_FILE TEXT("FXSWZRD.DLL")
  35. #define FAX_TIFF_FILE TEXT("FXSTIFF.DLL")
  36. #define FAX_RES_FILE TEXT("FXSRES.DLL")
  37. #define FAX_DRV_ICONLIB TEXT("ICONLIB.DLL")
  38. #define FAX_UI_MODULE_NAME TEXT("FXSUI.DLL") // Used by setup
  39. #define FAX_MONITOR_FILE TEXT("FXSMON.DLL") // Used by setup
  40. #define FAX_EVENT_MSG_FILE TEXT("%systemroot%\\system32\\fxsevent.dll")// Used by service\regsitry\faxreg.c: CreateFaxEventSource()
  41. #define FAX_MAIL_TRANSPORT_MODULE_NAME TEXT("FXSXP32.DLL") // Used by exchange\xport\faxxp.h
  42. #define FAX_SETUP_DLL TEXT("FXSOCM.DLL") // Used by setup
  43. #define FAX_SETUP_DLL_PATH TEXT("\\setup\\") FAX_SETUP_DLL // Used by setup
  44. #define FAX_SEND_IMAGE_NAME TEXT("fxssend.exe") // Used by the client console
  45. #define FAX_COVER_IMAGE_NAME TEXT("fxscover.exe") // Used by MMC and ClientConsole
  46. #define FAX_COVER_PAGE_EXT_LETTERS TEXT("cov") // Used by MMC, CoverPage editor, and ClientConsole
  47. #define FAX_COVER_PAGE_FILENAME_EXT TEXT(".") FAX_COVER_PAGE_EXT_LETTERS // Used by many
  48. #define FAX_COVER_PAGE_MASK TEXT("*") FAX_COVER_PAGE_FILENAME_EXT // Used by MMC, Outlook ext, and ClientConsole
  49. #define FAX_TIF_FILE_EXT TEXT("tif") // Used by the service
  50. #define FAX_TIF_FILE_DOT_EXT TEXT(".") FAX_TIF_FILE_EXT // Used by the service
  51. #define FAX_TIF_FILE_MASK TEXT("*") FAX_TIF_FILE_DOT_EXT // Used by the service
  52. #define FAX_TIFF_FILE_EXT TEXT("tiff") // Used by print monitor
  53. #define FAX_TIFF_FILE_DOT_EXT TEXT(".") FAX_TIFF_FILE_EXT // Used by print monitor
  54. #define FAX_TIFF_FILE_MASK TEXT("*") FAX_TIFF_FILE_DOT_EXT // Used by print monitor
  55. #define FAX_HTML_HELP_EXT TEXT("chm") // Used by the client console
  56. #define FAX_ADMIN_CONSOLE_IMAGE_NAME TEXT("fxsadmin.msc") // Used by configuration wizard and ClientConsole
  57. #define FAX_SERVICE_NAME TEXT("Fax") // Used by the service
  58. #define MESSENGER_SERVICE_NAME TEXT("Messenger") // Name of the messenger service.
  59. #define FAX_SERVICE_DISPLAY_NAME TEXT("Microsoft Fax Server Service") // Used by the service
  60. #define FAX_SERVICE_DISPLAY_NAME_W L"Microsoft Fax Server Service" // Used by the service
  61. #define FAX_PRINTER_NAME TEXT("Fax") // Used everywhere
  62. #define FAX_MONITOR_PORT_NAME TEXT("SHRFAX:") // Used by print monitor and setup
  63. #define FAX_PORT_NAME FAX_MONITOR_PORT_NAME // Used by print monitor and setup
  64. #define FAX_DRIVER_NAME TEXT("Microsoft Shared Fax Driver") // Used by print monitor and setup
  65. #define FAX_DRIVER_NAME_A "Microsoft Shared Fax Driver" // Used by print driver
  66. #define FAX_WIN2K_DRIVER_NAME TEXT("Windows NT Fax Driver") // Legacy - for routing extension snap-in
  67. #define FAX_MONITOR_NAME TEXT("Microsoft Shared Fax Monitor") // Used by print monitor and setup
  68. #define FAX_ADDRESS_TYPE_A "FAX" // Used by MAPI transport
  69. #define TRANSPORT_DISPLAY_NAME_STRING "Microsoft Fax Mail Transport" // Used by MAPI transport
  70. #define FAX_MESSAGE_SERVICE_NAME_W2K "MSFAX XP" // Used by MAPI transport
  71. #define FAX_MESSAGE_SERVICE_NAME_W9X "AWFAX" // Used by MAPI transport
  72. #define FAX_MESSAGE_SERVICE_NAME "MSFAX XP" // Used by MAPI transport
  73. #define FAX_MESSAGE_SERVICE_NAME_T TEXT(FAX_MESSAGE_SERVICE_NAME)
  74. #define FAX_MESSAGE_PROVIDER_NAME "MSFAX XPP" // Used by MAPI transport
  75. #define FAX_MESSAGE_PROVIDER_NAME_T TEXT(FAX_MESSAGE_PROVIDER_NAME)
  76. #define FAX_MESSAGE_SERVICE_NAME_SBS50 "SHAREDFAX XP"
  77. #define FAX_MESSAGE_SERVICE_NAME_SBS50_T TEXT(FAX_MESSAGE_SERVICE_NAME_SBS50)
  78. #define FAX_MESSAGE_PROVIDER_NAME_SBS50 "SHAREDFAX XPP"
  79. #define FAX_MESSAGE_PROVIDER_NAME_SBS50_T TEXT(FAX_MESSAGE_PROVIDER_NAME_SBS50)
  80. #define FAX_ROUTE_MODULE_NAME TEXT("FXSROUTE")
  81. #define FAX_T30_MODULE_NAME TEXT("FXST30")
  82. #define FAX_MESSAGE_SERVICE_PROVIDER_NAME "Microsoft Fax XPP" // Used by MAPI transport
  83. #define FAX_MESSAGE_SERVICE_PROVIDER_NAME_T TEXT(FAX_MESSAGE_SERVICE_PROVIDER_NAME) // Used by MAPI transport
  84. #define FAX_MESSAGE_TRANSPORT_IMAGE_NAME "FXSXP.DLL" // Used by setup - Translated to fxsXP32.DLL by MAPI
  85. #define FAX_MESSAGE_TRANSPORT_IMAGE_NAME_T TEXT(FAX_MESSAGE_TRANSPORT_IMAGE_NAME) // Used by setup - Translated to fxsXP32.DLL by MAPI
  86. #define FAX_RPC_ENDPOINTW L"SHAREDFAX" // Used by RPC - Same EndPoint as for BOS
  87. #define FAX_RPC_ENDPOINT TEXT("SHAREDFAX") // Used by RPC - Same EndPoint as for BOS
  88. #define FAX_CLIENT_CONSOLE_IMAGE_NAME TEXT("FXSCLNT.exe") // Used by MMC
  89. #define FAX_CONSOLE_RESOURCE_DLL TEXT("FXSCLNTR.dll") // Fax Console resource DLL
  90. #define FAX_CONTEXT_HELP_FILE TEXT("FXSCLNT.hlp") // Used by ClientConsole
  91. #define FAX_CLIENT_HELP_FILE TEXT("FXSCLNT.chm") // Used by ClientConsole
  92. #define FAX_COVERPAGE_HELP_FILE TEXT("FXSCOVER.chm") // Used by the cover page editor
  93. #define FAX_ADMIN_HELP_FILE TEXT("FXSADMIN.chm") // Used by MMC
  94. #define FAX_CLIENTS_SHARE_NAME TEXT("FxsClients$") // Used by FxsUI.dll
  95. #define FAX_COVER_PAGES_SHARE_NAME TEXT("FxsSrvCp$") // Used by send wizard
  96. #define ADAPTIVE_ANSWER_SECTION TEXT("Adaptive Answer Modems") // Used by the service
  97. #define REGKEY_CLIENT_EXT TEXT("Software\\Microsoft\\Exchange\\Client\\Extensions") // Used by setup
  98. #define EXCHANGE_CLIENT_EXT_FILE "%windir%\\system32\\fxsext32.dll" // Used by setup
  99. #define FAX_FILENAME_FAXPERF_INI TEXT("\\FXSPERF.INI") // Used by setup
  100. #define USE_SERVER_DEVICE MAXDWORD // Used by the service - this line id value is reserved for internal use.
  101. #define SHARED_FAX_SERVICE_SETUP_LOG_FILE TEXT("XPFaxServiceSetupLog.txt")
  102. #define SERVICE_ALWAYS_RUNS TEXT("/AlwaysRun") // Command line parameter to service to disable idle-activity suicide
  103. #define SERVICE_DELAY_SUICIDE TEXT("/DelaySuicide") // Command line parameter to service to delay idle-activity suicide
  104. // This event should be "Global" (see terminal services and named kernel objects)
  105. #define FAX_MODEM_PROVIDER_NAME TEXT("Windows Telephony Service Provider for Universal Modem Driver")
  106. //
  107. // Install types
  108. //
  109. #define FAX_INSTALL_NETWORK_CLIENT 0x00000001 // Used by the coverpage editor
  110. #define FAX_INSTALL_SERVER 0x00000002 // Used by the coverpage editor
  111. #define FAX_INSTALL_WORKSTATION 0x00000004 // Used by the coverpage editor
  112. #define FAX_INSTALL_REMOTE_ADMIN 0x00000008 // Used by the coverpage editor
  113. //
  114. // Product types
  115. //
  116. #define PRODUCT_TYPE_WINNT 1 // Used by the utility library
  117. #define PRODUCT_TYPE_SERVER 2 // Used by the utility library
  118. //
  119. // Shared memory region name for faxui & faxxp32
  120. //
  121. #define FAX_ENVVAR_PRINT_FILE TEXT("MS_FAX_PRINTFILE")
  122. #define FAXXP_ATTACH_MUTEX_NAME TEXT("MS_FAXXP_ATTACHMENT_MUTEX")
  123. #define FAXXP_MEM_NAME TEXT("MS_FAXXP_ATTACHMENT_REGION")
  124. #define FAXXP_MEM_MUTEX_NAME TEXT("MS_FAXXP_ATTACHMENTREGION_MUTEX")
  125. #define FAXXP_ATTACH_END_DOC_EVENT TEXT("_END_DOC_EVENT") // Update FAXXP_ATTACH_EVENT_NAME_LEN if change
  126. #define FAXXP_ATTACH_ABORT_EVENT TEXT("_ABORT_EVENT") // Update FAXXP_ATTACH_EVENT_NAME_LEN if change
  127. #define FAXXP_ATTACH_EVENT_NAME_LEN (MAX_PATH+20)
  128. //
  129. // Fax dirs. These are hardcoded relative paths. We call into the shell to get the base path.
  130. //
  131. #define FAX_SHARE_DIR TEXT("Microsoft\\Windows NT\\MSFax")
  132. #define FAX_QUEUE_DIR FAX_SHARE_DIR TEXT("\\Queue") // Used by service
  133. // The following are used by SecureFaxServiceDirectories()
  134. #define FAX_INBOX_DIR FAX_SHARE_DIR TEXT("\\Inbox")
  135. #define FAX_SENTITEMS_DIR FAX_SHARE_DIR TEXT("\\SentItems")
  136. #define FAX_ACTIVITYLOG_DIR FAX_SHARE_DIR TEXT("\\ActivityLog")
  137. #define FAX_COMMONCOVERPAGES_DIR FAX_SHARE_DIR TEXT("\\Common Coverpages")
  138. #define FAX_PREVIEW_TMP_DIR TEXT("\\FxsTmp") // Created under %windir%\system32 with special permissions.
  139. // Used for mapping of preview file in W2K and NT4 if
  140. // Access to %windir%\system32 is denied for guest users.
  141. /*****************************************************************************
  142. ** **
  143. ** Registry keys, values, paths etc. **
  144. ** **
  145. *****************************************************************************/
  146. //
  147. // Fax Server Registry Root (relative to LOCAL_MACHINE or CURRENT_USER)
  148. //
  149. #define REGKEY_FAXSERVER_A "Software\\Microsoft\\Fax"
  150. #define REGKEY_FAXSERVER TEXT(REGKEY_FAXSERVER_A)
  151. #define REGKEY_CLIENT TEXT("Microsoft\\Fax")
  152. #define CLIENT_ARCHIVE_KEY TEXT("Archive")
  153. #define CLIENT_ARCHIVE_MSGS_PER_CALL TEXT("MessagesPerCall")
  154. #define CLIENT_INBOX_VIEW TEXT("InboxView")
  155. #define CLIENT_SENT_ITEMS_VIEW TEXT("SentItemsView")
  156. #define CLIENT_INCOMING_VIEW TEXT("IncomingView")
  157. #define CLIENT_OUTBOX_VIEW TEXT("OutboxView")
  158. #define CLIENT_VIEW_COLUMNS TEXT("Columns")
  159. #define CLIENT_VIEW_COL_WIDTH TEXT("Width")
  160. #define CLIENT_VIEW_COL_SHOW TEXT("Show")
  161. #define CLIENT_VIEW_COL_ORDER TEXT("Order")
  162. #define CLIENT_VIEW_SORT_ASCENDING TEXT("SortAscending")
  163. #define CLIENT_VIEW_SORT_COLUMN TEXT("SortColumn")
  164. #define CLIENT_MAIN_FRAME TEXT("MainFrame")
  165. #define CLIENT_MAXIMIZED TEXT("Maximized")
  166. #define CLIENT_NORMAL_POS_TOP TEXT("NormalPosTop")
  167. #define CLIENT_NORMAL_POS_RIGHT TEXT("NormalPosRight")
  168. #define CLIENT_NORMAL_POS_BOTTOM TEXT("NormalPosBottom")
  169. #define CLIENT_NORMAL_POS_LEFT TEXT("NormalPosLeft")
  170. #define CLIENT_SPLITTER_POS TEXT("SplitterPos")
  171. #define CLIENT_CONFIRM_SEC TEXT("Confirm")
  172. #define CLIENT_CONFIRM_ITEM_DEL TEXT("ItemDeletion")
  173. //
  174. // Registry values stored under HKEY_CURRENT_USER
  175. //
  176. //
  177. // User information is stored under Fax\UserInfo subkey
  178. //
  179. #define REGVAL_FULLNAME TEXT("FullName")
  180. #define REGVAL_FAX_NUMBER TEXT("FaxNumber")
  181. #define REGVAL_MAILBOX TEXT("Mailbox")
  182. #define REGVAL_COMPANY TEXT("Company")
  183. #define REGVAL_TITLE TEXT("Title")
  184. #define REGVAL_ADDRESS TEXT("Address")
  185. #define REGVAL_CITY TEXT("City")
  186. #define REGVAL_STATE TEXT("State")
  187. #define REGVAL_ZIP TEXT("ZIP")
  188. #define REGVAL_COUNTRY TEXT("Country")
  189. #define REGVAL_DEPT TEXT("Department")
  190. #define REGVAL_OFFICE TEXT("Office")
  191. #define REGVAL_HOME_PHONE TEXT("HomePhone")
  192. #define REGVAL_OFFICE_PHONE TEXT("OfficePhone")
  193. #define REGVAL_BILLING_CODE TEXT("BillingCode")
  194. #define REGVAL_COVERPG TEXT("CoverPageFile")
  195. #define REGVAL_LAST_COUNTRYID TEXT("LastCountryID")
  196. #define REGVAL_LAST_RECNAME TEXT("LastRecipientName")
  197. #define REGVAL_LAST_RECNUMBER TEXT("LastRecipientNumber")
  198. #define REGVAL_USE_DIALING_RULES TEXT("LastUseDialingRules")
  199. #define REGVAL_USE_OUTBOUND_ROUTING TEXT("LastUseOutboundRouting")
  200. #define REGVAL_STRESS_INDEX TEXT("LastStressPrinterIndex")
  201. #define REGVAL_NEXT_COVERPAGE_TIP TEXT("NextCoverPageTip")
  202. #define REGVAL_RECEIPT_NO_RECEIPT TEXT("ReceiptNoRecipt")
  203. #define REGVAL_RECEIPT_GRP_PARENT TEXT("ReceiptGroupParent")
  204. #define REGVAL_RECEIPT_MSGBOX TEXT("ReceiptMessageBox")
  205. #define REGVAL_RECEIPT_EMAIL TEXT("ReceiptEMail")
  206. #define REGVAL_RECEIPT_ADDRESS TEXT("ReceiptAddress")
  207. #define REGVAL_RECEIPT_ATTACH_FAX TEXT("ReceiptAttachFax")
  208. //
  209. // Status UI configuration values
  210. //
  211. #define REGVAL_DEVICE_TO_MONITOR TEXT("DeviceToMonitor") // device ID for monitoring
  212. #define REGVAL_MONITOR_ON_SEND TEXT("MonitorOnSend")
  213. #define REGVAL_MONITOR_ON_RECEIVE TEXT("MonitorOnReceive")
  214. #define REGVAL_NOTIFY_PROGRESS TEXT("NotifyProgress")
  215. #define REGVAL_NOTIFY_IN_COMPLETE TEXT("NotifyIncomingCompletion")
  216. #define REGVAL_NOTIFY_OUT_COMPLETE TEXT("NotifyOutgoingCompletion")
  217. #define REGVAL_SOUND_ON_RING TEXT("SoundOnRing")
  218. #define REGVAL_SOUND_ON_RECEIVE TEXT("SoundOnReceive")
  219. #define REGVAL_SOUND_ON_SENT TEXT("SoundOnSent")
  220. #define REGVAL_SOUND_ON_ERROR TEXT("SoundOnError")
  221. #define REGVAL_ALWAYS_ON_TOP TEXT("AlwaysOnTop")
  222. //
  223. // Fax status monitor and fax notification bar icon contants:
  224. //
  225. #define FAXSTAT_WINCLASS TEXT("FaxMonWinClass{3FD224BA-8556-47fb-B260-3E451BAE2793}") // Window class for fax notification bar messages
  226. #define FAX_SYS_TRAY_DLL TEXT("fxsst.dll") // Fax notification bar DLL (loaded by STObject.dll)
  227. #define IS_FAX_MSG_PROC "IsFaxMessage" // Fax message handler (used by GetProcAddress)
  228. typedef BOOL (*PIS_FAX_MSG_PROC)(PMSG); // IsFaxMessage type
  229. #define FAX_MONITOR_SHUTDOWN_PROC "FaxMonitorShutdown"// Fax monitor shutdown (used by GetProcAddress)
  230. typedef BOOL (*PFAX_MONITOR_SHUTDOWN_PROC)(); // FaxMonitorShutdown type
  231. #define WM_FAXSTAT_CONTROLPANEL (WM_USER + 201) // Fax notification bar configuration has changed
  232. #define WM_FAXSTAT_OPEN_MONITOR (WM_USER + 211) // User explicitly asks for fax status monitor
  233. #define WM_FAXSTAT_INBOX_VIEWED (WM_USER + 212) // Message viewed or deleted in the fax client console's inbox folder
  234. #define WM_FAXSTAT_OUTBOX_VIEWED (WM_USER + 213) // Message in error was restarted or deleted in the fax client console's outbox folder
  235. #define WM_FAXSTAT_RECEIVE_NOW (WM_USER + 214) // Start receiving now
  236. #define WM_FAXSTAT_PRINTER_PROPERTY (WM_USER + 215) // Open Fax Printer Property Sheet. WPARAM is an initiall page number
  237. //
  238. // Setup information is stored under Fax\Setup subkey
  239. //
  240. #define REGKEY_FAX_SETUP REGKEY_FAXSERVER TEXT("\\Setup")
  241. #define REGKEY_FAX_SETUP_SUBKEY TEXT("Setup")
  242. #define REGVAL_CP_LOCATION TEXT("CoverPageDir")
  243. #define REGVAL_FAXINSTALLED TEXT("Installed")
  244. #define REGVAL_PRODUCT_SKU TEXT("ProductSKU")
  245. #define REGVAL_PRODUCT_BUILD TEXT("ProductBuild")
  246. #define REGVAL_SETUP_IN_PROGRESS TEXT("SetupInProgress")
  247. #define REGVAL_IS_SHARED_FAX_PRINTER TEXT("IsFaxPrinterShared")
  248. #define REGVAL_DONT_UNATTEND_INSTALL TEXT("DenyUnattendInstall")
  249. #define REGVAL_FAXINSTALL_TYPE TEXT("InstallType")
  250. #define REGVAL_FAXINSTALLED_PLATFORMS TEXT("InstalledPlatforms")
  251. #define REGVAL_CFGWZRD_USER_INFO TEXT("CfgWzdrUserInfo")
  252. #define REGVAL_CPE_CONVERT TEXT("WereCpesConverted")
  253. #define REGVAL_CFGWZRD_DISABLE_ROUTING TEXT("DisableRoutingExtensionConfiguration")
  254. #define REGVAL_IMPORT_INFO TEXT("ImportInfoDisplayed")
  255. #define REGVAL_INSTALLED_COMPONENTS TEXT("InstalledComponents")
  256. #define REGVAL_W2K_SENT_ITEMS TEXT("W2K_SentItems")
  257. #define REGVAL_W2K_INBOX TEXT("W2K_Inbox")
  258. //
  259. // Client information is stored under Fax\Client subkey
  260. //
  261. #define REGKEY_FAX_CLIENT REGKEY_FAXSERVER TEXT("\\Client")
  262. #define REGKEY_FAX_CLIENT_SUBKEY TEXT("Client")
  263. #define REGVAL_DBGLEVEL TEXT("DebugLevel")
  264. #define REGVAL_DBGLEVEL_EX TEXT("DebugLevelEx")
  265. #define REGVAL_DBGFORMAT_EX TEXT("DebugFormatEx")
  266. #define REGVAL_DBGCONTEXT_EX TEXT("DebugContextEx")
  267. #define REGVAL_DBG_SKU TEXT("DebugSKU")
  268. #define REGVAL_SERVER_CP_LOCATION TEXT("ServerCoverPageDir")
  269. #define REGVAL_CFGWZRD_DEVICE TEXT("CfgWzdrDevice")
  270. //
  271. // Service startup information is stored under Fax\Client\ServiceStartup subkey
  272. //
  273. #define REGKEY_FAX_SERVICESTARTUP REGKEY_FAX_CLIENT TEXT("\\ServiceStartup")
  274. #define REGKEY_FAX_SERVICESTARTUP_SUBKEY TEXT("ServiceStartup")
  275. #define REGVAL_FAX_RPC_READY TEXT("RPCReady")
  276. #define DEFAULT_COVERPAGE_EDITOR FAX_COVER_IMAGE_NAME // Used by print\faxprint\lib\registry.c
  277. #define DEFAULT_COVERPAGE_DIR TEXT("%systemroot%\\Fax\\CoverPg")
  278. #define REGKEY_INSTALLLOCATION TEXT("Software\\Microsoft\\Windows NT\\CurrentVersion")
  279. #define REGVAL_DEFAULT_TSID TEXT("Fax")
  280. #define REGVAL_DEFAULT_CSID TEXT("Fax")
  281. //
  282. // Per-user devmode information is stored under Fax\Devmode subkey
  283. //
  284. #define REGKEY_FAX_DEVMODE REGKEY_FAXSERVER TEXT("\\Devmode")
  285. //
  286. // Registry values stored under HKEY_LOCAL_MACHINE
  287. //
  288. //
  289. // Server registry values
  290. // stored under REGKEY_FAXSERVER
  291. //
  292. #define FAX_SVC_EVENT TEXT("Microsoft Fax")
  293. #define REGKEY_EVENTLOG TEXT("SYSTEM\\CurrentControlSet\\Services\\EventLog\\Application\\") FAX_SVC_EVENT
  294. #define REGVAL_EVENTMSGFILE TEXT("EventMessageFile")
  295. #define REGVAL_CATEGORYMSGFILE TEXT("CategoryMessageFile")
  296. #define REGVAL_CATEGORYCOUNT TEXT("CategoryCount")
  297. #define REGVAL_TYPESSUPPORTED TEXT("TypesSupported")
  298. #define REGKEY_SOFTWARE REGKEY_FAXSERVER
  299. #define REGVAL_RETRIES TEXT("Retries")
  300. #define REGVAL_RETRYDELAY TEXT("Retry Delay")
  301. #define REGVAL_MANUAL_ANSWER_DEVICE TEXT("ManualAnswerDevice")
  302. #define REGVAL_DIRTYDAYS TEXT("Dirty Days")
  303. #define REGVAL_BRANDING TEXT("Branding")
  304. #define REGVAL_USE_DEVICE_TSID TEXT("UseDeviceTsid")
  305. #define REGVAL_SERVERCP TEXT("ServerCoverPageOnly")
  306. #define REGVAL_STARTCHEAP TEXT("StartCheapTime")
  307. #define REGVAL_STOPCHEAP TEXT("StopCheapTime")
  308. #define REGVAL_QUEUE_STATE TEXT("QueueState")
  309. #define REGVAL_QUEUE_DIRECTORY TEXT("QueueDirectory")
  310. #define REGVAL_JOB_NUMBER TEXT("NextJobNumber")
  311. #define REGVAL_MAX_LINE_CLOSE_TIME TEXT("MaxLineCloseTime")
  312. #define REGVAL_RECIPIENTS_LIMIT TEXT("RecipientsLimit")
  313. #define REGVAL_ALLOW_REMOTE TEXT("AllowRemote") // Allow remote calls even if printer is not shared.
  314. #define REGVAL_USE_DEFAULT_FAULT_HANDLING_POLICY TEXT("UseDefaultFaultHandlingPolicy")
  315. //
  316. // 31 days * 24 hours * 60 minutes * 60 seconds * 1000000 microseconds * 10 (100 ns is one unit)
  317. //
  318. #define DEFAULT_REGVAL_MISSING_DEVICE_LIFETIME 26784000000000
  319. #define DEFAULT_REGVAL_RETRIES 3
  320. #define DEFAULT_REGVAL_RETRYDELAY 10
  321. #define DEFAULT_REGVAL_DIRTYDAYS 30
  322. #define DEFAULT_REGVAL_BRANDING 1
  323. #define DEFAULT_REGVAL_USEDEVICETSID 1
  324. #define DEFAULT_REGVAL_SERVERCP 0
  325. #define DEFAULT_REGVAL_STARTCHEAP MAKELONG(20,0)
  326. #define DEFAULT_REGVAL_STOPCHEAP MAKELONG(7,0)
  327. #define DEFAULT_REGVAL_QUEUE_STATE 0
  328. #define DEFAULT_REGVAL_JOB_NUMBER 1
  329. #define REGKEY_DEVICE_PROVIDERS TEXT("Device Providers")
  330. #define REGVAL_FRIENDLY_NAME TEXT("FriendlyName")
  331. #define REGVAL_IMAGE_NAME TEXT("ImageName")
  332. #define REGVAL_PROVIDER_NAME TEXT("ProviderName")
  333. #define REGVAL_PROVIDER_GUID TEXT("GUID")
  334. #define REGVAL_PROVIDER_API_VERSION TEXT("APIVersion")
  335. //
  336. // The following value is the base device id assigned to FSPs
  337. //
  338. #define DEFAULT_REGVAL_PROVIDER_DEVICE_ID_PREFIX_BASE DWORD(0x20000)
  339. //
  340. // The following value is the base for our internal unique fax ids
  341. //
  342. #define DEFAULT_REGVAL_FAX_UNIQUE_DEVICE_ID_BASE 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] :
  359. // Reserved for future use.
  360. //
  361. // *****************************************************************************
  362. // *****************************************************************************
  363. // VFSPs Device ID prefix given so far....
  364. // *****************************************************************************
  365. // 1. DeviceIdPrefix = 0x1. ------> VisionLab http://VisionLab.com
  366. //
  367. // *****************************************************************************
  368. // *****************************************************************************
  369. #define REGKEY_RECEIPTS_CONFIG TEXT("Receipts") // Key of receipts configuration
  370. #define REGVAL_RECEIPTS_TYPE TEXT("Type") // Receipts supported
  371. #define REGVAL_RECEIPTS_SERVER TEXT("Server") // SMTP Server's name
  372. #define REGVAL_RECEIPTS_PORT TEXT("Port") // SMTP Server's port
  373. #define REGVAL_RECEIPTS_FROM TEXT("From") // SMTP sender address
  374. #define REGVAL_RECEIPTS_USER TEXT("User") // SMTP user name
  375. #define REGVAL_RECEIPTS_PASSWORD TEXT("Password") // SMTP password
  376. #define REGVAL_RECEIPTS_SMTP_AUTH_TYPE TEXT("SMTPAuth") // SMTP authentication type
  377. #define REGVAL_ISFOR_MSROUTE TEXT("UseForMsRoute") // TRUE if to use for MS route through e-mail method
  378. #define DEFAULT_REGVAL_SMTP_PORT 25 // Default SMTP port number
  379. #define REGKEY_ARCHIVE_SENTITEMS_CONFIG TEXT("SentItems")// Key of SentItems archive configuration
  380. #define REGKEY_ARCHIVE_INBOX_CONFIG TEXT("Inbox") // Key of Inbox archive configuration
  381. #define REGVAL_ARCHIVE_USE TEXT("Use") // Archive?
  382. #define REGVAL_ARCHIVE_FOLDER TEXT("Folder") // Archive location
  383. #define REGVAL_ARCHIVE_SIZE_QUOTA_WARNING TEXT("SizeQuotaWarn") // Warn on size excess?
  384. #define REGVAL_ARCHIVE_HIGH_WATERMARK TEXT("HighWatermark") // Warning high watermark
  385. #define REGVAL_ARCHIVE_LOW_WATERMARK TEXT("LowWatermark") // Warning low watermark
  386. #define REGVAL_ARCHIVE_AGE_LIMIT TEXT("AgeLimit") // Archive age limit
  387. #define DEFAULT_REGVAL_ARCHIVE_USE 0 // Don't use archive by default
  388. #define DEFAULT_REGVAL_ARCHIVE_FOLDER TEXT("") // Default location of archive
  389. #define DEFAULT_REGVAL_SIZE_QUOTA_WARNING 1 // Warn on size by default
  390. #define DEFAULT_REGVAL_HIGH_WATERMARK 100 // High watermark default
  391. #define DEFAULT_REGVAL_LOW_WATERMARK 95 // Low watermark default
  392. #define DEFAULT_REGVAL_AGE_LIMIT 60 // Default archive age limit
  393. #define REGKEY_ACTIVITY_LOG_CONFIG TEXT("ActivityLogging") // Key of Activity Logging configuration
  394. #define REGVAL_ACTIVITY_LOG_DB TEXT("DBFile") // Database file
  395. #define REGVAL_ACTIVITY_LOG_IN TEXT("LogIncoming") // Log incoming faxes?
  396. #define REGVAL_ACTIVITY_LOG_OUT TEXT("LogOutgoing") // Log outgoing faxes?
  397. #define REGVAL_ACTIVITY_LOG_LIMIT_CRITERIA TEXT("LogLimitCriteria") // The activity log file limitting criteria - Size or Age
  398. #define REGVAL_ACTIVITY_LOG_SIZE_LIMIT TEXT("LogSizeLimit") // The activity log files size limit in MBytes
  399. #define REGVAL_ACTIVITY_LOG_AGE_LIMIT TEXT("LogAgeLimit") // The activity log files age limit in Months
  400. #define REGVAL_ACTIVITY_LOG_LIMIT_REACHED_ACTION TEXT("LogLimitReachedAction") // Delete log file or rename it when file limit reached
  401. #define REGKEY_OUTBOUND_ROUTING TEXT("Outbound Routing") // Outbound routing key
  402. #define REGKEY_OUTBOUND_ROUTING_GROUPS TEXT("Groups") // Outbound routing groups key
  403. #define REGVAL_ROUTING_GROUP_DEVICES TEXT("Devices") // List of all group's devices
  404. #define REGKEY_OUTBOUND_ROUTING_RULES TEXT("Rules") // Outbound routing rules key
  405. #define REGVAL_ROUTING_RULE_COUNTRY_CODE TEXT("CountryCode") // Outbound routing rule country code
  406. #define REGVAL_ROUTING_RULE_AREA_CODE TEXT("AreaCode") // Outbound routing rule area code
  407. #define REGVAL_ROUTING_RULE_GROUP_NAME TEXT("GroupName") // Outbound routing rule dest group name
  408. #define REGVAL_ROUTING_RULE_DEVICE_ID TEXT("DeviceID") // Outbound routing rule dest device ID
  409. #define REGVAL_ROUTING_RULE_USE_GROUP TEXT("UseGroup") // Flag inidicating to use group destination
  410. #define REGKEY_ROUTING_EXTENSIONS TEXT("Routing Extensions")
  411. #define REGKEY_ROUTING_METHODS TEXT("Routing Methods")
  412. #define REGVAL_FUNCTION_NAME TEXT("Function Name")
  413. #define REGVAL_GUID TEXT("Guid")
  414. #define REGVAL_ROUTING_PRIORITY TEXT("Priority")
  415. #define REGKEY_UNASSOC_EXTENSION_DATA TEXT("UnassociatedExtensionData")
  416. #define REGKEY_DEVICES TEXT("Devices")
  417. #define REGKEY_FAXSVC_DEVICE_GUID TEXT("{F10A5326-0261-4715-B367-2970427BBD99}")
  418. #define REGVAL_DEVICE_NAME TEXT("Device Name")
  419. #define REGVAL_PROVIDER TEXT("Provider Name")
  420. #define REGVAL_PERMANENT_LINEID TEXT("Permanent Lineid")
  421. #define REGVAL_TAPI_PERMANENT_LINEID TEXT("TAPI Permanent Lineid")
  422. #define REGVAL_FLAGS TEXT("Flags")
  423. #define REGVAL_RINGS TEXT("Rings")
  424. #define REGVAL_ROUTING_CSID TEXT("CSID")
  425. #define REGVAL_ROUTING_TSID TEXT("TSID")
  426. #define REGVAL_DEVICE_DESCRIPTION TEXT("Description")
  427. #define REGVAL_LAST_DETECTED_TIME TEXT("LastDetected")
  428. #define REGVAL_MANUAL_ANSWER TEXT("ManualAnswer")
  429. #define REGVAL_LAST_UNIQUE_LINE_ID TEXT("LastUniqueLineId")
  430. #define REGKEY_LOGGING TEXT("Logging")
  431. #define REGVAL_CATEGORY_NAME TEXT("Name")
  432. #define REGVAL_CATEGORY_LEVEL TEXT("Level")
  433. #define REGVAL_CATEGORY_NUMBER TEXT("Number")
  434. #define REGKEY_DEVICES_CACHE TEXT("Devices Cache")
  435. #define REGKEY_TAPI_DATA TEXT("TAPI Data")
  436. #define REGKEY_TAPIDEVICES_CONFIG TEXT("TAPIDevices")
  437. #define REGKEY_USERINFO TEXT("UserInfo")
  438. #define REGKEY_FAX_LOGGING REGKEY_FAXSERVER TEXT("\\") REGKEY_LOGGING
  439. #define REGKEY_FAX_RECEIPTS REGKEY_FAXSERVER TEXT("\\") REGKEY_RECEIPTS_CONFIG
  440. #define REGKEY_FAX_INBOX REGKEY_FAXSERVER TEXT("\\") REGKEY_ARCHIVE_INBOX_CONFIG
  441. #define REGKEY_FAX_SENTITEMS REGKEY_FAXSERVER TEXT("\\") REGKEY_ARCHIVE_SENTITEMS_CONFIG
  442. #define REGKEY_FAX_DEVICES REGKEY_FAXSERVER TEXT("\\") REGKEY_DEVICES
  443. #define REGKEY_FAX_UNASS_DATA REGKEY_FAX_DEVICES TEXT("\\") REGKEY_UNASSOC_EXTENSION_DATA
  444. #define REGKEY_FAX_DEVICES_CACHE REGKEY_FAXSERVER TEXT("\\") REGKEY_DEVICES_CACHE
  445. #define REGKEY_TAPIDEVICES REGKEY_FAXSERVER TEXT("\\") REGKEY_TAPIDEVICES_CONFIG
  446. #define REGKEY_DEVICE_PROVIDER_KEY REGKEY_FAXSERVER TEXT("\\") REGKEY_DEVICE_PROVIDERS
  447. #define REGKEY_ROUTING_EXTENSION_KEY REGKEY_FAXSERVER TEXT("\\") REGKEY_ROUTING_EXTENSIONS
  448. #define REGKEY_FAX_USERINFO REGKEY_FAXSERVER TEXT("\\") REGKEY_USERINFO
  449. #define REGKEY_FAX_OUTBOUND_ROUTING REGKEY_FAXSERVER TEXT("\\") REGKEY_OUTBOUND_ROUTING
  450. #define REGKEY_FAX_OUTBOUND_ROUTING_GROUPS REGKEY_FAX_OUTBOUND_ROUTING TEXT("\\") REGKEY_OUTBOUND_ROUTING_GROUPS
  451. #define REGKEY_FAX_OUTBOUND_ROUTING_RULES REGKEY_FAX_OUTBOUND_ROUTING TEXT("\\") REGKEY_OUTBOUND_ROUTING_RULES
  452. #define REGKEY_FAX_SETUP_ORIG REGKEY_FAX_SETUP TEXT("\\Original Setup Data")
  453. //
  454. // device provider reg values
  455. //
  456. #define REGKEY_MODEM_PROVIDER TEXT("Microsoft Modem Device Provider")
  457. #define REGVAL_T30_PROVIDER_GUID_STRING TEXT("{2172FD8F-11F6-11d3-90BF-006094EB630B}")
  458. //
  459. // MSFT standard routing methods
  460. //
  461. #define REGKEY_ROUTING_METHOD_EMAIL TEXT("Email")
  462. #define REGVAL_RM_EMAIL_GUID TEXT("{6bbf7bfe-9af2-11d0-abf7-00c04fd91a4e}")
  463. #define REGKEY_ROUTING_METHOD_FOLDER TEXT("Folder")
  464. #define REGVAL_RM_FOLDER_GUID TEXT("{92041a90-9af2-11d0-abf7-00c04fd91a4e}")
  465. #define REGKEY_ROUTING_METHOD_PRINTING TEXT("Printing")
  466. #define REGVAL_RM_PRINTING_GUID TEXT("{aec1b37c-9af2-11d0-abf7-00c04fd91a4e}")
  467. //
  468. // GUID of routing methods usage flags - used by the Microsoft Fax Routing Extension DLL:
  469. //
  470. #define REGVAL_RM_FLAGS_GUID TEXT("{aacc65ec-0091-40d6-a6f3-a2ed6057e1fa}")
  471. //
  472. // Routing mask bits
  473. //
  474. #define LR_PRINT 0x00000001
  475. #define LR_STORE 0x00000002
  476. #define LR_INBOX 0x00000004
  477. #define LR_EMAIL 0x00000008
  478. //
  479. // Routing extension reg values
  480. //
  481. #define REGKEY_ROUTING_EXTENSION TEXT("Microsoft Routing Extension")
  482. //
  483. // Performance key/values
  484. //
  485. #define REGKEY_FAXPERF TEXT("SYSTEM\\CurrentControlSet\\Services\\") FAX_SERVICE_NAME TEXT("\\Performance")
  486. #define REGVAL_OPEN TEXT("Open")
  487. #define REGVAL_OPEN_DATA TEXT("OpenFaxPerformanceData")
  488. #define REGVAL_CLOSE TEXT("Close")
  489. #define REGVAL_CLOSE_DATA TEXT("CloseFaxPerformanceData")
  490. #define REGVAL_COLLECT TEXT("Collect")
  491. #define REGVAL_COLLECT_DATA TEXT("CollectFaxPerformanceData")
  492. #define REGVAL_LIBRARY TEXT("Library")
  493. #define REGVAL_LIBRARY_DATA TEXT("%systemroot%\\system32\\fxsperf.dll")
  494. //
  495. // Security descriptors
  496. //
  497. #define REGKEY_SECURITY_CONFIG TEXT("Security")
  498. #define REGKEY_FAX_SECURITY REGKEY_FAXSERVER TEXT("\\") REGKEY_SECURITY_CONFIG
  499. #define REGVAL_DESCRIPTOR TEXT("Descriptor")
  500. //
  501. // default mail client
  502. //
  503. #define REGKEY_MAIL_CLIENT TEXT("SOFTWARE\\Clients\\Mail")
  504. #define REGVAL_MS_OUTLOOK TEXT("Microsoft Outlook")
  505. #define REGKEY_OUTLOOK_CUR_VER TEXT("SOFTWARE\\Classes\\Outlook.Application\\CurVer")
  506. //
  507. // Windows Address Book (WAB) location
  508. //
  509. #define REGVAL_WABPATH TEXT("Software\\Microsoft\\WAB\\DLLPath")
  510. //
  511. // Combined translated strings from the wizard to the service
  512. // Format is "{0cd77475-c87d-4921-86cf-84d502714666}TRANSLATED<dialable string>{11d0ecca-4072-4c7b-9af1-541d9778375f}<displayable string>"
  513. //
  514. #define COMBINED_PREFIX TEXT("{0cd77475-c87d-4921-86cf-84d502714666}TRANSLATED")
  515. #define COMBINED_SUFFIX TEXT("{11d0ecca-4072-4c7b-9af1-541d9778375f}")
  516. #define COMBINED_TRANSLATED_STRING_FORMAT COMBINED_PREFIX TEXT("%s") COMBINED_SUFFIX TEXT("%s")
  517. #define COMBINED_TRANSLATED_STRING_EXTRA_LEN (_tcslen(COMBINED_TRANSLATED_STRING_FORMAT) - 4)
  518. //
  519. // These prefixes are used by all temp preview TIFF files (generated by the client console and the fax send wizard)
  520. //
  521. #define CONSOLE_PREVIEW_TIFF_PREFIX TEXT("MSFaxConsoleTempPreview-#")
  522. #define WIZARD_PREVIEW_TIFF_PREFIX TEXT("MSFaxWizardTempPreview-#")
  523. #define FAX_ADDERSS_VALID_CHARACTERS TEXT("0123456789 -|^!#$*,?@ABCbcdDPTWdptw")
  524. //
  525. // Client console command line parameters.
  526. // All parameters are case insensitive.
  527. //
  528. #define CONSOLE_CMD_FLAG_STR_FOLDER TEXT("folder") // Sets initial startup folder. Usage: "fxsclnt.exe /folder <folder>"
  529. #define CONSOLE_CMD_PRM_STR_OUTBOX TEXT("outbox") // Outbox startup folder. Usage: "fxsclnt.exe /folder outbox"
  530. #define CONSOLE_CMD_PRM_STR_INCOMING TEXT("incoming") // Incoming startup folder. Usage: "fxsclnt.exe /folder incoming"
  531. #define CONSOLE_CMD_PRM_STR_INBOX TEXT("inbox") // Inbox startup folder. Usage: "fxsclnt.exe /folder inbox". This is the default
  532. #define CONSOLE_CMD_PRM_STR_SENT_ITEMS TEXT("sent_items") // sent items startup folder. Usage: "fxsclnt.exe /folder sent_items"
  533. #define CONSOLE_CMD_FLAG_STR_MESSAGE_ID TEXT("MessageId") // Select a message in the startup folder. Usage: "fxsclnt.exe /MessageId 0x0201c0d62f36ec0b"
  534. #define CONSOLE_CMD_FLAG_STR_NEW TEXT("New") // Force a new instance. Usage: "fxsclnt.exe /new"
  535. //
  536. // This is the prefix of optionally non-secure settings.
  537. // For example:
  538. // In WinXP RTM, extension configuration data was written unencrypted to the registry.
  539. // In Win .NET Server, the same data is now written encrypted.
  540. // Since the service code of Win .NET Server is the same as WinXP SP1, the same code
  541. // should be able to read encrypted AND non-encrypted data.
  542. //
  543. // If the bOptionallyNonSecure flag is set in the SetRegistrySecureBinary and SetRegistrySecureString
  544. // functions, the data is encrypted but written to the registry prefixed with FAX_REG_SECURITY_PREFIX.
  545. //
  546. // If the bOptionallyNonSecure flag is set in the GetRegistrySecureBinary and GetRegistrySecureString
  547. // functions, the data is read from the registry and checked for a prefix of FAX_REG_SECURITY_PREFIX.
  548. // If the prefix is not there, the data is considered to be non-encrypted (e.g. WinXP RTM data)
  549. // and it is returned as-is without decryption. Otherwise, it is properly decrypted.
  550. //
  551. #define FAX_REG_SECURITY_PREFIX TEXT("{5b04adaa-5e01-4160-a61e-02d27d44f9db}")
  552. // This SD is used when setting the security on Fax folders under CSIDL_COMMON_APPDATA:
  553. // 1. When changing locations from the UI
  554. // 2. When upgrading from BOS/SBS2000, and migrating the old archives
  555. // 3. After converting the system partition from FAT to NTFS
  556. //
  557. #define SD_FAX_FOLDERS TEXT("D:PAI(A;OICI;FA;;;BA)(A;OICI;FA;;;NS)") // Administrators have full access, Network service have full access
  558. // This SD is used when setting the security on Common Coverpages folder under CSIDL_COMMON_APPDATA:
  559. // 3. After converting the system partition from FAT to NTFS
  560. //
  561. #define SD_COMMON_COVERPAGES TEXT("D:PAI(A;OICI;FA;;;BA)(A;OICI;0x1200a9;;;WD)") // Everyone can read, Administrators have full control
  562. #endif // !_FAXREG_H_