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.

142 lines
2.5 KiB

  1. #include <windows.h>
  2. #include <winspool.h>
  3. #include <mapi.h>
  4. #include <mapix.h>
  5. #include <tchar.h>
  6. #include <shlobj.h>
  7. #include <faxroute.h>
  8. #include "tifflib.h"
  9. #include "tiff.h"
  10. #include "faxutil.h"
  11. #include "messages.h"
  12. #include "faxrtmsg.h"
  13. #include "winfax.h"
  14. #include "resource.h"
  15. #include "faxreg.h"
  16. #include "faxsvcrg.h"
  17. #include "faxmapi.h"
  18. #include "faxevent.h"
  19. #define FAX_DRIVER_NAME TEXT("Windows NT Fax Driver")
  20. #define WM_MAPILOGON (WM_USER + 100)
  21. #define MAXMAPIPROFILENAME 65
  22. typedef struct _ROUTING_TABLE {
  23. LIST_ENTRY ListEntry;
  24. DWORD DeviceId;
  25. LPCWSTR DeviceName;
  26. LPCWSTR PrinterName;
  27. LPCWSTR ProfileName;
  28. LPCWSTR StoreDir;
  29. LPCWSTR Csid;
  30. LPCWSTR Tsid;
  31. LPVOID ProfileInfo;
  32. DWORD Mask;
  33. } ROUTING_TABLE, *PROUTING_TABLE;
  34. typedef struct _MESSAGEBOX_DATA {
  35. LPCTSTR Text; //
  36. LPDWORD Response; //
  37. DWORD Type; //
  38. } MESSAGEBOX_DATA, *PMESSAGEBOX_DATA;
  39. extern HINSTANCE MyhInstance;
  40. extern BOOL ServiceDebug;
  41. extern LPCWSTR InboundProfileName;
  42. extern LPVOID InboundProfileInfo;
  43. extern LIST_ENTRY RoutingListHead;
  44. extern CRITICAL_SECTION CsRouting;
  45. VOID
  46. InitializeStringTable(
  47. VOID
  48. );
  49. BOOL
  50. InitializeEmailRouting(
  51. VOID
  52. );
  53. LPTSTR
  54. GetLastErrorText(
  55. DWORD ErrorCode
  56. );
  57. BOOL
  58. TiffPrint(
  59. LPCTSTR TiffFileName,
  60. PTCHAR Printer
  61. );
  62. BOOL
  63. FaxMoveFile(
  64. LPCTSTR TiffFileName,
  65. LPCTSTR DestDir
  66. );
  67. LPCTSTR
  68. GetString(
  69. DWORD InternalId
  70. );
  71. BOOL
  72. TiffMailDefault(
  73. const FAX_ROUTE *FaxRoute,
  74. PROUTING_TABLE RoutingEntry,
  75. LPCWSTR TiffFileName
  76. );
  77. BOOL
  78. TiffRouteEMail(
  79. const FAX_ROUTE *FaxRoute,
  80. PROUTING_TABLE RoutingEntry,
  81. LPCWSTR TiffFileName
  82. );
  83. BOOL
  84. InitializeRoutingTable(
  85. VOID
  86. );
  87. PROUTING_TABLE
  88. GetRoutingEntry(
  89. DWORD DeviceId
  90. );
  91. BOOL
  92. ServiceMessageBox(
  93. IN LPCTSTR MsgString,
  94. IN DWORD Type,
  95. IN BOOL UseThread,
  96. IN LPDWORD Response,
  97. IN ...
  98. );
  99. DWORD
  100. GetMaskBit(
  101. LPCWSTR RoutingGuid
  102. );
  103. BOOL
  104. UpdateRoutingInfoRegistry(
  105. PROUTING_TABLE RoutingEntry
  106. );
  107. BOOL
  108. AddNewDeviceToRoutingTable(
  109. DWORD DeviceId,
  110. LPCWSTR DeviceName,
  111. LPCWSTR Csid,
  112. LPCWSTR Tsid,
  113. LPCWSTR PrinterName,
  114. LPCWSTR StoreDir,
  115. LPCWSTR ProfileName,
  116. DWORD Mask
  117. );