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.

2036 lines
80 KiB

  1. // FaxComEx.idl : IDL source for FaxComEx.dll
  2. //
  3. // This file will be processed by the MIDL tool to
  4. // produce the type library (FaxComEx.tlb) and marshalling code.
  5. import "oaidl.idl";
  6. import "ocidl.idl";
  7. // forward interface declarations
  8. interface IFaxSender;
  9. interface IFaxDevice;
  10. interface IFaxDevices;
  11. interface IFaxFolders;
  12. interface IFaxActivity;
  13. interface IFaxSecurity;
  14. interface IFaxRecipient;
  15. interface IFaxDeviceIds;
  16. interface IFaxRecipients;
  17. interface IFaxIncomingJob;
  18. interface IFaxOutgoingJob;
  19. interface IFaxIncomingJobs;
  20. interface IFaxEventLogging;
  21. interface IFaxOutgoingJobs;
  22. interface IFaxIncomingQueue;
  23. interface IFaxOutgoingQueue;
  24. interface IFaxReceiptOptions;
  25. interface IFaxInboundRouting;
  26. interface IFaxLoggingOptions;
  27. interface IFaxDeviceProvider;
  28. interface IFaxOutgoingArchive;
  29. interface IFaxIncomingArchive;
  30. interface IFaxIncomingMessage;
  31. interface IFaxActivityLogging;
  32. interface IFaxDeviceProviders;
  33. interface IFaxOutboundRouting;
  34. interface IFaxOutgoingMessage;
  35. interface IFaxOutboundRoutingRule;
  36. interface IFaxOutboundRoutingGroup;
  37. interface IFaxInboundRoutingMethod;
  38. interface IFaxOutboundRoutingRules;
  39. interface IFaxOutboundRoutingGroups;
  40. interface IFaxInboundRoutingMethods;
  41. interface IFaxIncomingMessageIterator;
  42. interface IFaxInboundRoutingExtension;
  43. interface IFaxOutgoingMessageIterator;
  44. interface IFaxInboundRoutingExtensions;
  45. //
  46. // Internal COM's project definion
  47. //
  48. const long prv_DEFAULT_PREFETCH_SIZE = 100;
  49. [
  50. object,
  51. uuid(8B86F485-FD7F-4824-886B-40C5CAA617CC),
  52. dual,
  53. helpstring("IFaxJobStatus interface"),
  54. pointer_default(unique)
  55. ]
  56. interface IFaxJobStatus : IDispatch
  57. {
  58. typedef enum FAX_JOB_STATUS_ENUM
  59. {
  60. fjsPENDING = 0x00000001,
  61. fjsINPROGRESS = 0x00000002,
  62. fjsFAILED = 0x00000008,
  63. fjsPAUSED = 0x00000010,
  64. fjsNOLINE = 0x00000020,
  65. fjsRETRYING = 0x00000040,
  66. fjsRETRIES_EXCEEDED = 0x00000080,
  67. fjsCOMPLETED = 0x00000100,
  68. fjsCANCELED = 0x00000200,
  69. fjsCANCELING = 0x00000400,
  70. fjsROUTING = 0x00000800
  71. } FAX_JOB_STATUS_ENUM;
  72. typedef enum FAX_JOB_EXTENDED_STATUS_ENUM
  73. {
  74. fjesNONE,
  75. fjesDISCONNECTED,
  76. fjesINITIALIZING,
  77. fjesDIALING,
  78. fjesTRANSMITTING,
  79. fjesANSWERED,
  80. fjesRECEIVING,
  81. fjesLINE_UNAVAILABLE,
  82. fjesBUSY,
  83. fjesNO_ANSWER,
  84. fjesBAD_ADDRESS,
  85. fjesNO_DIAL_TONE,
  86. fjesFATAL_ERROR,
  87. fjesCALL_DELAYED,
  88. fjesCALL_BLACKLISTED,
  89. fjesNOT_FAX_CALL,
  90. fjesPARTIALLY_RECEIVED,
  91. fjesHANDLED,
  92. fjesCALL_COMPLETED,
  93. fjesCALL_ABORTED,
  94. fjesPROPRIETARY = 0x01000000 // Obsolete, should not be used.
  95. } FAX_JOB_EXTENDED_STATUS_ENUM;
  96. typedef enum FAX_JOB_OPERATIONS_ENUM
  97. {
  98. fjoVIEW = 0x0001,
  99. fjoPAUSE = 0x0002,
  100. fjoRESUME = 0x0004,
  101. fjoRESTART = 0x0008,
  102. fjoDELETE = 0x0010,
  103. fjoRECIPIENT_INFO = 0x0020,
  104. fjoSENDER_INFO = 0x0040
  105. } FAX_JOB_OPERATIONS_ENUM;
  106. typedef enum FAX_JOB_TYPE_ENUM
  107. {
  108. fjtSEND,
  109. fjtRECEIVE,
  110. fjtROUTING
  111. } FAX_JOB_TYPE_ENUM;
  112. [propget, id(1), helpstring("Current queue status of the job, a bit-wise combination of FAX_JOB_STATUS values")]
  113. HRESULT Status([out, retval] FAX_JOB_STATUS_ENUM *pStatus);
  114. [propget, id(2), helpstring("Total number of pages")]
  115. HRESULT Pages([out, retval] long *plPages);
  116. [propget, id(3), helpstring("Size in bytes of TIFF file")]
  117. HRESULT Size([out, retval] long *plSize);
  118. [propget, id(4), helpstring("Page currently in transmision")]
  119. HRESULT CurrentPage([out, retval] long *plCurrentPage);
  120. [propget, id(5), helpstring("Device ID of device that transmits the job")]
  121. HRESULT DeviceId([out, retval] long *plDeviceId);
  122. [propget, id(6), helpstring("Called Station ID")]
  123. HRESULT CSID([out, retval] BSTR *pbstrCSID);
  124. [propget, id(7), helpstring("Transmitting Station ID")]
  125. HRESULT TSID([out, retval] BSTR *pbstrTSID);
  126. [propget, id(8), helpstring("Code of the job's extended status")]
  127. HRESULT ExtendedStatusCode([out, retval] FAX_JOB_EXTENDED_STATUS_ENUM *pExtendedStatusCode);
  128. [propget, id(9), helpstring("Extended status description")]
  129. HRESULT ExtendedStatus([out, retval] BSTR *pbstrExtendedStatus);
  130. [propget, id(10), helpstring("Available operations, a bit-wise combination of FAX_JOB_OPERATIONS values")]
  131. HRESULT AvailableOperations([out, retval] FAX_JOB_OPERATIONS_ENUM *pAvailableOperations);
  132. [propget, id(11), helpstring("Number of failed transmission retries")]
  133. HRESULT Retries([out, retval] long *plRetries);
  134. [propget, id(12), helpstring("Job type")]
  135. HRESULT JobType([out, retval] FAX_JOB_TYPE_ENUM *pJobType);
  136. [propget, id(13), helpstring("The time the fax job is scheduled to be transmitted")]
  137. HRESULT ScheduledTime([out, retval] DATE *pdateScheduledTime);
  138. [propget, id(14), helpstring("The time the fax job started its transmission")]
  139. HRESULT TransmissionStart([out, retval] DATE *pdateTransmissionStart);
  140. [propget, id(15), helpstring("The time the fax job finished its transmission")]
  141. HRESULT TransmissionEnd([out, retval] DATE *pdateTransmissionEnd);
  142. [propget, id(16), helpstring("Caller ID")]
  143. HRESULT CallerId([out, retval] BSTR *pbstrCallerId);
  144. [propget, id(17), helpstring("Routing information")]
  145. HRESULT RoutingInformation([out, retval] BSTR *pbstrRoutingInformation);
  146. };
  147. [
  148. object,
  149. uuid(475B6469-90A5-4878-A577-17A86E8E3462),
  150. dual,
  151. helpstring("IFaxServer interface"),
  152. pointer_default(unique),
  153. nonextensible
  154. ]
  155. interface IFaxServer : IDispatch
  156. {
  157. typedef enum FAX_SERVER_EVENTS_TYPE_ENUM
  158. {
  159. fsetNONE = 0x0000,
  160. fsetIN_QUEUE = 0x0001,
  161. fsetOUT_QUEUE = 0x0002,
  162. fsetCONFIG = 0x0004,
  163. fsetACTIVITY = 0x0008,
  164. fsetQUEUE_STATE = 0x0010,
  165. fsetIN_ARCHIVE = 0x0020,
  166. fsetOUT_ARCHIVE = 0x0040,
  167. fsetFXSSVC_ENDED = 0x0080,
  168. fsetDEVICE_STATUS = 0x0100,
  169. fsetINCOMING_CALL = 0x0200
  170. } FAX_SERVER_EVENTS_TYPE_ENUM;
  171. typedef enum FAX_SERVER_APIVERSION_ENUM
  172. {
  173. fsAPI_VERSION_0 = 0x00000000,
  174. fsAPI_VERSION_1 = 0x00010000
  175. } FAX_SERVER_APIVERSION_ENUM;
  176. [id(1), helpstring("Connect to the fax server")]
  177. HRESULT Connect([in] BSTR bstrServerName);
  178. [propget, id(2), helpstring("The name of the fax server")]
  179. HRESULT ServerName([out, retval] BSTR *pbstrServerName);
  180. [id(3), helpstring("The collection of device providers")]
  181. HRESULT GetDeviceProviders([out, retval] IFaxDeviceProviders **ppFaxDeviceProviders);
  182. [id(4), helpstring("The collection of all available devices")]
  183. HRESULT GetDevices([out, retval] IFaxDevices **ppFaxDevices);
  184. [propget, id(5), helpstring("The inbound routing configuration object")]
  185. HRESULT InboundRouting([out, retval] IFaxInboundRouting **ppFaxInboundRouting);
  186. [propget, id(6), helpstring("The fax folders object")]
  187. HRESULT Folders([out, retval] IFaxFolders **pFaxFolders);
  188. [propget, id(7), helpstring("The logging options configuration object")]
  189. HRESULT LoggingOptions([out, retval] IFaxLoggingOptions **ppFaxLoggingOptions);
  190. [propget, id(8), helpstring("The major part of the fax server's version number")]
  191. HRESULT MajorVersion([out, retval] long *plMajorVersion);
  192. [propget, id(9), helpstring("The minor part of the fax server's version number")]
  193. HRESULT MinorVersion([out, retval] long *plMinorVersion);
  194. [propget, id(10), helpstring("The major part of the fax server's build number")]
  195. HRESULT MajorBuild([out, retval] long *plMajorBuild);
  196. [propget, id(11), helpstring("The minor part of the fax server's build number")]
  197. HRESULT MinorBuild([out, retval] long *plMinorBuild);
  198. [propget, id(12), helpstring("Is fax server built in debug environment")]
  199. HRESULT Debug([out, retval] VARIANT_BOOL *pbDebug);
  200. [propget, id(13), helpstring("The fax server activity status object")]
  201. HRESULT Activity([out, retval] IFaxActivity **ppFaxActivity);
  202. [propget, id(14), helpstring("The outbound routing configuration object")]
  203. HRESULT OutboundRouting([out, retval] IFaxOutboundRouting **ppFaxOutboundRouting);
  204. [propget, id(15), helpstring("The receipt options configuration object")]
  205. HRESULT ReceiptOptions([out, retval] IFaxReceiptOptions **ppFaxReceiptOptions);
  206. [propget, id(16), helpstring("The security configuration object")]
  207. HRESULT Security([out, retval] IFaxSecurity **ppFaxSecurity);
  208. [id(17), helpstring("Disconnect from the fax server")]
  209. HRESULT Disconnect();
  210. [id(18), helpstring("Return server level extention property")]
  211. HRESULT GetExtensionProperty([in] BSTR bstrGUID, [out, retval] VARIANT *pvProperty);
  212. [id(19), helpstring("Set server level extention property")]
  213. HRESULT SetExtensionProperty([in] BSTR bstrGUID, [in] VARIANT vProperty);
  214. [id(20), helpstring("Set bit-wise combination of events the fax server listens to")]
  215. HRESULT ListenToServerEvents([in] FAX_SERVER_EVENTS_TYPE_ENUM EventTypes);
  216. [id(21), helpstring("Register device provider")]
  217. HRESULT RegisterDeviceProvider(
  218. [in] BSTR bstrGUID,
  219. [in] BSTR bstrFriendlyName,
  220. [in] BSTR bstrImageName,
  221. [in] BSTR TspName,
  222. [in] long lFSPIVersion);
  223. [id(22), helpstring("Unregister device provider")]
  224. HRESULT UnregisterDeviceProvider([in] BSTR bstrUniqueName);
  225. [id(23), helpstring("Register inbound routing extension")]
  226. HRESULT RegisterInboundRoutingExtension(
  227. [in] BSTR bstrExtensionName,
  228. [in] BSTR bstrFriendlyName,
  229. [in] BSTR bstrImageName,
  230. [in] VARIANT vMethods);
  231. [id(24), helpstring("Unregister inbound routing extension")]
  232. HRESULT UnregisterInboundRoutingExtension([in] BSTR bstrExtensionUniqueName);
  233. [propget, id(25), helpstring("Events the fax Server is listening to")]
  234. HRESULT RegisteredEvents([out, retval] FAX_SERVER_EVENTS_TYPE_ENUM *pEventTypes);
  235. [propget, id(26), helpstring("Version of the fax server API")]
  236. HRESULT APIVersion([out, retval] FAX_SERVER_APIVERSION_ENUM *pAPIVersion);
  237. };
  238. [
  239. object,
  240. uuid(9FB76F62-4C7E-43A5-B6FD-502893F7E13E),
  241. dual,
  242. helpstring("IFaxDeviceProviders interface"),
  243. pointer_default(unique),
  244. nonextensible
  245. ]
  246. interface IFaxDeviceProviders : IDispatch
  247. {
  248. [id(DISPID_NEWENUM), propget]
  249. HRESULT _NewEnum([out, retval] IUnknown **ppUnk);
  250. [id(DISPID_VALUE), propget]
  251. HRESULT Item([in] VARIANT vIndex, [out, retval] IFaxDeviceProvider **pFaxDeviceProvider);
  252. [id(1), propget]
  253. HRESULT Count([out, retval] long* plCount);
  254. };
  255. [
  256. object,
  257. uuid(9E46783E-F34F-482E-A360-0416BECBBD96),
  258. dual,
  259. helpstring("IFaxDevices interface"),
  260. pointer_default(unique),
  261. nonextensible
  262. ]
  263. interface IFaxDevices : IDispatch
  264. {
  265. [id(DISPID_NEWENUM), propget]
  266. HRESULT _NewEnum([out, retval] IUnknown **ppUnk);
  267. [id(DISPID_VALUE), propget]
  268. HRESULT Item([in] VARIANT vIndex, [out, retval] IFaxDevice **pFaxDevice);
  269. [id(1), propget]
  270. HRESULT Count([out, retval] long* plCount);
  271. [id(2), helpstring("Get device by its ID"), propget]
  272. HRESULT ItemById([in] long lId, [out, retval] IFaxDevice **ppFaxDevice);
  273. };
  274. [
  275. object,
  276. uuid(8148C20F-9D52-45B1-BF96-38FC12713527),
  277. dual,
  278. helpstring("IFaxInboundRouting interface"),
  279. pointer_default(unique),
  280. nonextensible
  281. ]
  282. interface IFaxInboundRouting : IDispatch
  283. {
  284. [id(1), helpstring("Registered inbound routing extensions collection")]
  285. HRESULT GetExtensions([out, retval] IFaxInboundRoutingExtensions **pFaxInboundRoutingExtensions);
  286. [id(2), helpstring("Ordered collection of all the registered methods")]
  287. HRESULT GetMethods([out, retval] IFaxInboundRoutingMethods **pFaxInboundRoutingMethods);
  288. };
  289. [
  290. object,
  291. uuid(DCE3B2A8-A7AB-42BC-9D0A-3149457261A0),
  292. dual,
  293. helpstring("IFaxFolders interface"),
  294. pointer_default(unique),
  295. nonextensible
  296. ]
  297. interface IFaxFolders : IDispatch
  298. {
  299. [propget, id(1), helpstring("Outgoing queue")]
  300. HRESULT OutgoingQueue([out, retval] IFaxOutgoingQueue **pFaxOutgoingQueue);
  301. [propget, id(2), helpstring("Incoming queue")]
  302. HRESULT IncomingQueue([out, retval] IFaxIncomingQueue **pFaxIncomingQueue);
  303. [propget, id(3), helpstring("Incoming archive")]
  304. HRESULT IncomingArchive([out, retval] IFaxIncomingArchive **pFaxIncomingArchive);
  305. [propget, id(4), helpstring("Outgoing archive")]
  306. HRESULT OutgoingArchive([out, retval] IFaxOutgoingArchive **pFaxOutgoingArchive);
  307. };
  308. [
  309. object,
  310. uuid(34E64FB9-6B31-4D32-8B27-D286C0C33606),
  311. dual,
  312. helpstring("IFaxLoggingOptions interface"),
  313. pointer_default(unique),
  314. nonextensible
  315. ]
  316. interface IFaxLoggingOptions : IDispatch
  317. {
  318. [propget, id(1), helpstring("Event logging configuration object")]
  319. HRESULT EventLogging([out, retval] IFaxEventLogging **pFaxEventLogging);
  320. [propget, id(2), helpstring("Activity logging configuration object")]
  321. HRESULT ActivityLogging([out, retval] IFaxActivityLogging **pFaxActivityLogging);
  322. };
  323. [
  324. object,
  325. uuid(4B106F97-3DF5-40F2-BC3C-44CB8115EBDF),
  326. dual,
  327. helpstring("IFaxActivity interface"),
  328. pointer_default(unique),
  329. nonextensible
  330. ]
  331. interface IFaxActivity : IDispatch
  332. {
  333. [propget, id(1), helpstring("Number of incoming messages")]
  334. HRESULT IncomingMessages([out, retval] long *plIncomingMessages);
  335. [propget, id(2), helpstring("Number of routed incoming messages")]
  336. HRESULT RoutingMessages([out, retval] long *plRoutingMessages);
  337. [propget, id(3), helpstring("Number of outgoing messages")]
  338. HRESULT OutgoingMessages([out, retval] long *plOutgoingMessages);
  339. [propget, id(4), helpstring("Number of queued messages")]
  340. HRESULT QueuedMessages([out, retval] long *plQueuedMessages);
  341. [id(5), helpstring("Refresh the object")]
  342. HRESULT Refresh();
  343. };
  344. [
  345. object,
  346. uuid(25DC05A4-9909-41BD-A95B-7E5D1DEC1D43),
  347. dual,
  348. helpstring("IFaxOutboundRouting interface"),
  349. pointer_default(unique),
  350. nonextensible
  351. ]
  352. interface IFaxOutboundRouting : IDispatch
  353. {
  354. [id(1), helpstring("Configuration of the outbound routing groups")]
  355. HRESULT GetGroups([out, retval] IFaxOutboundRoutingGroups **pFaxOutboundRoutingGroups);
  356. [id(2), helpstring("Configuration of the outbound routing rules")]
  357. HRESULT GetRules([out, retval] IFaxOutboundRoutingRules **pFaxOutboundRoutingRules);
  358. };
  359. [
  360. object,
  361. uuid(378EFAEB-5FCB-4AFB-B2EE-E16E80614487),
  362. dual,
  363. helpstring("IFaxReceiptOptions interface"),
  364. pointer_default(unique),
  365. nonextensible
  366. ]
  367. interface IFaxReceiptOptions : IDispatch
  368. {
  369. typedef enum FAX_SMTP_AUTHENTICATION_TYPE_ENUM
  370. {
  371. fsatANONYMOUS,
  372. fsatBASIC,
  373. fsatNTLM
  374. } FAX_SMTP_AUTHENTICATION_TYPE_ENUM;
  375. typedef enum FAX_RECEIPT_TYPE_ENUM
  376. {
  377. frtNONE = 0x0000,
  378. frtMAIL = 0x0001,
  379. frtMSGBOX = 0x0004
  380. } FAX_RECEIPT_TYPE_ENUM;
  381. [propget, id(1), helpstring("Authentication type used by server")]
  382. HRESULT AuthenticationType([out, retval] FAX_SMTP_AUTHENTICATION_TYPE_ENUM *pType);
  383. [propput, id(1), helpstring("Authentication type used by server")]
  384. HRESULT AuthenticationType([in] FAX_SMTP_AUTHENTICATION_TYPE_ENUM Type);
  385. [propget, id(2), helpstring("Name of the SMTP server")]
  386. HRESULT SMTPServer([out, retval] BSTR *pbstrSMTPServer);
  387. [propput, id(2), helpstring("Name of the SMTP server")]
  388. HRESULT SMTPServer([in] BSTR bstrSMTPServer);
  389. [propget, id(3), helpstring("SMTP port number")]
  390. HRESULT SMTPPort([out, retval] long *plSMTPPort);
  391. [propput, id(3), helpstring("SMTP port number")]
  392. HRESULT SMTPPort([in] long lSMTPPort);
  393. [propget, id(4), helpstring("SMTP sender e-mail address")]
  394. HRESULT SMTPSender([out, retval] BSTR *pbstrSMTPSender);
  395. [propput, id(4), helpstring("SMTP sender e-mail address")]
  396. HRESULT SMTPSender([in] BSTR bstrSMTPSender);
  397. [propget, id(5), helpstring("SMTP user name")]
  398. HRESULT SMTPUser([out, retval] BSTR *pbstrSMTPUser);
  399. [propput, id(5), helpstring("SMTP user name")]
  400. HRESULT SMTPUser([in] BSTR bstrSMTPUser);
  401. [propget, id(6), helpstring("Allowed receipt types, a bit-wise combination of FAX_RECEIPT_TYPE values")]
  402. HRESULT AllowedReceipts([out, retval] FAX_RECEIPT_TYPE_ENUM *pAllowedReceipts);
  403. [propput, id(6), helpstring("Allowed receipt types, a bit-wise combination of FAX_RECEIPT_TYPE values")]
  404. HRESULT AllowedReceipts([in] FAX_RECEIPT_TYPE_ENUM AllowedReceipts);
  405. [propget, id(7), helpstring("SMTP password")]
  406. HRESULT SMTPPassword([out, retval] BSTR *pbstrSMTPPassword);
  407. [propput, id(7), helpstring("SMTP password")]
  408. HRESULT SMTPPassword([in] BSTR bstrSMTPPassword);
  409. [id(8), helpstring("Refresh the object")]
  410. HRESULT Refresh();
  411. [id(9), helpstring("Save the object")]
  412. HRESULT Save();
  413. [propget, id(10), helpstring("Whether to use the IFaxReceiptOptions settings for MS routing extension")]
  414. HRESULT UseForInboundRouting([out, retval] VARIANT_BOOL *pbUseForInboundRouting);
  415. [propput, id(10), helpstring("Whether to use the IFaxReceiptOptions settings for MS routing extension")]
  416. HRESULT UseForInboundRouting([in] VARIANT_BOOL bUseForInboundRouting);
  417. };
  418. [
  419. object,
  420. uuid(77B508C1-09C0-47A2-91EB-FCE7FDF2690E),
  421. dual,
  422. helpstring("IFaxSecurity interface"),
  423. pointer_default(unique),
  424. nonextensible
  425. ]
  426. interface IFaxSecurity : IDispatch
  427. {
  428. typedef enum FAX_ACCESS_RIGHTS_ENUM
  429. {
  430. farSUBMIT_LOW = 0x0001,
  431. farSUBMIT_NORMAL = 0x0002,
  432. farSUBMIT_HIGH = 0x0004,
  433. farQUERY_JOBS = 0x0008,
  434. farMANAGE_JOBS = 0x0010,
  435. farQUERY_CONFIG = 0x0020,
  436. farMANAGE_CONFIG = 0x0040,
  437. farQUERY_IN_ARCHIVE = 0x0080,
  438. farMANAGE_IN_ARCHIVE = 0x0100,
  439. farQUERY_OUT_ARCHIVE = 0x0200,
  440. farMANAGE_OUT_ARCHIVE = 0x0400
  441. } FAX_ACCESS_RIGHTS_ENUM;
  442. [propget, id(1), helpstring("Security descriptor")]
  443. HRESULT Descriptor([out, retval] VARIANT *pvDescriptor);
  444. [propput, id(1), helpstring("Security descriptor")]
  445. HRESULT Descriptor([in] VARIANT vDescriptor);
  446. [propget, id(2), helpstring("Granted rights, a bit-wise combination of FAX_ACCESS_RIGHTS values")]
  447. HRESULT GrantedRights([out, retval] FAX_ACCESS_RIGHTS_ENUM *pGrantedRights);
  448. [id(3), helpstring("Refresh the object")]
  449. HRESULT Refresh();
  450. [id(4), helpstring("Save the object")]
  451. HRESULT Save();
  452. [propget, id(5), helpstring("Security Information Type")]
  453. HRESULT InformationType([out, retval] long *plInformationType);
  454. [propput, id(5), helpstring("Security Information Type")]
  455. HRESULT InformationType([in] long lInformationType);
  456. };
  457. [
  458. object,
  459. uuid(B207A246-09E3-4A4E-A7DC-FEA31D29458F),
  460. dual,
  461. helpstring("IFaxDocument interface"),
  462. pointer_default(unique),
  463. nonextensible
  464. ]
  465. interface IFaxDocument : IDispatch
  466. {
  467. typedef enum FAX_PRIORITY_TYPE_ENUM
  468. {
  469. fptLOW,
  470. fptNORMAL,
  471. fptHIGH
  472. } FAX_PRIORITY_TYPE_ENUM;
  473. typedef enum FAX_COVERPAGE_TYPE_ENUM
  474. {
  475. fcptNONE,
  476. fcptLOCAL,
  477. fcptSERVER
  478. } FAX_COVERPAGE_TYPE_ENUM;
  479. typedef enum FAX_SCHEDULE_TYPE_ENUM
  480. {
  481. fstNOW,
  482. fstSPECIFIC_TIME,
  483. fstDISCOUNT_PERIOD
  484. } FAX_SCHEDULE_TYPE_ENUM;
  485. [propget, id(1), helpstring("Full path to the fax document body file")]
  486. HRESULT Body([out, retval] BSTR *pbstrBody);
  487. [propput, id(1), helpstring("Full path to the fax document body file")]
  488. HRESULT Body([in] BSTR bstrBody);
  489. [propget, id(2), helpstring("Sender information object")]
  490. HRESULT Sender([out, retval] IFaxSender **ppFaxSender);
  491. [propget, id(3), helpstring("Collection of recipients")]
  492. HRESULT Recipients([out, retval] IFaxRecipients **ppFaxRecipients);
  493. [propget, id(4), helpstring("Cover page file path")]
  494. HRESULT CoverPage([out, retval] BSTR *pbstrCoverPage);
  495. [propput, id(4), helpstring("Cover page file path")]
  496. HRESULT CoverPage([in] BSTR bstrCoverPage);
  497. [propget, id(5), helpstring("Contents of cover page subject field")]
  498. HRESULT Subject([out, retval] BSTR *pbstrSubject);
  499. [propput, id(5), helpstring("Contents of cover page subject field")]
  500. HRESULT Subject([in] BSTR bstrSubject);
  501. [propget, id(6), helpstring("Contents of cover page note field")]
  502. HRESULT Note([out, retval] BSTR *pbstrNote);
  503. [propput, id(6), helpstring("Contents of cover page note field")]
  504. HRESULT Note([in] BSTR bstrNote);
  505. [propget, id(7), helpstring("Time to send the fax")]
  506. HRESULT ScheduleTime([out, retval] DATE *pdateScheduleTime);
  507. [propput, id(7), helpstring("Time to send the fax")]
  508. HRESULT ScheduleTime([in] DATE dateScheduleTime);
  509. [propget, id(8), helpstring("Address of the receipt")]
  510. HRESULT ReceiptAddress([out, retval] BSTR *pbstrReceiptAddress);
  511. [propput, id(8), helpstring("Set the address of the receipt")]
  512. HRESULT ReceiptAddress([in] BSTR bstrReceiptAddress);
  513. [propget, id(9), helpstring("The document name")]
  514. HRESULT DocumentName([out, retval] BSTR *pbstrDocumentName);
  515. [propput, id(9), helpstring("The document name")]
  516. HRESULT DocumentName([in] BSTR bstrDocumentName);
  517. [propget, id(10), helpstring("Call handle")]
  518. HRESULT CallHandle([out, retval] long *plCallHandle);
  519. [propput, id(10), helpstring("Call handle")]
  520. HRESULT CallHandle([in] long lCallHandle);
  521. [propget, id(11), helpstring("Is server, local, or no cover page used")]
  522. HRESULT CoverPageType([out, retval] FAX_COVERPAGE_TYPE_ENUM *pCoverPageType);
  523. [propput, id(11), helpstring("Is server, local, or no cover page used")]
  524. HRESULT CoverPageType([in] FAX_COVERPAGE_TYPE_ENUM CoverPageType);
  525. [propget, id(12), helpstring("When to send the fax")]
  526. HRESULT ScheduleType([out, retval] FAX_SCHEDULE_TYPE_ENUM *pScheduleType);
  527. [propput, id(12), helpstring("When to send the fax")]
  528. HRESULT ScheduleType([in] FAX_SCHEDULE_TYPE_ENUM ScheduleType);
  529. [propget, id(13), helpstring("Type of the receipt")]
  530. HRESULT ReceiptType([out, retval] FAX_RECEIPT_TYPE_ENUM *pReceiptType);
  531. [propput, id(13), helpstring("Type of the receipt")]
  532. HRESULT ReceiptType([in] FAX_RECEIPT_TYPE_ENUM ReceiptType);
  533. [propget, id(14), helpstring("Whether to group the broadcast receipts")]
  534. HRESULT GroupBroadcastReceipts([out, retval] VARIANT_BOOL *pbUseGrouping);
  535. [propput, id(14), helpstring("Whether to group the broadcast receipts")]
  536. HRESULT GroupBroadcastReceipts([in] VARIANT_BOOL bUseGrouping);
  537. [propget, id(15), helpstring("Priority of the fax")]
  538. HRESULT Priority([out, retval] FAX_PRIORITY_TYPE_ENUM *pPriority);
  539. [propput, id(15), helpstring("Priority of the fax")]
  540. HRESULT Priority([in] FAX_PRIORITY_TYPE_ENUM Priority);
  541. [propget, id(16), helpstring("Tapi connection")]
  542. HRESULT TapiConnection([out, retval] IDispatch **ppTapiConnection);
  543. [propputref, id(16), helpstring("Tapi connection")]
  544. HRESULT TapiConnection([in] IDispatch *pTapiConnection);
  545. [id(17), helpstring("Connect to server, submit the fax document, disconnect")]
  546. HRESULT Submit([in] BSTR bstrFaxServerName, [out, retval] VARIANT *pvFaxOutgoingJobIDs);
  547. [id(18), helpstring("Submit the fax document on the already connected server")]
  548. HRESULT ConnectedSubmit([in] IFaxServer *pFaxServer, [out, retval] VARIANT *pvFaxOutgoingJobIDs);
  549. [propget, id(19), helpstring("Whether to attach a fax to the receipt")]
  550. HRESULT AttachFaxToReceipt([out, retval] VARIANT_BOOL *pbAttachFax);
  551. [propput, id(19), helpstring("Whether to attach a fax to the receipt")]
  552. HRESULT AttachFaxToReceipt([in] VARIANT_BOOL bAttachFax);
  553. };
  554. [
  555. object,
  556. uuid(0D879D7D-F57A-4CC6-A6F9-3EE5D527B46A),
  557. dual,
  558. helpstring("IFaxSender interface"),
  559. pointer_default(unique),
  560. nonextensible
  561. ]
  562. interface IFaxSender : IDispatch
  563. {
  564. [propget, id(1), helpstring("Sender's billing code")]
  565. HRESULT BillingCode([out, retval] BSTR *pbstrBillingCode);
  566. [propput, id(1), helpstring("Sender's billing code")]
  567. HRESULT BillingCode([in] BSTR bstrBillingCode);
  568. [propget, id(2), helpstring("City")]
  569. HRESULT City([out, retval] BSTR *pbstrCity);
  570. [propput, id(2), helpstring("Sender's city")]
  571. HRESULT City([in] BSTR bstrCity);
  572. [propget, id(3), helpstring("Sender's company")]
  573. HRESULT Company([out, retval] BSTR *pbstrCompany);
  574. [propput, id(3), helpstring("Sender's company")]
  575. HRESULT Company([in] BSTR bstrCompany);
  576. [propget, id(4), helpstring("Sender's country or region")]
  577. HRESULT Country([out, retval] BSTR *pbstrCountry);
  578. [propput, id(4), helpstring("Sender's country or region")]
  579. HRESULT Country([in] BSTR bstrCountry);
  580. [propget, id(5), helpstring("Sender's department")]
  581. HRESULT Department([out, retval] BSTR *pbstrDepartment);
  582. [propput, id(5), helpstring("Sender's department")]
  583. HRESULT Department([in] BSTR bstrDepartment);
  584. [propget, id(6), helpstring("Sender's e-mail address")]
  585. HRESULT Email([out, retval] BSTR *pbstrEmail);
  586. [propput, id(6), helpstring("Sender's e-mail address")]
  587. HRESULT Email([in] BSTR bstrEmail);
  588. [propget, id(7), helpstring("Sender's fax number")]
  589. HRESULT FaxNumber([out, retval] BSTR *pbstrFaxNumber);
  590. [propput, id(7), helpstring("Sender's fax number")]
  591. HRESULT FaxNumber([in] BSTR bstrFaxNumber);
  592. [propget, id(8), helpstring("Sender's home phone")]
  593. HRESULT HomePhone([out, retval] BSTR *pbstrHomePhone);
  594. [propput, id(8), helpstring("Sender's home phone")]
  595. HRESULT HomePhone([in] BSTR bstrHomePhone);
  596. [propget, id(9), helpstring("Sender's name")]
  597. HRESULT Name([out, retval] BSTR *pbstrName);
  598. [propput, id(9), helpstring("Sender's name")]
  599. HRESULT Name([in] BSTR bstrName);
  600. [propget, id(10), helpstring("Transmitting Station ID")]
  601. HRESULT TSID([out, retval] BSTR *pbstrTSID);
  602. [propput, id(10), helpstring("Transmitting Station ID")]
  603. HRESULT TSID([in] BSTR bstrTSID);
  604. [propget, id(11), helpstring("Sender's office phone")]
  605. HRESULT OfficePhone([out, retval] BSTR *pbstrOfficePhone);
  606. [propput, id(11), helpstring("Sender's office phone")]
  607. HRESULT OfficePhone([in] BSTR bstrOfficePhone);
  608. [propget, id(12), helpstring("Sender's office location")]
  609. HRESULT OfficeLocation([out, retval] BSTR *pbstrOfficeLocation);
  610. [propput, id(12), helpstring("Sender's office location")]
  611. HRESULT OfficeLocation([in] BSTR bstrOfficeLocation);
  612. [propget, id(13), helpstring("Sender's state")]
  613. HRESULT State([out, retval] BSTR *pbstrState);
  614. [propput, id(13), helpstring("Sender's state")]
  615. HRESULT State([in] BSTR bstrState);
  616. [propget, id(14), helpstring("Sender's street address")]
  617. HRESULT StreetAddress([out, retval] BSTR *pbstrStreetAddress);
  618. [propput, id(14), helpstring("Sender's street address")]
  619. HRESULT StreetAddress([in] BSTR bstrStreetAddress);
  620. [propget, id(15), helpstring("Sender's title")]
  621. HRESULT Title([out, retval] BSTR *pbstrTitle);
  622. [propput, id(15), helpstring("Sender's title")]
  623. HRESULT Title([in] BSTR bstrTitle);
  624. [propget, id(16), helpstring("Sender's zip code")]
  625. HRESULT ZipCode([out, retval] BSTR *pbstrZipCode);
  626. [propput, id(16), helpstring("Sender's zip code")]
  627. HRESULT ZipCode([in] BSTR bstrZipCode);
  628. [id(17), helpstring("Load default sender")]
  629. HRESULT LoadDefaultSender();
  630. [id(18), helpstring("Save default sender")]
  631. HRESULT SaveDefaultSender();
  632. };
  633. [
  634. object,
  635. uuid(9A3DA3A0-538D-42b6-9444-AAA57D0CE2BC),
  636. dual,
  637. helpstring("IFaxRecipient interface"),
  638. pointer_default(unique),
  639. nonextensible
  640. ]
  641. interface IFaxRecipient : IDispatch
  642. {
  643. [propget, id(1), helpstring("Recipient's fax number")]
  644. HRESULT FaxNumber([out, retval] BSTR *pbstrFaxNumber);
  645. [propput, id(1), helpstring("Recipient's fax number")]
  646. HRESULT FaxNumber([in] BSTR bstrFaxNumber);
  647. [propget, id(2), helpstring("Recipient's name")]
  648. HRESULT Name([out, retval] BSTR *pbstrName);
  649. [propput, id(2), helpstring("Recipient's name")]
  650. HRESULT Name([in] BSTR bstrName);
  651. };
  652. [
  653. object,
  654. uuid(B9C9DE5A-894E-4492-9FA3-08C627C11D5D),
  655. dual,
  656. helpstring("IFaxRecipients interface"),
  657. pointer_default(unique),
  658. nonextensible
  659. ]
  660. interface IFaxRecipients : IDispatch
  661. {
  662. [id(DISPID_NEWENUM), propget]
  663. HRESULT _NewEnum([out, retval] IUnknown **ppUnk);
  664. [id(DISPID_VALUE), propget]
  665. HRESULT Item([in] long lIndex, [out, retval] IFaxRecipient **ppFaxRecipient);
  666. [id(1), propget]
  667. HRESULT Count([out, retval] long *plCount);
  668. [id(2), helpstring("Add a recipient")]
  669. HRESULT Add(
  670. [in] BSTR bstrFaxNumber,
  671. [in, defaultvalue("")] BSTR bstrRecipientName,
  672. [out, retval] IFaxRecipient **ppFaxRecipient);
  673. [id(3), helpstring("Remove a recipient")]
  674. HRESULT Remove([in] long lIndex);
  675. };
  676. [
  677. object,
  678. uuid(76062CC7-F714-4FBD-AA06-ED6E4A4B70F3),
  679. dual,
  680. helpstring("IFaxIncomingArchive interface"),
  681. pointer_default(unique)
  682. ]
  683. interface IFaxIncomingArchive : IDispatch
  684. {
  685. [propget, id(1), helpstring("Whether received faxes should be archived")]
  686. HRESULT UseArchive([out, retval] VARIANT_BOOL *pbUseArchive);
  687. [propput, id(1), helpstring("Whether received faxes should be archived")]
  688. HRESULT UseArchive([in] VARIANT_BOOL bUseArchive);
  689. [propget, id(2), helpstring("Location of the archive folder on the server")]
  690. HRESULT ArchiveFolder([out, retval] BSTR *pbstrArchiveFolder);
  691. [propput, id(2), helpstring("Location of the archive folder on the server")]
  692. HRESULT ArchiveFolder([in] BSTR bstrArchiveFolder);
  693. [propget, id(3), helpstring("Is size quota warning on")]
  694. HRESULT SizeQuotaWarning([out, retval] VARIANT_BOOL *pbSizeQuotaWarning);
  695. [propput, id(3), helpstring("Is size quota warning on")]
  696. HRESULT SizeQuotaWarning([in] VARIANT_BOOL bSizeQuotaWarning);
  697. [propget, id(4), helpstring("High quota water mark")]
  698. HRESULT HighQuotaWaterMark([out, retval] long *plHighQuotaWaterMark);
  699. [propput, id(4), helpstring("High quota water mark")]
  700. HRESULT HighQuotaWaterMark([in] long lHighQuotaWaterMark);
  701. [propget, id(5), helpstring("Low quota water mark")]
  702. HRESULT LowQuotaWaterMark([out, retval] long *plLowQuotaWaterMark);
  703. [propput, id(5), helpstring("Low quota water mark")]
  704. HRESULT LowQuotaWaterMark([in] long lLowQuotaWaterMark);
  705. [propget, id(6), helpstring("How long the fax message is kept on the Server")]
  706. HRESULT AgeLimit([out, retval] long *plAgeLimit);
  707. [propput, id(6), helpstring("How long the fax message is kept on the server")]
  708. HRESULT AgeLimit([in] long lAgeLimit);
  709. [propget, id(7), helpstring("The low 32-bit value of the archive size")]
  710. HRESULT SizeLow([out, retval] long *plSizeLow);
  711. [propget, id(8), helpstring("The high 32-bit value of the archive size")]
  712. HRESULT SizeHigh([out, retval] long *plSizeHigh);
  713. [id(9), helpstring("Refresh the object")]
  714. HRESULT Refresh();
  715. [id(10), helpstring("Save the object")]
  716. HRESULT Save();
  717. [id(11), helpstring("Iterator on the archived messages")]
  718. HRESULT GetMessages(
  719. [in, defaultvalue(prv_DEFAULT_PREFETCH_SIZE)] long lPrefetchSize,
  720. [out, retval] IFaxIncomingMessageIterator **pFaxIncomingMessageIterator);
  721. [id(12), helpstring("Get archived message by its ID")]
  722. HRESULT GetMessage(
  723. [in] BSTR bstrMessageId,
  724. [out,retval] IFaxIncomingMessage **pFaxIncomingMessage);
  725. };
  726. [
  727. object,
  728. uuid(902E64EF-8FD8-4B75-9725-6014DF161545),
  729. dual,
  730. helpstring("IFaxIncomingQueue interface"),
  731. pointer_default(unique)
  732. ]
  733. interface IFaxIncomingQueue : IDispatch
  734. {
  735. [propget, id(1), helpstring("Is queue blocked")]
  736. HRESULT Blocked([out, retval] VARIANT_BOOL *pbBlocked);
  737. [propput, id(1), helpstring("Is queue blocked")]
  738. HRESULT Blocked([in] VARIANT_BOOL bBlocked);
  739. [id(2), helpstring("Refresh the object")]
  740. HRESULT Refresh();
  741. [id(3), helpstring("Save the object")]
  742. HRESULT Save();
  743. [id(4), helpstring("Collection of incoming jobs")]
  744. HRESULT GetJobs([out, retval] IFaxIncomingJobs **pFaxIncomingJobs);
  745. [id(5), helpstring("Get incoming job by ID")]
  746. HRESULT GetJob([in] BSTR bstrJobId, [out, retval] IFaxIncomingJob **pFaxIncomingJob);
  747. };
  748. [
  749. object,
  750. uuid(C9C28F40-8D80-4E53-810F-9A79919B49FD),
  751. dual,
  752. helpstring("IFaxOutgoingArchive interface"),
  753. pointer_default(unique)
  754. ]
  755. interface IFaxOutgoingArchive : IDispatch
  756. {
  757. [propget, id(1), helpstring("Whether sent faxes should be archived")]
  758. HRESULT UseArchive([out, retval] VARIANT_BOOL *pbUseArchive);
  759. [propput, id(1), helpstring("Whether sent faxes should be archived ?")]
  760. HRESULT UseArchive([in] VARIANT_BOOL bUseArchive);
  761. [propget, id(2), helpstring("Location of the outgoing archive on the server")]
  762. HRESULT ArchiveFolder([out, retval] BSTR *pbstrArchiveFolder);
  763. [propput, id(2), helpstring("Location of the outgoing archive on the server")]
  764. HRESULT ArchiveFolder([in] BSTR bstrArchiveFolder);
  765. [propget, id(3), helpstring("Is the size quota warning on or off")]
  766. HRESULT SizeQuotaWarning([out, retval] VARIANT_BOOL *pbSizeQuotaWarning);
  767. [propput, id(3), helpstring("Is the size quota warning on or off")]
  768. HRESULT SizeQuotaWarning([in] VARIANT_BOOL bSizeQuotaWarning);
  769. [propget, id(4), helpstring("High quota water mark")]
  770. HRESULT HighQuotaWaterMark([out, retval] long *plHighQuotaWaterMark);
  771. [propput, id(4), helpstring("High quota water mark")]
  772. HRESULT HighQuotaWaterMark([in] long lHighQuotaWaterMark);
  773. [propget, id(5), helpstring("Low quota water mark")]
  774. HRESULT LowQuotaWaterMark([out, retval] long *plLowQuotaWaterMark);
  775. [propput, id(5), helpstring("Low quota water mark")]
  776. HRESULT LowQuotaWaterMark([in] long lLowQuotaWaterMark);
  777. [propget, id(6), helpstring("Indicates how long the fax message is kept on the server")]
  778. HRESULT AgeLimit([out, retval] long *plAgeLimit);
  779. [propput, id(6), helpstring("Set how long the fax message is kept on the server")]
  780. HRESULT AgeLimit([in] long lAgeLimit);
  781. [propget, id(7), helpstring("The low 32-bit value of the archive size")]
  782. HRESULT SizeLow([out, retval] long *plSizeLow);
  783. [propget, id(8), helpstring("The high 32-bit value of the archive size")]
  784. HRESULT SizeHigh([out, retval] long *plSizeHigh);
  785. [id(9), helpstring("Refresh the object")]
  786. HRESULT Refresh();
  787. [id(10), helpstring("Save the object")]
  788. HRESULT Save();
  789. [id(11), helpstring("Iterator on the archived messages")]
  790. HRESULT GetMessages(
  791. [in, defaultvalue(prv_DEFAULT_PREFETCH_SIZE)] long lPrefetchSize,
  792. [out, retval] IFaxOutgoingMessageIterator **pFaxOutgoingMessageIterator);
  793. [id(12), helpstring("Get an archived message by its ID")]
  794. HRESULT GetMessage(
  795. [in] BSTR bstrMessageId,
  796. [out,retval] IFaxOutgoingMessage **pFaxOutgoingMessage);
  797. };
  798. [
  799. object,
  800. uuid(80B1DF24-D9AC-4333-B373-487CEDC80CE5),
  801. dual,
  802. helpstring("IFaxOutgoingQueue interface"),
  803. pointer_default(unique)
  804. ]
  805. interface IFaxOutgoingQueue : IDispatch
  806. {
  807. [propget, id(1), helpstring("Is the queue blocked")]
  808. HRESULT Blocked([out, retval] VARIANT_BOOL *pbBlocked);
  809. [propput, id(1), helpstring("Is the queue blocked")]
  810. HRESULT Blocked([in] VARIANT_BOOL bBlocked);
  811. [propget, id(2), helpstring("Is the queue paused")]
  812. HRESULT Paused([out, retval] VARIANT_BOOL *pbPaused);
  813. [propput, id(2), helpstring("Is the queue paused")]
  814. HRESULT Paused([in] VARIANT_BOOL bPaused);
  815. [propget, id(3), helpstring("Are personal cover pages allowed")]
  816. HRESULT AllowPersonalCoverPages([out, retval] VARIANT_BOOL *pbAllowPersonalCoverPages);
  817. [propput, id(3), helpstring("Are personal cover pages allowed")]
  818. HRESULT AllowPersonalCoverPages([in] VARIANT_BOOL bAllowPersonalCoverPages);
  819. [propget, id(4), helpstring("Is device Transmitting Station ID used")]
  820. HRESULT UseDeviceTSID([out, retval] VARIANT_BOOL *pbUseDeviceTSID);
  821. [propput, id(4), helpstring("Is device Transmitting Station ID used")]
  822. HRESULT UseDeviceTSID([in] VARIANT_BOOL bUseDeviceTSID);
  823. [propget, id(5), helpstring("Number of retries")]
  824. HRESULT Retries([out, retval] long *plRetries);
  825. [propput, id(5), helpstring("Number of retries")]
  826. HRESULT Retries([in] long lRetries);
  827. [propget, id(6), helpstring("Retry delay")]
  828. HRESULT RetryDelay([out, retval] long *plRetryDelay);
  829. [propput, id(6), helpstring("Retry delay")]
  830. HRESULT RetryDelay([in] long lRetryDelay);
  831. [propget, id(7), helpstring("Start of the discount rate period")]
  832. HRESULT DiscountRateStart([out, retval] DATE *pdateDiscountRateStart);
  833. [propput, id(7), helpstring("Start of the discount rate period")]
  834. HRESULT DiscountRateStart([in] DATE dateDiscountRateStart);
  835. [propget, id(8), helpstring("End of the discount rate period")]
  836. HRESULT DiscountRateEnd([out, retval] DATE *pdateDiscountRateEnd);
  837. [propput, id(8), helpstring("End of the discount rate period")]
  838. HRESULT DiscountRateEnd([in] DATE dateDiscountRateEnd);
  839. [propget, id(9), helpstring("How long the failed fax message is kept on the server")]
  840. HRESULT AgeLimit([out, retval] long *plAgeLimit);
  841. [propput, id(9), helpstring("How long the failed fax message is kept on the server")]
  842. HRESULT AgeLimit([in] long lAgeLimit);
  843. [propget, id(10), helpstring("Does the server generate a brand")]
  844. HRESULT Branding([out, retval] VARIANT_BOOL *pbBranding);
  845. [propput, id(10), helpstring("Does the server generate a brand")]
  846. HRESULT Branding([in] VARIANT_BOOL bBranding);
  847. [id(11), helpstring("Refresh the object")]
  848. HRESULT Refresh();
  849. [id(12), helpstring("Save the object")]
  850. HRESULT Save();
  851. [id(13), helpstring("Collection of outgoing jobs")]
  852. HRESULT GetJobs([out, retval] IFaxOutgoingJobs **pFaxOutgoingJobs);
  853. [id(14), helpstring("Outgoing job by ID")]
  854. HRESULT GetJob([in] BSTR bstrJobId, [out, retval] IFaxOutgoingJob **pFaxOutgoingJob);
  855. };
  856. [
  857. object,
  858. uuid(FD73ECC4-6F06-4F52-82A8-F7BA06AE3108),
  859. dual,
  860. helpstring("IFaxIncomingMessageIterator interface"),
  861. pointer_default(unique)
  862. ]
  863. interface IFaxIncomingMessageIterator : IDispatch
  864. {
  865. [propget, id(1), helpstring("The current message")]
  866. HRESULT Message([out, retval] IFaxIncomingMessage **pFaxIncomingMessage);
  867. [propget, id(2), helpstring("Size of the prefetch buffer")]
  868. HRESULT PrefetchSize([out, retval] long *plPrefetchSize);
  869. [propput, id(2), helpstring("Size of the prefetch buffer")]
  870. HRESULT PrefetchSize([in] long lPrefetchSize);
  871. [propget, id(3), helpstring("End of archive marker")]
  872. HRESULT AtEOF([out, retval] VARIANT_BOOL *pbEOF);
  873. [id(4), helpstring("Move to the first message in the archive")]
  874. HRESULT MoveFirst();
  875. [id(5), helpstring("Move to the next message in the archive")]
  876. HRESULT MoveNext();
  877. };
  878. [
  879. object,
  880. uuid(7CAB88FA-2EF9-4851-B2F3-1D148FED8447),
  881. dual,
  882. helpstring("IFaxIncomingMessage interface"),
  883. pointer_default(unique)
  884. ]
  885. interface IFaxIncomingMessage : IDispatch
  886. {
  887. [propget, id(1), helpstring("Unique message ID")]
  888. HRESULT Id([out, retval] BSTR *pbstrId);
  889. [propget, id(2), helpstring("Total number of pages")]
  890. HRESULT Pages([out, retval] long *plPages);
  891. [propget, id(3), helpstring("Size in bytes of the message's TIFF file")]
  892. HRESULT Size([out, retval] long *plSize);
  893. [propget, id(4), helpstring("Name of the device that received the message")]
  894. HRESULT DeviceName([out, retval] BSTR *pbstrDeviceName);
  895. [propget, id(5), helpstring("Number of failed routing retries")]
  896. HRESULT Retries([out, retval] long *plRetries);
  897. [propget, id(6), helpstring("Transmission start time")]
  898. HRESULT TransmissionStart([out, retval] DATE *pdateTransmissionStart);
  899. [propget, id(7), helpstring("Transmission end time")]
  900. HRESULT TransmissionEnd([out, retval] DATE *pdateTransmissionEnd);
  901. [propget, id(8), helpstring("Called Station ID")]
  902. HRESULT CSID([out, retval] BSTR *pbstrCSID);
  903. [propget, id(9), helpstring("Transmitting Station ID")]
  904. HRESULT TSID([out, retval] BSTR *pbstrTSID);
  905. [propget, id(10), helpstring("Caller ID")]
  906. HRESULT CallerId([out, retval] BSTR *pbstrCallerId);
  907. [propget, id(11), helpstring("Routing information")]
  908. HRESULT RoutingInformation([out, retval] BSTR *pbstrRoutingInformation);
  909. [id(12), helpstring("Copy Tiff image to the local file")]
  910. HRESULT CopyTiff([in] BSTR bstrTiffPath);
  911. [id(13), helpstring("Delete the message from the archive")]
  912. HRESULT Delete();
  913. };
  914. [
  915. object,
  916. uuid(2C56D8E6-8C2F-4573-944C-E505F8F5AEED),
  917. dual,
  918. helpstring("IFaxOutgoingJobs interface"),
  919. pointer_default(unique)
  920. ]
  921. interface IFaxOutgoingJobs : IDispatch
  922. {
  923. [id(DISPID_NEWENUM), propget]
  924. HRESULT _NewEnum([out, retval] IUnknown **ppUnk);
  925. [id(DISPID_VALUE), propget]
  926. HRESULT Item([in] VARIANT vIndex, [out, retval] IFaxOutgoingJob **pFaxOutgoingJob);
  927. [id(1), propget]
  928. HRESULT Count([out, retval] long* plCount);
  929. };
  930. [
  931. object,
  932. uuid(6356DAAD-6614-4583-BF7A-3AD67BBFC71C),
  933. dual,
  934. helpstring("IFaxOutgoingJob interface"),
  935. pointer_default(unique)
  936. ]
  937. interface IFaxOutgoingJob : IDispatch
  938. {
  939. [propget, id(1), helpstring("Cover page's subject field")]
  940. HRESULT Subject([out, retval] BSTR *pbstrSubject);
  941. [propget, id(2), helpstring("Document's friendly name")]
  942. HRESULT DocumentName([out, retval] BSTR *pbstrDocumentName);
  943. [propget, id(3), helpstring("Total number of pages")]
  944. HRESULT Pages([out, retval] long *plPages);
  945. [propget, id(4), helpstring("Size in bytes of TIFF file")]
  946. HRESULT Size([out, retval] long *plSize);
  947. [propget, id(5), helpstring("Unique ID the submission process created for the Job")]
  948. HRESULT SubmissionId([out, retval] BSTR *pbstrSubmissionId);
  949. [propget, id(6), helpstring("Unique job ID")]
  950. HRESULT Id([out, retval] BSTR *pbstrId);
  951. [propget, id(7), helpstring("Time the job was originally scheduled to be transmitted")]
  952. HRESULT OriginalScheduledTime([out, retval] DATE *pdateOriginalScheduledTime);
  953. [propget, id(8), helpstring("Time the job was submitted")]
  954. HRESULT SubmissionTime([out, retval] DATE *pdateSubmissionTime);
  955. [propget, id(9), helpstring("Type of receipt")]
  956. HRESULT ReceiptType([out, retval] FAX_RECEIPT_TYPE_ENUM *pReceiptType);
  957. [propget, id(10), helpstring("Priority of the fax")]
  958. HRESULT Priority([out, retval] FAX_PRIORITY_TYPE_ENUM *pPriority);
  959. [propget, id(11), helpstring("Sender information object")]
  960. HRESULT Sender([out, retval] IFaxSender **ppFaxSender);
  961. [propget, id(12), helpstring("Recipient information object")]
  962. HRESULT Recipient([out, retval] IFaxRecipient **ppFaxRecipient);
  963. [propget, id(13), helpstring("Page currently in transmision")]
  964. HRESULT CurrentPage([out, retval] long *plCurrentPage);
  965. [propget, id(14), helpstring("Device ID that transmits the job")]
  966. HRESULT DeviceId([out, retval] long *plDeviceId);
  967. [propget, id(15), helpstring("Current queue status of the job")]
  968. HRESULT Status([out, retval] FAX_JOB_STATUS_ENUM *pStatus);
  969. [propget, id(16), helpstring("Code of the job's extended status")]
  970. HRESULT ExtendedStatusCode([out, retval] FAX_JOB_EXTENDED_STATUS_ENUM *pExtendedStatusCode);
  971. [propget, id(17), helpstring("Extended status description")]
  972. HRESULT ExtendedStatus([out, retval] BSTR *pbstrExtendedStatus);
  973. [propget, id(18), helpstring("Available operations, a bit-wise combination of FAX_JOB_OPERATIONS values")]
  974. HRESULT AvailableOperations([out, retval] FAX_JOB_OPERATIONS_ENUM *pAvailableOperations);
  975. [propget, id(19), helpstring("Number of failed transmission retries")]
  976. HRESULT Retries([out, retval] long *plRetries);
  977. [propget, id(20), helpstring("The time the fax job is scheduled to be transmitted")]
  978. HRESULT ScheduledTime([out, retval] DATE *pdateScheduledTime);
  979. [propget, id(21), helpstring("The time the fax job started its transmission")]
  980. HRESULT TransmissionStart([out, retval] DATE *pdateTransmissionStart);
  981. [propget, id(22), helpstring("The time the fax job finished its transmission")]
  982. HRESULT TransmissionEnd([out, retval] DATE *pdateTransmissionEnd);
  983. [propget, id(23), helpstring("Called Station ID")] HRESULT CSID([out, retval] BSTR *pbstrCSID);
  984. [propget, id(24), helpstring("Transmitting Station ID")]
  985. HRESULT TSID([out, retval] BSTR *pbstrTSID);
  986. [propget, id(25), helpstring("Whether to group broadcast receipts")]
  987. HRESULT GroupBroadcastReceipts([out, retval]VARIANT_BOOL *pbGroupBroadcastReceipts);
  988. [id(26), helpstring("Pause the outbound job")]
  989. HRESULT Pause();
  990. [id(27), helpstring("Resume the outbound job")]
  991. HRESULT Resume();
  992. [id(28), helpstring("Restart the outbound job")]
  993. HRESULT Restart();
  994. [id(29), helpstring("Copy the job's TIFF image")]
  995. HRESULT CopyTiff([in] BSTR bstrTiffPath);
  996. [id(30), helpstring("Refresh the object")]
  997. HRESULT Refresh();
  998. [id(31), helpstring("Cancel the outbound job")]
  999. HRESULT Cancel();
  1000. };
  1001. [
  1002. object,
  1003. uuid(F5EC5D4F-B840-432F-9980-112FE42A9B7A),
  1004. dual,
  1005. helpstring("IFaxOutgoingMessageIterator interface"),
  1006. pointer_default(unique)
  1007. ]
  1008. interface IFaxOutgoingMessageIterator : IDispatch
  1009. {
  1010. [propget, id(1), helpstring("Current message")]
  1011. HRESULT Message([out, retval] IFaxOutgoingMessage **pFaxOutgoingMessage);
  1012. [propget, id(2), helpstring("End of archive marker")]
  1013. HRESULT AtEOF([out, retval] VARIANT_BOOL *pbEOF);
  1014. [propget, id(3), helpstring("Size of prefetch buffer")]
  1015. HRESULT PrefetchSize([out, retval] long *plPrefetchSize);
  1016. [propput, id(3), helpstring("Size of prefetch buffer")]
  1017. HRESULT PrefetchSize([in] long lPrefetchSize);
  1018. [id(4), helpstring("Move to the first message")]
  1019. HRESULT MoveFirst();
  1020. [id(5), helpstring("Move to the next message")]
  1021. HRESULT MoveNext();
  1022. };
  1023. [
  1024. object,
  1025. uuid(F0EA35DE-CAA5-4A7C-82C7-2B60BA5F2BE2),
  1026. dual,
  1027. helpstring("IFaxOutgoingMessage interface"),
  1028. pointer_default(unique)
  1029. ]
  1030. interface IFaxOutgoingMessage : IDispatch
  1031. {
  1032. [propget, id(1), helpstring("Unique ID the submission process created for the job")]
  1033. HRESULT SubmissionId([out, retval] BSTR *pbstrSubmissionId);
  1034. [propget, id(2), helpstring("Unique message ID")]
  1035. HRESULT Id([out, retval] BSTR *pbstrId);
  1036. [propget, id(3), helpstring("Cover page's subject field")]
  1037. HRESULT Subject([out, retval] BSTR *pbstrSubject);
  1038. [propget, id(4), helpstring("Document's friendly name")]
  1039. HRESULT DocumentName([out, retval] BSTR *pbstrDocumentName);
  1040. [propget, id(5), helpstring("Number of failed routing retries")]
  1041. HRESULT Retries([out, retval] long *plRetries);
  1042. [propget, id(6), helpstring("Total number of pages")]
  1043. HRESULT Pages([out, retval] long *plPages);
  1044. [propget, id(7), helpstring("Size in bytes of TIFF file")]
  1045. HRESULT Size([out, retval] long *plSize);
  1046. [propget, id(8), helpstring("Time the job was originally scheduled to be transmitted")]
  1047. HRESULT OriginalScheduledTime([out, retval] DATE *pdateOriginalScheduledTime);
  1048. [propget, id(9), helpstring("Time the job was submitted")]
  1049. HRESULT SubmissionTime([out, retval] DATE *pdateSubmissionTime);
  1050. [propget, id(10), helpstring("Priority of the fax")]
  1051. HRESULT Priority([out, retval] FAX_PRIORITY_TYPE_ENUM *pPriority);
  1052. [propget, id(11), helpstring("Sender information object")]
  1053. HRESULT Sender([out, retval] IFaxSender **ppFaxSender);
  1054. [propget, id(12), helpstring("Recipient information object")]
  1055. HRESULT Recipient([out, retval] IFaxRecipient **ppFaxRecipient);
  1056. [propget, id(13), helpstring("Name of the device transmitting the message")]
  1057. HRESULT DeviceName([out, retval] BSTR *pbstrDeviceName);
  1058. [propget, id(14), helpstring("Transmission start time")]
  1059. HRESULT TransmissionStart([out, retval] DATE *pdateTransmissionStart);
  1060. [propget, id(15), helpstring("Transmission end time")]
  1061. HRESULT TransmissionEnd([out, retval] DATE *pdateTransmissionEnd);
  1062. [propget, id(16), helpstring("Called Station ID")]
  1063. HRESULT CSID([out, retval] BSTR *pbstrCSID);
  1064. [propget, id(17), helpstring("Transmitting Station ID")]
  1065. HRESULT TSID([out, retval] BSTR *pbstrTSID);
  1066. [id(18), helpstring("Copy Tiff image to the local file")]
  1067. HRESULT CopyTiff([in] BSTR bstrTiffPath);
  1068. [id(19), helpstring("Delete the message from the archive")]
  1069. HRESULT Delete();
  1070. };
  1071. [
  1072. object,
  1073. uuid(011F04E9-4FD6-4C23-9513-B6B66BB26BE9),
  1074. dual,
  1075. helpstring("IFaxIncomingJobs interface"),
  1076. pointer_default(unique)
  1077. ]
  1078. interface IFaxIncomingJobs : IDispatch
  1079. {
  1080. [id(DISPID_NEWENUM), propget]
  1081. HRESULT _NewEnum([out, retval] IUnknown **ppUnk);
  1082. [id(DISPID_VALUE), propget]
  1083. HRESULT Item([in] VARIANT vIndex, [out, retval] IFaxIncomingJob **pFaxIncomingJob);
  1084. [id(1), propget]
  1085. HRESULT Count([out, retval] long* plCount);
  1086. };
  1087. [
  1088. object,
  1089. uuid(207529E6-654A-4916-9F88-4D232EE8A107),
  1090. dual,
  1091. helpstring("IFaxIncomingJob interface"),
  1092. pointer_default(unique)
  1093. ]
  1094. interface IFaxIncomingJob : IDispatch
  1095. {
  1096. [propget, id(1), helpstring("Size in bytes of the message's TIFF file")]
  1097. HRESULT Size([out, retval] long *plSize);
  1098. [propget, id(2), helpstring("Unique message ID")]
  1099. HRESULT Id([out, retval] BSTR *pbstrId);
  1100. [propget, id(3), helpstring("Page currently in transmision")]
  1101. HRESULT CurrentPage([out, retval] long *plCurrentPage);
  1102. [propget, id(4), helpstring("Device ID that transmits the job")]
  1103. HRESULT DeviceId([out, retval] long *plDeviceId);
  1104. [propget, id(5), helpstring("Current queue status of the job, a bit-wise combination of FAX_JOB_STATUS values")]
  1105. HRESULT Status([out, retval] FAX_JOB_STATUS_ENUM *pStatus);
  1106. [propget, id(6), helpstring("Code of the job's extended status")]
  1107. HRESULT ExtendedStatusCode([out, retval] FAX_JOB_EXTENDED_STATUS_ENUM *pExtendedStatusCode);
  1108. [propget, id(7), helpstring("Extended status description")]
  1109. HRESULT ExtendedStatus([out, retval] BSTR *pbstrExtendedStatus);
  1110. [propget, id(8), helpstring("Available operations, a bit-wise combination of FAX_JOB_OPERATIONS values")]
  1111. HRESULT AvailableOperations([out, retval] FAX_JOB_OPERATIONS_ENUM *pAvailableOperations);
  1112. [propget, id(9), helpstring("Number of failed transmission retries")]
  1113. HRESULT Retries([out, retval] long *plRetries);
  1114. [propget, id(10), helpstring("Transmission start time")]
  1115. HRESULT TransmissionStart([out, retval] DATE *pdateTransmissionStart);
  1116. [propget, id(11), helpstring("Transmission end time")]
  1117. HRESULT TransmissionEnd([out, retval] DATE *pdateTransmissionEnd);
  1118. [propget, id(12), helpstring("Called Station ID")]
  1119. HRESULT CSID([out, retval] BSTR *pbstrCSID);
  1120. [propget, id(13), helpstring("Transmitting Station ID")]
  1121. HRESULT TSID([out, retval] BSTR *pbstrTSID);
  1122. [propget, id(14), helpstring("Caller ID")]
  1123. HRESULT CallerId([out, retval] BSTR *pbstrCallerId);
  1124. [propget, id(15), helpstring("Routing information")]
  1125. HRESULT RoutingInformation([out, retval] BSTR *pbstrRoutingInformation);
  1126. [propget, id(16), helpstring("Job type")] HRESULT JobType([out, retval] FAX_JOB_TYPE_ENUM *pJobType);
  1127. [id(17), helpstring("Cancel the incoming job")] HRESULT Cancel();
  1128. [id(18), helpstring("Refresh the object")] HRESULT Refresh();
  1129. [id(19), helpstring("Copy TIFF image to the local file")] HRESULT CopyTiff([in] BSTR bstrTiffPath);
  1130. };
  1131. [
  1132. object,
  1133. uuid(290EAC63-83EC-449C-8417-F148DF8C682A),
  1134. dual,
  1135. helpstring("IFaxDeviceProvider interface"),
  1136. pointer_default(unique)
  1137. ]
  1138. interface IFaxDeviceProvider : IDispatch
  1139. {
  1140. typedef enum FAX_PROVIDER_STATUS_ENUM
  1141. {
  1142. fpsSUCCESS,
  1143. fpsSERVER_ERROR,
  1144. fpsBAD_GUID,
  1145. fpsBAD_VERSION,
  1146. fpsCANT_LOAD,
  1147. fpsCANT_LINK,
  1148. fpsCANT_INIT
  1149. } FAX_PROVIDER_STATUS_ENUM;
  1150. [propget, id(1), helpstring("Provider's friendly name")]
  1151. HRESULT FriendlyName([out, retval] BSTR *pbstrFriendlyName);
  1152. [propget, id(2), helpstring("Full path and file name of the provider DLL")]
  1153. HRESULT ImageName([out, retval] BSTR *pbstrImageName);
  1154. [propget, id(3), helpstring("Unique name of the provider")]
  1155. HRESULT UniqueName([out, retval] BSTR *pbstrUniqueName);
  1156. [propget, id(4), helpstring("TSP name used by the provider")]
  1157. HRESULT TapiProviderName([out, retval] BSTR *pbstrTapiProviderName);
  1158. [propget, id(5), helpstring("The major part of the device provider's version number")]
  1159. HRESULT MajorVersion([out, retval] long *plMajorVersion);
  1160. [propget, id(6), helpstring("The minor part of the device provider's version number")]
  1161. HRESULT MinorVersion([out, retval] long *plMinorVersion);
  1162. [propget, id(7), helpstring("The major part of the device provider's build number")]
  1163. HRESULT MajorBuild([out, retval] long *plMajorBuild);
  1164. [propget, id(8), helpstring("The minor part of the device provider's build number")]
  1165. HRESULT MinorBuild([out, retval] long *plMinorBuild);
  1166. [propget, id(9), helpstring("Is device provider built in debug environment")]
  1167. HRESULT Debug([out, retval] VARIANT_BOOL *pbDebug);
  1168. [propget, id(10), helpstring("Status of the device provider")]
  1169. HRESULT Status([out, retval] FAX_PROVIDER_STATUS_ENUM *pStatus);
  1170. [propget, id(11), helpstring("Last error code at load or initialization")]
  1171. HRESULT InitErrorCode([out, retval] long *plInitErrorCode);
  1172. [propget, id(12), helpstring("Array of device IDs exposed by the provider")]
  1173. HRESULT DeviceIds([out, retval] VARIANT *pvDeviceIds);
  1174. };
  1175. [
  1176. object,
  1177. uuid(49306C59-B52E-4867-9DF4-CA5841C956D0),
  1178. dual,
  1179. helpstring("IFaxDevice interface"),
  1180. pointer_default(unique)
  1181. ]
  1182. interface IFaxDevice : IDispatch
  1183. {
  1184. typedef enum FAX_DEVICE_RECEIVE_MODE_ENUM
  1185. {
  1186. fdrmNO_ANSWER = 0,
  1187. fdrmAUTO_ANSWER,
  1188. fdrmMANUAL_ANSWER
  1189. } FAX_DEVICE_RECEIVE_MODE_ENUM;
  1190. [propget, id(1), helpstring("Unique device ID")]
  1191. HRESULT Id([out, retval] long *plId);
  1192. [propget, id(2), helpstring("Device name")]
  1193. HRESULT DeviceName([out, retval] BSTR *pbstrDeviceName);
  1194. [propget, id(3), helpstring("Device provider")]
  1195. HRESULT ProviderUniqueName([out, retval] BSTR *pbstrProviderUniqueName);
  1196. [propget, id(4), helpstring("Is the device is turned off")]
  1197. HRESULT PoweredOff([out, retval] VARIANT_BOOL *pbPoweredOff);
  1198. [propget, id(5), helpstring("Is the device receiving now")]
  1199. HRESULT ReceivingNow([out, retval] VARIANT_BOOL *pbReceivingNow);
  1200. [propget, id(6), helpstring("Is the device sending now")]
  1201. HRESULT SendingNow([out, retval] VARIANT_BOOL *pbSendingNow);
  1202. [propget, id(7), helpstring("Array of routing methods")]
  1203. HRESULT UsedRoutingMethods([out, retval] VARIANT *pvUsedRoutingMethods);
  1204. [propget, id(8), helpstring("Description of the device")]
  1205. HRESULT Description([out, retval] BSTR *pbstrDescription);
  1206. [propput, id(8), helpstring("Description of the device")]
  1207. HRESULT Description([in] BSTR bstrDescription);
  1208. [propget, id(9), helpstring("Is the device is enabled to send")]
  1209. HRESULT SendEnabled([out, retval] VARIANT_BOOL *pbSendEnabled);
  1210. [propput, id(9), helpstring("Is the device is enabled to send")]
  1211. HRESULT SendEnabled([in] VARIANT_BOOL bSendEnabled);
  1212. [propget, id(10), helpstring("The receive mode of the device")]
  1213. HRESULT ReceiveMode([out, retval] FAX_DEVICE_RECEIVE_MODE_ENUM *pReceiveMode);
  1214. [propput, id(10), helpstring("The receive mode of the device")]
  1215. HRESULT ReceiveMode([in] FAX_DEVICE_RECEIVE_MODE_ENUM ReceiveMode);
  1216. [propget, id(11), helpstring("Number of rings before the device answers")]
  1217. HRESULT RingsBeforeAnswer([out, retval] long *plRingsBeforeAnswer);
  1218. [propput, id(11), helpstring("Number of rings before the device answers")]
  1219. HRESULT RingsBeforeAnswer([in] long lRingsBeforeAnswer);
  1220. [propget, id(12), helpstring("Device's Called Station ID")]
  1221. HRESULT CSID([out, retval] BSTR *pbstrCSID);
  1222. [propput, id(12), helpstring("Device's Called Station ID")]
  1223. HRESULT CSID([in] BSTR bstrCSID);
  1224. [propget, id(13), helpstring("Device's Transmitting Station ID")]
  1225. HRESULT TSID([out, retval] BSTR *pbstrTSID);
  1226. [propput, id(13), helpstring("Device's Transmitting Station ID")]
  1227. HRESULT TSID([in] BSTR bstrTSID);
  1228. [id(14), helpstring("Refresh the object")]
  1229. HRESULT Refresh();
  1230. [id(15), helpstring("Save the object")]
  1231. HRESULT Save();
  1232. [id(16), helpstring("Get the device level extention property")]
  1233. HRESULT GetExtensionProperty([in] BSTR bstrGUID, [out, retval] VARIANT *pvProperty);
  1234. [id(17), helpstring("Set the device level extention property")]
  1235. HRESULT SetExtensionProperty([in] BSTR bstrGUID, [in] VARIANT vProperty);
  1236. [id(18), helpstring("Adds or removes routing method")]
  1237. HRESULT UseRoutingMethod([in] BSTR bstrMethodGUID, [in] VARIANT_BOOL bUse);
  1238. [propget, id(19), helpstring("Is the device ringing now")]
  1239. HRESULT RingingNow([out, retval] VARIANT_BOOL *pbRingingNow);
  1240. [id(20), helpstring("Answer the call")]
  1241. HRESULT AnswerCall();
  1242. };
  1243. [
  1244. object,
  1245. uuid(1E29078B-5A69-497B-9592-49B7E7FADDB5),
  1246. dual,
  1247. helpstring("IFaxActivityLogging interface"),
  1248. pointer_default(unique)
  1249. ]
  1250. interface IFaxActivityLogging : IDispatch
  1251. {
  1252. [propget, id(1), helpstring("Does the server log incoming fax activity")]
  1253. HRESULT LogIncoming([out, retval] VARIANT_BOOL *pbLogIncoming);
  1254. [propput, id(1), helpstring("Does the server log incoming fax activity")]
  1255. HRESULT LogIncoming([in] VARIANT_BOOL bLogIncoming);
  1256. [propget, id(2), helpstring("Does the server log outgoing fax activity")]
  1257. HRESULT LogOutgoing([out, retval] VARIANT_BOOL *pbLogOutgoing);
  1258. [propput, id(2), helpstring("Does the server log outgoing fax activity")]
  1259. HRESULT LogOutgoing([in] VARIANT_BOOL bLogOutgoing);
  1260. [propget, id(3), helpstring("Activity log database files path")]
  1261. HRESULT DatabasePath([out, retval] BSTR *pbstrDatabasePath);
  1262. [propput, id(3), helpstring("Activity log database files path")]
  1263. HRESULT DatabasePath([in] BSTR bstrDatabasePath);
  1264. [id(4), helpstring("Refresh the object")]
  1265. HRESULT Refresh();
  1266. [id(5), helpstring("Save the object")]
  1267. HRESULT Save();
  1268. };
  1269. [
  1270. object,
  1271. uuid(0880D965-20E8-42E4-8E17-944F192CAAD4),
  1272. dual,
  1273. helpstring("IFaxEventLogging interface"),
  1274. pointer_default(unique)
  1275. ]
  1276. interface IFaxEventLogging : IDispatch
  1277. {
  1278. typedef enum FAX_LOG_LEVEL_ENUM
  1279. {
  1280. fllNONE,
  1281. fllMIN,
  1282. fllMED,
  1283. fllMAX
  1284. } FAX_LOG_LEVEL_ENUM;
  1285. [propget, id(1), helpstring("Detail level of event logs for initialization events")]
  1286. HRESULT InitEventsLevel([out, retval] FAX_LOG_LEVEL_ENUM *pInitEventLevel);
  1287. [propput, id(1), helpstring("Detail level of event logs for initialization events")]
  1288. HRESULT InitEventsLevel([in] FAX_LOG_LEVEL_ENUM InitEventLevel);
  1289. [propget, id(2), helpstring("Detail level of event logs for inbound fax events")]
  1290. HRESULT InboundEventsLevel([out, retval] FAX_LOG_LEVEL_ENUM *pInboundEventLevel);
  1291. [propput, id(2), helpstring("Detail level of event logs for inbound fax events")]
  1292. HRESULT InboundEventsLevel([in] FAX_LOG_LEVEL_ENUM InboundEventLevel);
  1293. [propget, id(3), helpstring("Detail level of event logs for outbound fax events")]
  1294. HRESULT OutboundEventsLevel([out, retval] FAX_LOG_LEVEL_ENUM *pOutboundEventLevel);
  1295. [propput, id(3), helpstring("Detail level of event logs for outbound fax events")]
  1296. HRESULT OutboundEventsLevel([in] FAX_LOG_LEVEL_ENUM OutboundEventLevel);
  1297. [propget, id(4), helpstring("Detail level of event logs for general (other) events")]
  1298. HRESULT GeneralEventsLevel([out, retval] FAX_LOG_LEVEL_ENUM *pGeneralEventLevel);
  1299. [propput, id(4), helpstring("Detail level of event logs for general (other) events")]
  1300. HRESULT GeneralEventsLevel([in] FAX_LOG_LEVEL_ENUM GeneralEventLevel);
  1301. [id(5), helpstring("Refresh the object")]
  1302. HRESULT Refresh();
  1303. [id(6), helpstring("Save the object")]
  1304. HRESULT Save();
  1305. };
  1306. [
  1307. object,
  1308. uuid(235CBEF7-C2DE-4BFD-B8DA-75097C82C87F),
  1309. dual,
  1310. helpstring("IFaxOutboundRoutingGroups interface"),
  1311. pointer_default(unique)
  1312. ]
  1313. interface IFaxOutboundRoutingGroups : IDispatch
  1314. {
  1315. [id(DISPID_NEWENUM), propget]
  1316. HRESULT _NewEnum([out, retval] IUnknown **ppUnk);
  1317. [id(DISPID_VALUE), propget]
  1318. HRESULT Item([in] VARIANT vIndex, [out, retval] IFaxOutboundRoutingGroup **pFaxOutboundRoutingGroup);
  1319. [id(1), propget]
  1320. HRESULT Count([out, retval] long* plCount);
  1321. [id(2), helpstring("Add a group")]
  1322. HRESULT Add([in] BSTR bstrName, [out, retval] IFaxOutboundRoutingGroup **pFaxOutboundRoutingGroup);
  1323. [id(3), helpstring("Remove a group")]
  1324. HRESULT Remove([in] VARIANT vIndex);
  1325. };
  1326. [
  1327. object,
  1328. uuid(CA6289A1-7E25-4F87-9A0B-93365734962C),
  1329. dual,
  1330. helpstring("IFaxOutboundRoutingGroup interface"),
  1331. pointer_default(unique)
  1332. ]
  1333. interface IFaxOutboundRoutingGroup : IDispatch
  1334. {
  1335. typedef enum FAX_GROUP_STATUS_ENUM
  1336. {
  1337. fgsALL_DEV_VALID,
  1338. fgsEMPTY,
  1339. fgsALL_DEV_NOT_VALID,
  1340. fgsSOME_DEV_NOT_VALID
  1341. } FAX_GROUP_STATUS_ENUM;
  1342. [propget, id(1), helpstring("Name of the group")]
  1343. HRESULT Name([out, retval] BSTR *pbstrName);
  1344. [propget, id(2), helpstring("Status of the group")]
  1345. HRESULT Status([out, retval] FAX_GROUP_STATUS_ENUM *pStatus);
  1346. [propget, id(3), helpstring("Ordered collection of device IDs")]
  1347. HRESULT DeviceIds([out, retval] IFaxDeviceIds **pFaxDeviceIds);
  1348. };
  1349. [
  1350. object,
  1351. uuid(2F0F813F-4CE9-443E-8CA1-738CFAEEE149),
  1352. dual,
  1353. helpstring("IFaxDeviceIds interface"),
  1354. pointer_default(unique)
  1355. ]
  1356. interface IFaxDeviceIds : IDispatch
  1357. {
  1358. [id(DISPID_NEWENUM), propget]
  1359. HRESULT _NewEnum([out, retval] IUnknown **ppUnk);
  1360. [id(DISPID_VALUE), propget]
  1361. HRESULT Item([in] long lIndex, [out, retval] long *plDeviceId);
  1362. [id(1), propget]
  1363. HRESULT Count([out, retval] long* plCount);
  1364. [id(2), helpstring("Add a device")]
  1365. HRESULT Add([in] long lDeviceId);
  1366. [id(3), helpstring("Remove a device")]
  1367. HRESULT Remove([in] long lIndex);
  1368. [id(4), helpstring("Set order of the device")]
  1369. HRESULT SetOrder([in] long lDeviceId, [in] long lNewOrder);
  1370. };
  1371. [
  1372. object,
  1373. uuid(DCEFA1E7-AE7D-4ED6-8521-369EDCCA5120),
  1374. dual,
  1375. helpstring("IFaxOutboundRoutingRules interface"),
  1376. pointer_default(unique)
  1377. ]
  1378. interface IFaxOutboundRoutingRules : IDispatch
  1379. {
  1380. [id(DISPID_NEWENUM), propget]
  1381. HRESULT _NewEnum([out, retval] IUnknown **ppUnk);
  1382. [id(DISPID_VALUE), propget]
  1383. HRESULT Item([in] long lIndex, [out, retval] IFaxOutboundRoutingRule **pFaxOutboundRoutingRule);
  1384. [id(1), propget]
  1385. HRESULT Count([out, retval] long* plCount);
  1386. [id(2), helpstring("Get a rule by criteria")]
  1387. HRESULT ItemByCountryAndArea(
  1388. [in] long lCountryCode,
  1389. [in] long lAreaCode,
  1390. [out, retval] IFaxOutboundRoutingRule **pFaxOutboundRoutingRule);
  1391. [id(3), helpstring("Remove a rule by criteria")]
  1392. HRESULT RemoveByCountryAndArea([in] long lCountryCode, [in] long lAreaCode);
  1393. [id(4), helpstring("Remove a rule")]
  1394. HRESULT Remove([in] long lIndex);
  1395. [id(5), helpstring("Add a rule")]
  1396. HRESULT Add(
  1397. [in] long lCountryCode,
  1398. [in] long lAreaCode,
  1399. [in] VARIANT_BOOL bUseDevice,
  1400. [in] BSTR bstrGroupName,
  1401. [in] long lDeviceId,
  1402. [out, retval] IFaxOutboundRoutingRule **pFaxOutboundRoutingRule);
  1403. };
  1404. [
  1405. object,
  1406. uuid(E1F795D5-07C2-469F-B027-ACACC23219DA),
  1407. dual,
  1408. helpstring("IFaxOutboundRoutingRule interface"),
  1409. pointer_default(unique)
  1410. ]
  1411. interface IFaxOutboundRoutingRule : IDispatch
  1412. {
  1413. typedef enum FAX_RULE_STATUS_ENUM
  1414. {
  1415. frsVALID,
  1416. frsEMPTY_GROUP,
  1417. frsALL_GROUP_DEV_NOT_VALID,
  1418. frsSOME_GROUP_DEV_NOT_VALID,
  1419. frsBAD_DEVICE
  1420. } FAX_RULE_STATUS_ENUM;
  1421. [propget, id(1), helpstring("Country code")]
  1422. HRESULT CountryCode([out, retval] long *plCountryCode);
  1423. [propget, id(2), helpstring("Area code")]
  1424. HRESULT AreaCode([out, retval] long *plAreaCode);
  1425. [propget, id(3), helpstring("Status")]
  1426. HRESULT Status([out, retval] FAX_RULE_STATUS_ENUM *pStatus);
  1427. [propget, id(4), helpstring("Uses single device or group")]
  1428. HRESULT UseDevice([out, retval] VARIANT_BOOL *pbUseDevice);
  1429. [propput, id(4), helpstring("Uses single device or group")]
  1430. HRESULT UseDevice([in] VARIANT_BOOL bUseDevice);
  1431. [propget, id(5), helpstring("Destination device")]
  1432. HRESULT DeviceId([out, retval] long *plDeviceId);
  1433. [propput, id(5), helpstring("Destination device")]
  1434. HRESULT DeviceId([in] long DeviceId);
  1435. [propget, id(6), helpstring("Group name")]
  1436. HRESULT GroupName([out, retval] BSTR *pbstrGroupName);
  1437. [propput, id(6), helpstring("Group name")]
  1438. HRESULT GroupName([in] BSTR bstrGroupName);
  1439. [id(7), helpstring("Refresh the object")]
  1440. HRESULT Refresh();
  1441. [id(8), helpstring("Save the object")]
  1442. HRESULT Save();
  1443. };
  1444. [
  1445. object,
  1446. uuid(2F6C9673-7B26-42DE-8EB0-915DCD2A4F4C),
  1447. dual,
  1448. helpstring("IFaxInboundRoutingExtensions interface"),
  1449. pointer_default(unique)
  1450. ]
  1451. interface IFaxInboundRoutingExtensions : IDispatch
  1452. {
  1453. [id(DISPID_NEWENUM), propget]
  1454. HRESULT _NewEnum([out, retval] IUnknown **ppUnk);
  1455. [id(DISPID_VALUE), propget]
  1456. HRESULT Item([in] VARIANT vIndex, [out, retval] IFaxInboundRoutingExtension **pFaxInboundRoutingExtension);
  1457. [id(1), propget]
  1458. HRESULT Count([out, retval] long* plCount);
  1459. };
  1460. [
  1461. object,
  1462. uuid(885B5E08-C26C-4EF9-AF83-51580A750BE1),
  1463. dual,
  1464. helpstring("IFaxInboundRoutingExtension interface"),
  1465. pointer_default(unique)
  1466. ]
  1467. interface IFaxInboundRoutingExtension : IDispatch
  1468. {
  1469. [propget, id(1), helpstring("Extension's friendly name")]
  1470. HRESULT FriendlyName([out, retval] BSTR *pbstrFriendlyName);
  1471. [propget, id(2), helpstring("Full path and file name of the extension DLL")]
  1472. HRESULT ImageName([out, retval] BSTR *pbstrImageName);
  1473. [propget, id(3), helpstring("Extension's unique name")]
  1474. HRESULT UniqueName([out, retval] BSTR *pbstrUniqueName);
  1475. [propget, id(4), helpstring("The major part of extension's version number")]
  1476. HRESULT MajorVersion([out, retval] long *plMajorVersion);
  1477. [propget, id(5), helpstring("The minor part of extension's version number")]
  1478. HRESULT MinorVersion([out, retval] long *plMinorVersion);
  1479. [propget, id(6), helpstring("The major part of extension's build number")]
  1480. HRESULT MajorBuild([out, retval] long *plMajorBuild);
  1481. [propget, id(7), helpstring("The minor part of extension's build number")]
  1482. HRESULT MinorBuild([out, retval] long *plMinorBuild);
  1483. [propget, id(8), helpstring("Is extension built in debug environment")]
  1484. HRESULT Debug([out, retval] VARIANT_BOOL *pbDebug);
  1485. [propget, id(9), helpstring("Load and initialization status of the extension")]
  1486. HRESULT Status([out, retval] FAX_PROVIDER_STATUS_ENUM *pStatus);
  1487. [propget, id(10), helpstring("Last error code at load or initialization")]
  1488. HRESULT InitErrorCode([out, retval] long *plInitErrorCode);
  1489. [propget, id(11), helpstring("Array of methods exposed by extension")]
  1490. HRESULT Methods([out, retval] VARIANT *pvMethods);
  1491. };
  1492. [
  1493. object,
  1494. uuid(783FCA10-8908-4473-9D69-F67FBEA0C6B9),
  1495. dual,
  1496. helpstring("IFaxInboundRoutingMethods interface"),
  1497. pointer_default(unique)
  1498. ]
  1499. interface IFaxInboundRoutingMethods : IDispatch
  1500. {
  1501. [id(DISPID_NEWENUM), propget]
  1502. HRESULT _NewEnum([out, retval] IUnknown **ppUnk);
  1503. [id(DISPID_VALUE), propget]
  1504. HRESULT Item([in] VARIANT vIndex, [out, retval] IFaxInboundRoutingMethod **pFaxInboundRoutingMethod);
  1505. [id(1), propget]
  1506. HRESULT Count([out, retval] long* plCount);
  1507. };
  1508. [
  1509. object,
  1510. uuid(45700061-AD9D-4776-A8C4-64065492CF4B),
  1511. dual,
  1512. helpstring("IFaxInboundRoutingMethod interface"),
  1513. pointer_default(unique)
  1514. ]
  1515. interface IFaxInboundRoutingMethod : IDispatch
  1516. {
  1517. [propget, id(1), helpstring("The name of the method")]
  1518. HRESULT Name([out, retval] BSTR *pbstrName);
  1519. [propget, id(2), helpstring("GUID of the method")]
  1520. HRESULT GUID([out, retval] BSTR *pbstrGUID);
  1521. [propget, id(3), helpstring("Internal function name")]
  1522. HRESULT FunctionName([out, retval] BSTR *pbstrFunctionName);
  1523. [propget, id(4), helpstring("Friendly name of the extension exposing this method")]
  1524. HRESULT ExtensionFriendlyName([out, retval] BSTR *pbstrExtensionFriendlyName);
  1525. [propget, id(5), helpstring("Image name of the extension exposing this method")]
  1526. HRESULT ExtensionImageName([out, retval] BSTR *pbstrExtensionImageName);
  1527. [propget, id(6), helpstring("Priority of the method")]
  1528. HRESULT Priority([out, retval] long *plPriority);
  1529. [propput, id(6), helpstring("Priority of the method")]
  1530. HRESULT Priority([in] long lPriority);
  1531. [id(7), helpstring("Refresh the object")]
  1532. HRESULT Refresh();
  1533. [id(8), helpstring("Save the object")]
  1534. HRESULT Save();
  1535. };
  1536. [
  1537. uuid(2BF34C1A-8CAC-419F-8547-32FDF6505DB8),
  1538. version(1.0),
  1539. helpstring("Microsoft Fax Service Extended COM Type Library")
  1540. ]
  1541. library FAXCOMEXLib
  1542. {
  1543. importlib("stdole32.tlb");
  1544. importlib("stdole2.tlb");
  1545. [
  1546. uuid(2E037B27-CF8A-4abd-B1E0-5704943BEA6F),
  1547. helpstring("_IFaxServerNotify Interface")
  1548. ]
  1549. dispinterface IFaxServerNotify
  1550. {
  1551. properties:
  1552. methods:
  1553. [id(1), helpstring("An incoming job was added to the fax server's incoming queue")]
  1554. HRESULT OnIncomingJobAdded([in] IFaxServer *pFaxServer, [in] BSTR bstrJobId);
  1555. [id(2), helpstring("An incoming job was removed from the fax server's incoming queue")]
  1556. HRESULT OnIncomingJobRemoved([in] IFaxServer *pFaxServer, [in] BSTR bstrJobId);
  1557. [id(3), helpstring("An incoming job's status was changed")]
  1558. HRESULT OnIncomingJobChanged(
  1559. [in] IFaxServer *pFaxServer,
  1560. [in] BSTR bstrJobId,
  1561. [in] IFaxJobStatus *pJobStatus);
  1562. [id(4), helpstring("An outgoing job was added to the fax server's outgoing queue")]
  1563. HRESULT OnOutgoingJobAdded([in] IFaxServer *pFaxServer, [in] BSTR bstrJobId);
  1564. [id(5), helpstring("An outgoing job was removed from the fax server's outgoing queue")]
  1565. HRESULT OnOutgoingJobRemoved([in] IFaxServer *pFaxServer, [in] BSTR bstrJobId);
  1566. [id(6), helpstring("An outgoing job's status was changed")]
  1567. HRESULT OnOutgoingJobChanged(
  1568. [in] IFaxServer *pFaxServer,
  1569. [in] BSTR bstrJobId,
  1570. [in] IFaxJobStatus *pJobStatus);
  1571. [id(7), helpstring("An incoming message was added to the fax server's incoming archive")]
  1572. HRESULT OnIncomingMessageAdded([in] IFaxServer *pFaxServer, [in] BSTR bstrMessageId);
  1573. [id(8), helpstring("An incoming message was removed from the fax server's incoming archive")]
  1574. HRESULT OnIncomingMessageRemoved([in] IFaxServer *pFaxServer, [in] BSTR bstrMessageId);
  1575. [id(9), helpstring("An outgoing message was added to the fax server's outgoing archive")]
  1576. HRESULT OnOutgoingMessageAdded([in] IFaxServer *pFaxServer, [in] BSTR bstrMessageId);
  1577. [id(10), helpstring("An outgoing message was removed from the fax server's outgoing archive")]
  1578. HRESULT OnOutgoingMessageRemoved([in] IFaxServer *pFaxServer, [in] BSTR bstrMessageId);
  1579. [id(11), helpstring("Receipt options change")]
  1580. HRESULT OnReceiptOptionsChange([in] IFaxServer *pFaxServer);
  1581. [id(12), helpstring("Activity logging configuration change")]
  1582. HRESULT OnActivityLoggingConfigChange([in] IFaxServer *pFaxServer);
  1583. [id(13), helpstring("Security configuration change")]
  1584. HRESULT OnSecurityConfigChange([in] IFaxServer *pFaxServer);
  1585. [id(14), helpstring("Event logging configuration change")]
  1586. HRESULT OnEventLoggingConfigChange([in] IFaxServer *pFaxServer);
  1587. [id(15), helpstring("Outgoing queue configuration change")]
  1588. HRESULT OnOutgoingQueueConfigChange([in] IFaxServer *pFaxServer);
  1589. [id(16), helpstring("Outgoing archive configuration change")]
  1590. HRESULT OnOutgoingArchiveConfigChange([in] IFaxServer *pFaxServer);
  1591. [id(17), helpstring("Incoming archive configuration change")]
  1592. HRESULT OnIncomingArchiveConfigChange([in] IFaxServer *pFaxServer);
  1593. [id(18), helpstring("Devices configuration change")]
  1594. HRESULT OnDevicesConfigChange([in] IFaxServer *pFaxServer);
  1595. [id(19), helpstring("Outbound routing groups configuration change")]
  1596. HRESULT OnOutboundRoutingGroupsConfigChange([in] IFaxServer *pFaxServer);
  1597. [id(20), helpstring("Outbound routing rules configuration change")]
  1598. HRESULT OnOutboundRoutingRulesConfigChange([in] IFaxServer *pFaxServer);
  1599. [id(21), helpstring("Server activity change")]
  1600. HRESULT OnServerActivityChange(
  1601. [in] IFaxServer *pFaxServer,
  1602. [in] long lIncomingMessages,
  1603. [in] long lRoutingMessages,
  1604. [in] long lOutgoingMessages,
  1605. [in] long lQueuedMessages);
  1606. [id(22), helpstring("Queues status change")]
  1607. HRESULT OnQueuesStatusChange(
  1608. [in] IFaxServer *pFaxServer,
  1609. [in] VARIANT_BOOL bOutgoingQueueBlocked,
  1610. [in] VARIANT_BOOL bOutgoingQueuePaused,
  1611. [in] VARIANT_BOOL bIncomingQueueBlocked);
  1612. [id(23), helpstring("Incoming call")]
  1613. HRESULT OnNewCall(
  1614. [in] IFaxServer *pFaxServer,
  1615. [in] long lCallId,
  1616. [in] long lDeviceId,
  1617. [in] BSTR bstrCallerId);
  1618. [id(24), helpstring("Server shut down")]
  1619. HRESULT OnServerShutDown([in] IFaxServer *pFaxServer);
  1620. [id(25), helpstring("Device status change")]
  1621. HRESULT OnDeviceStatusChange(
  1622. [in] IFaxServer *pFaxServer,
  1623. [in] long lDeviceId,
  1624. [in] VARIANT_BOOL bPoweredOff,
  1625. [in] VARIANT_BOOL bSending,
  1626. [in] VARIANT_BOOL bReceiving,
  1627. [in] VARIANT_BOOL bRinging);
  1628. };
  1629. [
  1630. uuid(CDA8ACB0-8CF5-4F6C-9BA2-5931D40C8CAE),
  1631. helpstring("FaxServer Class")
  1632. ]
  1633. coclass FaxServer
  1634. {
  1635. [default] interface IFaxServer;
  1636. [default, source] dispinterface IFaxServerNotify;
  1637. };
  1638. [
  1639. uuid(EB8FE768-875A-4F5F-82C5-03F23AAC1BD7),
  1640. helpstring("FaxDeviceProviders Class"),
  1641. noncreatable
  1642. ]
  1643. coclass FaxDeviceProviders
  1644. {
  1645. [default] interface IFaxDeviceProviders;
  1646. };
  1647. [
  1648. uuid(5589E28E-23CB-4919-8808-E6101846E80D),
  1649. helpstring("FaxDevices Class"),
  1650. noncreatable
  1651. ]
  1652. coclass FaxDevices
  1653. {
  1654. [default] interface IFaxDevices;
  1655. };
  1656. [
  1657. uuid(E80248ED-AD65-4218-8108-991924D4E7ED),
  1658. helpstring("FaxInboundRouting Class"),
  1659. noncreatable
  1660. ]
  1661. coclass FaxInboundRouting
  1662. {
  1663. [default] interface IFaxInboundRouting;
  1664. };
  1665. [
  1666. uuid(C35211D7-5776-48CB-AF44-C31BE3B2CFE5),
  1667. helpstring("FaxFolders Class"),
  1668. noncreatable
  1669. ]
  1670. coclass FaxFolders
  1671. {
  1672. [default] interface IFaxFolders;
  1673. };
  1674. [
  1675. uuid(1BF9EEA6-ECE0-4785-A18B-DE56E9EEF96A),
  1676. helpstring("FaxLoggingOptions Class"),
  1677. noncreatable
  1678. ]
  1679. coclass FaxLoggingOptions
  1680. {
  1681. [default] interface IFaxLoggingOptions;
  1682. };
  1683. [
  1684. uuid(CFEF5D0E-E84D-462E-AABB-87D31EB04FEF),
  1685. helpstring("FaxActivity Class"),
  1686. noncreatable
  1687. ]
  1688. coclass FaxActivity
  1689. {
  1690. [default] interface IFaxActivity;
  1691. };
  1692. [
  1693. uuid(C81B385E-B869-4AFD-86C0-616498ED9BE2),
  1694. helpstring("FaxOutboundRouting Class"),
  1695. noncreatable
  1696. ]
  1697. coclass FaxOutboundRouting
  1698. {
  1699. [default] interface IFaxOutboundRouting;
  1700. };
  1701. [
  1702. uuid(6982487B-227B-4C96-A61C-248348B05AB6),
  1703. helpstring("FaxReceiptOptions Class"),
  1704. noncreatable
  1705. ]
  1706. coclass FaxReceiptOptions
  1707. {
  1708. [default] interface IFaxReceiptOptions;
  1709. };
  1710. [
  1711. uuid(10C4DDDE-ABF0-43DF-964F-7F3AC21A4C7B),
  1712. helpstring("FaxSecurity Class"),
  1713. noncreatable
  1714. ]
  1715. coclass FaxSecurity
  1716. {
  1717. [default] interface IFaxSecurity;
  1718. };
  1719. [
  1720. uuid(0F3F9F91-C838-415E-A4F3-3E828CA445E0),
  1721. helpstring("FaxDocument Class")
  1722. ]
  1723. coclass FaxDocument
  1724. {
  1725. [default] interface IFaxDocument;
  1726. };
  1727. [
  1728. uuid(265D84D0-1850-4360-B7C8-758BBB5F0B96),
  1729. helpstring("FaxSender Class"),
  1730. noncreatable
  1731. ]
  1732. coclass FaxSender
  1733. {
  1734. [default] interface IFaxSender;
  1735. };
  1736. [
  1737. uuid(EA9BDF53-10A9-4D4F-A067-63C8F84F01B0),
  1738. helpstring("FaxRecipients Class"),
  1739. noncreatable
  1740. ]
  1741. coclass FaxRecipients
  1742. {
  1743. [default] interface IFaxRecipients;
  1744. };
  1745. [
  1746. uuid(8426C56A-35A1-4C6F-AF93-FC952422E2C2),
  1747. helpstring("FaxIncomingArchive Class"),
  1748. noncreatable
  1749. ]
  1750. coclass FaxIncomingArchive
  1751. {
  1752. [default] interface IFaxIncomingArchive;
  1753. };
  1754. [
  1755. uuid(69131717-F3F1-40E3-809D-A6CBF7BD85E5),
  1756. helpstring("FaxIncomingQueue Class"),
  1757. noncreatable
  1758. ]
  1759. coclass FaxIncomingQueue
  1760. {
  1761. [default] interface IFaxIncomingQueue;
  1762. };
  1763. [
  1764. uuid(43C28403-E04F-474D-990C-B94669148F59),
  1765. helpstring("FaxOutgoingArchive Class"),
  1766. noncreatable
  1767. ]
  1768. coclass FaxOutgoingArchive
  1769. {
  1770. [default] interface IFaxOutgoingArchive;
  1771. };
  1772. [
  1773. uuid(7421169E-8C43-4B0D-BB16-645C8FA40357),
  1774. helpstring("FaxOutgoingQueue Class"),
  1775. noncreatable
  1776. ]
  1777. coclass FaxOutgoingQueue
  1778. {
  1779. [default] interface IFaxOutgoingQueue;
  1780. };
  1781. [
  1782. uuid(6088E1D8-3FC8-45C2-87B1-909A29607EA9),
  1783. helpstring("FaxIncomingMessageIterator Class"),
  1784. noncreatable
  1785. ]
  1786. coclass FaxIncomingMessageIterator
  1787. {
  1788. [default] interface IFaxIncomingMessageIterator;
  1789. };
  1790. [
  1791. uuid(1932FCF7-9D43-4D5A-89FF-03861B321736),
  1792. helpstring("FaxIncomingMessage Class"),
  1793. noncreatable
  1794. ]
  1795. coclass FaxIncomingMessage
  1796. {
  1797. [default] interface IFaxIncomingMessage;
  1798. };
  1799. [
  1800. uuid(92BF2A6C-37BE-43FA-A37D-CB0E5F753B35),
  1801. helpstring("FaxOutgoingJobs Class"),
  1802. noncreatable
  1803. ]
  1804. coclass FaxOutgoingJobs
  1805. {
  1806. [default] interface IFaxOutgoingJobs;
  1807. };
  1808. [
  1809. uuid(71BB429C-0EF9-4915-BEC5-A5D897A3E924),
  1810. helpstring("FaxOutgoingJob Class"),
  1811. noncreatable
  1812. ]
  1813. coclass FaxOutgoingJob
  1814. {
  1815. [default] interface IFaxOutgoingJob;
  1816. };
  1817. [
  1818. uuid(8A3224D0-D30B-49DE-9813-CB385790FBBB),
  1819. helpstring("FaxOutgoingMessageIterator Class"),
  1820. noncreatable
  1821. ]
  1822. coclass FaxOutgoingMessageIterator
  1823. {
  1824. [default] interface IFaxOutgoingMessageIterator;
  1825. };
  1826. [
  1827. uuid(91B4A378-4AD8-4AEF-A4DC-97D96E939A3A),
  1828. helpstring("FaxOutgoingMessage Class"),
  1829. noncreatable
  1830. ]
  1831. coclass FaxOutgoingMessage
  1832. {
  1833. [default] interface IFaxOutgoingMessage;
  1834. };
  1835. [
  1836. uuid(A1BB8A43-8866-4FB7-A15D-6266C875A5CC),
  1837. helpstring("FaxIncomingJobs Class"),
  1838. noncreatable
  1839. ]
  1840. coclass FaxIncomingJobs
  1841. {
  1842. [default] interface IFaxIncomingJobs;
  1843. };
  1844. [
  1845. uuid(C47311EC-AE32-41B8-AE4B-3EAE0629D0C9),
  1846. helpstring("FaxIncomingJob Class"),
  1847. noncreatable
  1848. ]
  1849. coclass FaxIncomingJob
  1850. {
  1851. [default] interface IFaxIncomingJob;
  1852. };
  1853. [
  1854. uuid(17CF1AA3-F5EB-484A-9C9A-4440A5BAABFC),
  1855. helpstring("FaxDeviceProvider Class"),
  1856. noncreatable
  1857. ]
  1858. coclass FaxDeviceProvider
  1859. {
  1860. [default] interface IFaxDeviceProvider;
  1861. };
  1862. [
  1863. uuid(59E3A5B2-D676-484B-A6DE-720BFA89B5AF),
  1864. helpstring("FaxDevice Class"),
  1865. noncreatable
  1866. ]
  1867. coclass FaxDevice
  1868. {
  1869. [default] interface IFaxDevice;
  1870. };
  1871. [
  1872. uuid(F0A0294E-3BBD-48B8-8F13-8C591A55BDBC),
  1873. helpstring("FaxActivityLogging Class"),
  1874. noncreatable
  1875. ]
  1876. coclass FaxActivityLogging
  1877. {
  1878. [default] interface IFaxActivityLogging;
  1879. };
  1880. [
  1881. uuid(A6850930-A0F6-4A6F-95B7-DB2EBF3D02E3),
  1882. helpstring("FaxEventLogging Class"),
  1883. noncreatable
  1884. ]
  1885. coclass FaxEventLogging
  1886. {
  1887. [default] interface IFaxEventLogging;
  1888. };
  1889. [
  1890. uuid(CCBEA1A5-E2B4-4B57-9421-B04B6289464B),
  1891. helpstring("FaxOutboundRoutingGroups Class"),
  1892. noncreatable
  1893. ]
  1894. coclass FaxOutboundRoutingGroups
  1895. {
  1896. [default] interface IFaxOutboundRoutingGroups;
  1897. };
  1898. [
  1899. uuid(0213F3E0-6791-4D77-A271-04D2357C50D6),
  1900. helpstring("FaxOutboundRoutingGroup Class"),
  1901. noncreatable
  1902. ]
  1903. coclass FaxOutboundRoutingGroup
  1904. {
  1905. [default] interface IFaxOutboundRoutingGroup;
  1906. };
  1907. [
  1908. uuid(CDC539EA-7277-460E-8DE0-48A0A5760D1F),
  1909. helpstring("FaxDeviceIds Class"),
  1910. noncreatable
  1911. ]
  1912. coclass FaxDeviceIds
  1913. {
  1914. [default] interface IFaxDeviceIds;
  1915. };
  1916. [
  1917. uuid(D385BECA-E624-4473-BFAA-9F4000831F54),
  1918. helpstring("FaxOutboundRoutingRules Class"),
  1919. noncreatable
  1920. ]
  1921. coclass FaxOutboundRoutingRules
  1922. {
  1923. [default] interface IFaxOutboundRoutingRules;
  1924. };
  1925. [
  1926. uuid(6549EEBF-08D1-475A-828B-3BF105952FA0),
  1927. helpstring("FaxOutboundRoutingRule Class"),
  1928. noncreatable
  1929. ]
  1930. coclass FaxOutboundRoutingRule
  1931. {
  1932. [default] interface IFaxOutboundRoutingRule;
  1933. };
  1934. [
  1935. uuid(189A48ED-623C-4C0D-80F2-D66C7B9EFEC2),
  1936. helpstring("FaxInboundRoutingExtensions Class"),
  1937. noncreatable
  1938. ]
  1939. coclass FaxInboundRoutingExtensions
  1940. {
  1941. [default] interface IFaxInboundRoutingExtensions;
  1942. };
  1943. [
  1944. uuid(1D7DFB51-7207-4436-A0D9-24E32EE56988),
  1945. helpstring("FaxInboundRoutingExtension Class"),
  1946. noncreatable
  1947. ]
  1948. coclass FaxInboundRoutingExtension
  1949. {
  1950. [default] interface IFaxInboundRoutingExtension;
  1951. };
  1952. [
  1953. uuid(25FCB76A-B750-4B82-9266-FBBBAE8922BA),
  1954. helpstring("FaxInboundRoutingMethods Class"),
  1955. noncreatable
  1956. ]
  1957. coclass FaxInboundRoutingMethods
  1958. {
  1959. [default] interface IFaxInboundRoutingMethods;
  1960. };
  1961. [
  1962. uuid(4B9FD75C-0194-4B72-9CE5-02A8205AC7D4),
  1963. helpstring("FaxInboundRoutingMethod Class"),
  1964. noncreatable
  1965. ]
  1966. coclass FaxInboundRoutingMethod
  1967. {
  1968. [default] interface IFaxInboundRoutingMethod;
  1969. };
  1970. [
  1971. uuid(7BF222F4-BE8D-442f-841D-6132742423BB),
  1972. helpstring("FaxJobStatus Class"),
  1973. noncreatable
  1974. ]
  1975. coclass FaxJobStatus
  1976. {
  1977. [default] interface IFaxJobStatus;
  1978. };
  1979. [
  1980. uuid(60BF3301-7DF8-4bd8-9148-7B5801F9EFDF),
  1981. helpstring("FaxRecipient Class"),
  1982. noncreatable
  1983. ]
  1984. coclass FaxRecipient
  1985. {
  1986. [default] interface IFaxRecipient;
  1987. };
  1988. typedef enum FAX_ROUTING_RULE_CODE_ENUM
  1989. {
  1990. frrcANY_CODE = 0
  1991. } FAX_ROUTING_RULE_CODE_ENUM;
  1992. [dllname("FxsComEx.dll")]
  1993. module FaxConstants
  1994. {
  1995. [helpstring("Default prefetch size for message iterators")]
  1996. const long lDEFAULT_PREFETCH_SIZE = prv_DEFAULT_PREFETCH_SIZE;
  1997. [helpstring("Name of the group which contains all devices")]
  1998. const BSTR bstrGROUPNAME_ALLDEVICES = L"<All Devices>";
  1999. }
  2000. };