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

// FaxComEx.idl : IDL source for FaxComEx.dll
//
// This file will be processed by the MIDL tool to
// produce the type library (FaxComEx.tlb) and marshalling code.
import "oaidl.idl";
import "ocidl.idl";
// forward interface declarations
interface IFaxSender;
interface IFaxDevice;
interface IFaxDevices;
interface IFaxFolders;
interface IFaxActivity;
interface IFaxSecurity;
interface IFaxRecipient;
interface IFaxDeviceIds;
interface IFaxRecipients;
interface IFaxIncomingJob;
interface IFaxOutgoingJob;
interface IFaxIncomingJobs;
interface IFaxEventLogging;
interface IFaxOutgoingJobs;
interface IFaxIncomingQueue;
interface IFaxOutgoingQueue;
interface IFaxReceiptOptions;
interface IFaxInboundRouting;
interface IFaxLoggingOptions;
interface IFaxDeviceProvider;
interface IFaxOutgoingArchive;
interface IFaxIncomingArchive;
interface IFaxIncomingMessage;
interface IFaxActivityLogging;
interface IFaxDeviceProviders;
interface IFaxOutboundRouting;
interface IFaxOutgoingMessage;
interface IFaxOutboundRoutingRule;
interface IFaxOutboundRoutingGroup;
interface IFaxInboundRoutingMethod;
interface IFaxOutboundRoutingRules;
interface IFaxOutboundRoutingGroups;
interface IFaxInboundRoutingMethods;
interface IFaxIncomingMessageIterator;
interface IFaxInboundRoutingExtension;
interface IFaxOutgoingMessageIterator;
interface IFaxInboundRoutingExtensions;
//
// Internal COM's project definion
//
const long prv_DEFAULT_PREFETCH_SIZE = 100;
[
object,
uuid(8B86F485-FD7F-4824-886B-40C5CAA617CC),
dual,
helpstring("IFaxJobStatus interface"),
pointer_default(unique)
]
interface IFaxJobStatus : IDispatch
{
typedef enum FAX_JOB_STATUS_ENUM
{
fjsPENDING = 0x00000001,
fjsINPROGRESS = 0x00000002,
fjsFAILED = 0x00000008,
fjsPAUSED = 0x00000010,
fjsNOLINE = 0x00000020,
fjsRETRYING = 0x00000040,
fjsRETRIES_EXCEEDED = 0x00000080,
fjsCOMPLETED = 0x00000100,
fjsCANCELED = 0x00000200,
fjsCANCELING = 0x00000400,
fjsROUTING = 0x00000800
} FAX_JOB_STATUS_ENUM;
typedef enum FAX_JOB_EXTENDED_STATUS_ENUM
{
fjesNONE,
fjesDISCONNECTED,
fjesINITIALIZING,
fjesDIALING,
fjesTRANSMITTING,
fjesANSWERED,
fjesRECEIVING,
fjesLINE_UNAVAILABLE,
fjesBUSY,
fjesNO_ANSWER,
fjesBAD_ADDRESS,
fjesNO_DIAL_TONE,
fjesFATAL_ERROR,
fjesCALL_DELAYED,
fjesCALL_BLACKLISTED,
fjesNOT_FAX_CALL,
fjesPARTIALLY_RECEIVED,
fjesHANDLED,
fjesCALL_COMPLETED,
fjesCALL_ABORTED,
fjesPROPRIETARY = 0x01000000 // Obsolete, should not be used.
} FAX_JOB_EXTENDED_STATUS_ENUM;
typedef enum FAX_JOB_OPERATIONS_ENUM
{
fjoVIEW = 0x0001,
fjoPAUSE = 0x0002,
fjoRESUME = 0x0004,
fjoRESTART = 0x0008,
fjoDELETE = 0x0010,
fjoRECIPIENT_INFO = 0x0020,
fjoSENDER_INFO = 0x0040
} FAX_JOB_OPERATIONS_ENUM;
typedef enum FAX_JOB_TYPE_ENUM
{
fjtSEND,
fjtRECEIVE,
fjtROUTING
} FAX_JOB_TYPE_ENUM;
[propget, id(1), helpstring("Current queue status of the job, a bit-wise combination of FAX_JOB_STATUS values")]
HRESULT Status([out, retval] FAX_JOB_STATUS_ENUM *pStatus);
[propget, id(2), helpstring("Total number of pages")]
HRESULT Pages([out, retval] long *plPages);
[propget, id(3), helpstring("Size in bytes of TIFF file")]
HRESULT Size([out, retval] long *plSize);
[propget, id(4), helpstring("Page currently in transmision")]
HRESULT CurrentPage([out, retval] long *plCurrentPage);
[propget, id(5), helpstring("Device ID of device that transmits the job")]
HRESULT DeviceId([out, retval] long *plDeviceId);
[propget, id(6), helpstring("Called Station ID")]
HRESULT CSID([out, retval] BSTR *pbstrCSID);
[propget, id(7), helpstring("Transmitting Station ID")]
HRESULT TSID([out, retval] BSTR *pbstrTSID);
[propget, id(8), helpstring("Code of the job's extended status")]
HRESULT ExtendedStatusCode([out, retval] FAX_JOB_EXTENDED_STATUS_ENUM *pExtendedStatusCode);
[propget, id(9), helpstring("Extended status description")]
HRESULT ExtendedStatus([out, retval] BSTR *pbstrExtendedStatus);
[propget, id(10), helpstring("Available operations, a bit-wise combination of FAX_JOB_OPERATIONS values")]
HRESULT AvailableOperations([out, retval] FAX_JOB_OPERATIONS_ENUM *pAvailableOperations);
[propget, id(11), helpstring("Number of failed transmission retries")]
HRESULT Retries([out, retval] long *plRetries);
[propget, id(12), helpstring("Job type")]
HRESULT JobType([out, retval] FAX_JOB_TYPE_ENUM *pJobType);
[propget, id(13), helpstring("The time the fax job is scheduled to be transmitted")]
HRESULT ScheduledTime([out, retval] DATE *pdateScheduledTime);
[propget, id(14), helpstring("The time the fax job started its transmission")]
HRESULT TransmissionStart([out, retval] DATE *pdateTransmissionStart);
[propget, id(15), helpstring("The time the fax job finished its transmission")]
HRESULT TransmissionEnd([out, retval] DATE *pdateTransmissionEnd);
[propget, id(16), helpstring("Caller ID")]
HRESULT CallerId([out, retval] BSTR *pbstrCallerId);
[propget, id(17), helpstring("Routing information")]
HRESULT RoutingInformation([out, retval] BSTR *pbstrRoutingInformation);
};
[
object,
uuid(475B6469-90A5-4878-A577-17A86E8E3462),
dual,
helpstring("IFaxServer interface"),
pointer_default(unique),
nonextensible
]
interface IFaxServer : IDispatch
{
typedef enum FAX_SERVER_EVENTS_TYPE_ENUM
{
fsetNONE = 0x0000,
fsetIN_QUEUE = 0x0001,
fsetOUT_QUEUE = 0x0002,
fsetCONFIG = 0x0004,
fsetACTIVITY = 0x0008,
fsetQUEUE_STATE = 0x0010,
fsetIN_ARCHIVE = 0x0020,
fsetOUT_ARCHIVE = 0x0040,
fsetFXSSVC_ENDED = 0x0080,
fsetDEVICE_STATUS = 0x0100,
fsetINCOMING_CALL = 0x0200
} FAX_SERVER_EVENTS_TYPE_ENUM;
typedef enum FAX_SERVER_APIVERSION_ENUM
{
fsAPI_VERSION_0 = 0x00000000,
fsAPI_VERSION_1 = 0x00010000
} FAX_SERVER_APIVERSION_ENUM;
[id(1), helpstring("Connect to the fax server")]
HRESULT Connect([in] BSTR bstrServerName);
[propget, id(2), helpstring("The name of the fax server")]
HRESULT ServerName([out, retval] BSTR *pbstrServerName);
[id(3), helpstring("The collection of device providers")]
HRESULT GetDeviceProviders([out, retval] IFaxDeviceProviders **ppFaxDeviceProviders);
[id(4), helpstring("The collection of all available devices")]
HRESULT GetDevices([out, retval] IFaxDevices **ppFaxDevices);
[propget, id(5), helpstring("The inbound routing configuration object")]
HRESULT InboundRouting([out, retval] IFaxInboundRouting **ppFaxInboundRouting);
[propget, id(6), helpstring("The fax folders object")]
HRESULT Folders([out, retval] IFaxFolders **pFaxFolders);
[propget, id(7), helpstring("The logging options configuration object")]
HRESULT LoggingOptions([out, retval] IFaxLoggingOptions **ppFaxLoggingOptions);
[propget, id(8), helpstring("The major part of the fax server's version number")]
HRESULT MajorVersion([out, retval] long *plMajorVersion);
[propget, id(9), helpstring("The minor part of the fax server's version number")]
HRESULT MinorVersion([out, retval] long *plMinorVersion);
[propget, id(10), helpstring("The major part of the fax server's build number")]
HRESULT MajorBuild([out, retval] long *plMajorBuild);
[propget, id(11), helpstring("The minor part of the fax server's build number")]
HRESULT MinorBuild([out, retval] long *plMinorBuild);
[propget, id(12), helpstring("Is fax server built in debug environment")]
HRESULT Debug([out, retval] VARIANT_BOOL *pbDebug);
[propget, id(13), helpstring("The fax server activity status object")]
HRESULT Activity([out, retval] IFaxActivity **ppFaxActivity);
[propget, id(14), helpstring("The outbound routing configuration object")]
HRESULT OutboundRouting([out, retval] IFaxOutboundRouting **ppFaxOutboundRouting);
[propget, id(15), helpstring("The receipt options configuration object")]
HRESULT ReceiptOptions([out, retval] IFaxReceiptOptions **ppFaxReceiptOptions);
[propget, id(16), helpstring("The security configuration object")]
HRESULT Security([out, retval] IFaxSecurity **ppFaxSecurity);
[id(17), helpstring("Disconnect from the fax server")]
HRESULT Disconnect();
[id(18), helpstring("Return server level extention property")]
HRESULT GetExtensionProperty([in] BSTR bstrGUID, [out, retval] VARIANT *pvProperty);
[id(19), helpstring("Set server level extention property")]
HRESULT SetExtensionProperty([in] BSTR bstrGUID, [in] VARIANT vProperty);
[id(20), helpstring("Set bit-wise combination of events the fax server listens to")]
HRESULT ListenToServerEvents([in] FAX_SERVER_EVENTS_TYPE_ENUM EventTypes);
[id(21), helpstring("Register device provider")]
HRESULT RegisterDeviceProvider(
[in] BSTR bstrGUID,
[in] BSTR bstrFriendlyName,
[in] BSTR bstrImageName,
[in] BSTR TspName,
[in] long lFSPIVersion);
[id(22), helpstring("Unregister device provider")]
HRESULT UnregisterDeviceProvider([in] BSTR bstrUniqueName);
[id(23), helpstring("Register inbound routing extension")]
HRESULT RegisterInboundRoutingExtension(
[in] BSTR bstrExtensionName,
[in] BSTR bstrFriendlyName,
[in] BSTR bstrImageName,
[in] VARIANT vMethods);
[id(24), helpstring("Unregister inbound routing extension")]
HRESULT UnregisterInboundRoutingExtension([in] BSTR bstrExtensionUniqueName);
[propget, id(25), helpstring("Events the fax Server is listening to")]
HRESULT RegisteredEvents([out, retval] FAX_SERVER_EVENTS_TYPE_ENUM *pEventTypes);
[propget, id(26), helpstring("Version of the fax server API")]
HRESULT APIVersion([out, retval] FAX_SERVER_APIVERSION_ENUM *pAPIVersion);
};
[
object,
uuid(9FB76F62-4C7E-43A5-B6FD-502893F7E13E),
dual,
helpstring("IFaxDeviceProviders interface"),
pointer_default(unique),
nonextensible
]
interface IFaxDeviceProviders : IDispatch
{
[id(DISPID_NEWENUM), propget]
HRESULT _NewEnum([out, retval] IUnknown **ppUnk);
[id(DISPID_VALUE), propget]
HRESULT Item([in] VARIANT vIndex, [out, retval] IFaxDeviceProvider **pFaxDeviceProvider);
[id(1), propget]
HRESULT Count([out, retval] long* plCount);
};
[
object,
uuid(9E46783E-F34F-482E-A360-0416BECBBD96),
dual,
helpstring("IFaxDevices interface"),
pointer_default(unique),
nonextensible
]
interface IFaxDevices : IDispatch
{
[id(DISPID_NEWENUM), propget]
HRESULT _NewEnum([out, retval] IUnknown **ppUnk);
[id(DISPID_VALUE), propget]
HRESULT Item([in] VARIANT vIndex, [out, retval] IFaxDevice **pFaxDevice);
[id(1), propget]
HRESULT Count([out, retval] long* plCount);
[id(2), helpstring("Get device by its ID"), propget]
HRESULT ItemById([in] long lId, [out, retval] IFaxDevice **ppFaxDevice);
};
[
object,
uuid(8148C20F-9D52-45B1-BF96-38FC12713527),
dual,
helpstring("IFaxInboundRouting interface"),
pointer_default(unique),
nonextensible
]
interface IFaxInboundRouting : IDispatch
{
[id(1), helpstring("Registered inbound routing extensions collection")]
HRESULT GetExtensions([out, retval] IFaxInboundRoutingExtensions **pFaxInboundRoutingExtensions);
[id(2), helpstring("Ordered collection of all the registered methods")]
HRESULT GetMethods([out, retval] IFaxInboundRoutingMethods **pFaxInboundRoutingMethods);
};
[
object,
uuid(DCE3B2A8-A7AB-42BC-9D0A-3149457261A0),
dual,
helpstring("IFaxFolders interface"),
pointer_default(unique),
nonextensible
]
interface IFaxFolders : IDispatch
{
[propget, id(1), helpstring("Outgoing queue")]
HRESULT OutgoingQueue([out, retval] IFaxOutgoingQueue **pFaxOutgoingQueue);
[propget, id(2), helpstring("Incoming queue")]
HRESULT IncomingQueue([out, retval] IFaxIncomingQueue **pFaxIncomingQueue);
[propget, id(3), helpstring("Incoming archive")]
HRESULT IncomingArchive([out, retval] IFaxIncomingArchive **pFaxIncomingArchive);
[propget, id(4), helpstring("Outgoing archive")]
HRESULT OutgoingArchive([out, retval] IFaxOutgoingArchive **pFaxOutgoingArchive);
};
[
object,
uuid(34E64FB9-6B31-4D32-8B27-D286C0C33606),
dual,
helpstring("IFaxLoggingOptions interface"),
pointer_default(unique),
nonextensible
]
interface IFaxLoggingOptions : IDispatch
{
[propget, id(1), helpstring("Event logging configuration object")]
HRESULT EventLogging([out, retval] IFaxEventLogging **pFaxEventLogging);
[propget, id(2), helpstring("Activity logging configuration object")]
HRESULT ActivityLogging([out, retval] IFaxActivityLogging **pFaxActivityLogging);
};
[
object,
uuid(4B106F97-3DF5-40F2-BC3C-44CB8115EBDF),
dual,
helpstring("IFaxActivity interface"),
pointer_default(unique),
nonextensible
]
interface IFaxActivity : IDispatch
{
[propget, id(1), helpstring("Number of incoming messages")]
HRESULT IncomingMessages([out, retval] long *plIncomingMessages);
[propget, id(2), helpstring("Number of routed incoming messages")]
HRESULT RoutingMessages([out, retval] long *plRoutingMessages);
[propget, id(3), helpstring("Number of outgoing messages")]
HRESULT OutgoingMessages([out, retval] long *plOutgoingMessages);
[propget, id(4), helpstring("Number of queued messages")]
HRESULT QueuedMessages([out, retval] long *plQueuedMessages);
[id(5), helpstring("Refresh the object")]
HRESULT Refresh();
};
[
object,
uuid(25DC05A4-9909-41BD-A95B-7E5D1DEC1D43),
dual,
helpstring("IFaxOutboundRouting interface"),
pointer_default(unique),
nonextensible
]
interface IFaxOutboundRouting : IDispatch
{
[id(1), helpstring("Configuration of the outbound routing groups")]
HRESULT GetGroups([out, retval] IFaxOutboundRoutingGroups **pFaxOutboundRoutingGroups);
[id(2), helpstring("Configuration of the outbound routing rules")]
HRESULT GetRules([out, retval] IFaxOutboundRoutingRules **pFaxOutboundRoutingRules);
};
[
object,
uuid(378EFAEB-5FCB-4AFB-B2EE-E16E80614487),
dual,
helpstring("IFaxReceiptOptions interface"),
pointer_default(unique),
nonextensible
]
interface IFaxReceiptOptions : IDispatch
{
typedef enum FAX_SMTP_AUTHENTICATION_TYPE_ENUM
{
fsatANONYMOUS,
fsatBASIC,
fsatNTLM
} FAX_SMTP_AUTHENTICATION_TYPE_ENUM;
typedef enum FAX_RECEIPT_TYPE_ENUM
{
frtNONE = 0x0000,
frtMAIL = 0x0001,
frtMSGBOX = 0x0004
} FAX_RECEIPT_TYPE_ENUM;
[propget, id(1), helpstring("Authentication type used by server")]
HRESULT AuthenticationType([out, retval] FAX_SMTP_AUTHENTICATION_TYPE_ENUM *pType);
[propput, id(1), helpstring("Authentication type used by server")]
HRESULT AuthenticationType([in] FAX_SMTP_AUTHENTICATION_TYPE_ENUM Type);
[propget, id(2), helpstring("Name of the SMTP server")]
HRESULT SMTPServer([out, retval] BSTR *pbstrSMTPServer);
[propput, id(2), helpstring("Name of the SMTP server")]
HRESULT SMTPServer([in] BSTR bstrSMTPServer);
[propget, id(3), helpstring("SMTP port number")]
HRESULT SMTPPort([out, retval] long *plSMTPPort);
[propput, id(3), helpstring("SMTP port number")]
HRESULT SMTPPort([in] long lSMTPPort);
[propget, id(4), helpstring("SMTP sender e-mail address")]
HRESULT SMTPSender([out, retval] BSTR *pbstrSMTPSender);
[propput, id(4), helpstring("SMTP sender e-mail address")]
HRESULT SMTPSender([in] BSTR bstrSMTPSender);
[propget, id(5), helpstring("SMTP user name")]
HRESULT SMTPUser([out, retval] BSTR *pbstrSMTPUser);
[propput, id(5), helpstring("SMTP user name")]
HRESULT SMTPUser([in] BSTR bstrSMTPUser);
[propget, id(6), helpstring("Allowed receipt types, a bit-wise combination of FAX_RECEIPT_TYPE values")]
HRESULT AllowedReceipts([out, retval] FAX_RECEIPT_TYPE_ENUM *pAllowedReceipts);
[propput, id(6), helpstring("Allowed receipt types, a bit-wise combination of FAX_RECEIPT_TYPE values")]
HRESULT AllowedReceipts([in] FAX_RECEIPT_TYPE_ENUM AllowedReceipts);
[propget, id(7), helpstring("SMTP password")]
HRESULT SMTPPassword([out, retval] BSTR *pbstrSMTPPassword);
[propput, id(7), helpstring("SMTP password")]
HRESULT SMTPPassword([in] BSTR bstrSMTPPassword);
[id(8), helpstring("Refresh the object")]
HRESULT Refresh();
[id(9), helpstring("Save the object")]
HRESULT Save();
[propget, id(10), helpstring("Whether to use the IFaxReceiptOptions settings for MS routing extension")]
HRESULT UseForInboundRouting([out, retval] VARIANT_BOOL *pbUseForInboundRouting);
[propput, id(10), helpstring("Whether to use the IFaxReceiptOptions settings for MS routing extension")]
HRESULT UseForInboundRouting([in] VARIANT_BOOL bUseForInboundRouting);
};
[
object,
uuid(77B508C1-09C0-47A2-91EB-FCE7FDF2690E),
dual,
helpstring("IFaxSecurity interface"),
pointer_default(unique),
nonextensible
]
interface IFaxSecurity : IDispatch
{
typedef enum FAX_ACCESS_RIGHTS_ENUM
{
farSUBMIT_LOW = 0x0001,
farSUBMIT_NORMAL = 0x0002,
farSUBMIT_HIGH = 0x0004,
farQUERY_JOBS = 0x0008,
farMANAGE_JOBS = 0x0010,
farQUERY_CONFIG = 0x0020,
farMANAGE_CONFIG = 0x0040,
farQUERY_IN_ARCHIVE = 0x0080,
farMANAGE_IN_ARCHIVE = 0x0100,
farQUERY_OUT_ARCHIVE = 0x0200,
farMANAGE_OUT_ARCHIVE = 0x0400
} FAX_ACCESS_RIGHTS_ENUM;
[propget, id(1), helpstring("Security descriptor")]
HRESULT Descriptor([out, retval] VARIANT *pvDescriptor);
[propput, id(1), helpstring("Security descriptor")]
HRESULT Descriptor([in] VARIANT vDescriptor);
[propget, id(2), helpstring("Granted rights, a bit-wise combination of FAX_ACCESS_RIGHTS values")]
HRESULT GrantedRights([out, retval] FAX_ACCESS_RIGHTS_ENUM *pGrantedRights);
[id(3), helpstring("Refresh the object")]
HRESULT Refresh();
[id(4), helpstring("Save the object")]
HRESULT Save();
[propget, id(5), helpstring("Security Information Type")]
HRESULT InformationType([out, retval] long *plInformationType);
[propput, id(5), helpstring("Security Information Type")]
HRESULT InformationType([in] long lInformationType);
};
[
object,
uuid(B207A246-09E3-4A4E-A7DC-FEA31D29458F),
dual,
helpstring("IFaxDocument interface"),
pointer_default(unique),
nonextensible
]
interface IFaxDocument : IDispatch
{
typedef enum FAX_PRIORITY_TYPE_ENUM
{
fptLOW,
fptNORMAL,
fptHIGH
} FAX_PRIORITY_TYPE_ENUM;
typedef enum FAX_COVERPAGE_TYPE_ENUM
{
fcptNONE,
fcptLOCAL,
fcptSERVER
} FAX_COVERPAGE_TYPE_ENUM;
typedef enum FAX_SCHEDULE_TYPE_ENUM
{
fstNOW,
fstSPECIFIC_TIME,
fstDISCOUNT_PERIOD
} FAX_SCHEDULE_TYPE_ENUM;
[propget, id(1), helpstring("Full path to the fax document body file")]
HRESULT Body([out, retval] BSTR *pbstrBody);
[propput, id(1), helpstring("Full path to the fax document body file")]
HRESULT Body([in] BSTR bstrBody);
[propget, id(2), helpstring("Sender information object")]
HRESULT Sender([out, retval] IFaxSender **ppFaxSender);
[propget, id(3), helpstring("Collection of recipients")]
HRESULT Recipients([out, retval] IFaxRecipients **ppFaxRecipients);
[propget, id(4), helpstring("Cover page file path")]
HRESULT CoverPage([out, retval] BSTR *pbstrCoverPage);
[propput, id(4), helpstring("Cover page file path")]
HRESULT CoverPage([in] BSTR bstrCoverPage);
[propget, id(5), helpstring("Contents of cover page subject field")]
HRESULT Subject([out, retval] BSTR *pbstrSubject);
[propput, id(5), helpstring("Contents of cover page subject field")]
HRESULT Subject([in] BSTR bstrSubject);
[propget, id(6), helpstring("Contents of cover page note field")]
HRESULT Note([out, retval] BSTR *pbstrNote);
[propput, id(6), helpstring("Contents of cover page note field")]
HRESULT Note([in] BSTR bstrNote);
[propget, id(7), helpstring("Time to send the fax")]
HRESULT ScheduleTime([out, retval] DATE *pdateScheduleTime);
[propput, id(7), helpstring("Time to send the fax")]
HRESULT ScheduleTime([in] DATE dateScheduleTime);
[propget, id(8), helpstring("Address of the receipt")]
HRESULT ReceiptAddress([out, retval] BSTR *pbstrReceiptAddress);
[propput, id(8), helpstring("Set the address of the receipt")]
HRESULT ReceiptAddress([in] BSTR bstrReceiptAddress);
[propget, id(9), helpstring("The document name")]
HRESULT DocumentName([out, retval] BSTR *pbstrDocumentName);
[propput, id(9), helpstring("The document name")]
HRESULT DocumentName([in] BSTR bstrDocumentName);
[propget, id(10), helpstring("Call handle")]
HRESULT CallHandle([out, retval] long *plCallHandle);
[propput, id(10), helpstring("Call handle")]
HRESULT CallHandle([in] long lCallHandle);
[propget, id(11), helpstring("Is server, local, or no cover page used")]
HRESULT CoverPageType([out, retval] FAX_COVERPAGE_TYPE_ENUM *pCoverPageType);
[propput, id(11), helpstring("Is server, local, or no cover page used")]
HRESULT CoverPageType([in] FAX_COVERPAGE_TYPE_ENUM CoverPageType);
[propget, id(12), helpstring("When to send the fax")]
HRESULT ScheduleType([out, retval] FAX_SCHEDULE_TYPE_ENUM *pScheduleType);
[propput, id(12), helpstring("When to send the fax")]
HRESULT ScheduleType([in] FAX_SCHEDULE_TYPE_ENUM ScheduleType);
[propget, id(13), helpstring("Type of the receipt")]
HRESULT ReceiptType([out, retval] FAX_RECEIPT_TYPE_ENUM *pReceiptType);
[propput, id(13), helpstring("Type of the receipt")]
HRESULT ReceiptType([in] FAX_RECEIPT_TYPE_ENUM ReceiptType);
[propget, id(14), helpstring("Whether to group the broadcast receipts")]
HRESULT GroupBroadcastReceipts([out, retval] VARIANT_BOOL *pbUseGrouping);
[propput, id(14), helpstring("Whether to group the broadcast receipts")]
HRESULT GroupBroadcastReceipts([in] VARIANT_BOOL bUseGrouping);
[propget, id(15), helpstring("Priority of the fax")]
HRESULT Priority([out, retval] FAX_PRIORITY_TYPE_ENUM *pPriority);
[propput, id(15), helpstring("Priority of the fax")]
HRESULT Priority([in] FAX_PRIORITY_TYPE_ENUM Priority);
[propget, id(16), helpstring("Tapi connection")]
HRESULT TapiConnection([out, retval] IDispatch **ppTapiConnection);
[propputref, id(16), helpstring("Tapi connection")]
HRESULT TapiConnection([in] IDispatch *pTapiConnection);
[id(17), helpstring("Connect to server, submit the fax document, disconnect")]
HRESULT Submit([in] BSTR bstrFaxServerName, [out, retval] VARIANT *pvFaxOutgoingJobIDs);
[id(18), helpstring("Submit the fax document on the already connected server")]
HRESULT ConnectedSubmit([in] IFaxServer *pFaxServer, [out, retval] VARIANT *pvFaxOutgoingJobIDs);
[propget, id(19), helpstring("Whether to attach a fax to the receipt")]
HRESULT AttachFaxToReceipt([out, retval] VARIANT_BOOL *pbAttachFax);
[propput, id(19), helpstring("Whether to attach a fax to the receipt")]
HRESULT AttachFaxToReceipt([in] VARIANT_BOOL bAttachFax);
};
[
object,
uuid(0D879D7D-F57A-4CC6-A6F9-3EE5D527B46A),
dual,
helpstring("IFaxSender interface"),
pointer_default(unique),
nonextensible
]
interface IFaxSender : IDispatch
{
[propget, id(1), helpstring("Sender's billing code")]
HRESULT BillingCode([out, retval] BSTR *pbstrBillingCode);
[propput, id(1), helpstring("Sender's billing code")]
HRESULT BillingCode([in] BSTR bstrBillingCode);
[propget, id(2), helpstring("City")]
HRESULT City([out, retval] BSTR *pbstrCity);
[propput, id(2), helpstring("Sender's city")]
HRESULT City([in] BSTR bstrCity);
[propget, id(3), helpstring("Sender's company")]
HRESULT Company([out, retval] BSTR *pbstrCompany);
[propput, id(3), helpstring("Sender's company")]
HRESULT Company([in] BSTR bstrCompany);
[propget, id(4), helpstring("Sender's country or region")]
HRESULT Country([out, retval] BSTR *pbstrCountry);
[propput, id(4), helpstring("Sender's country or region")]
HRESULT Country([in] BSTR bstrCountry);
[propget, id(5), helpstring("Sender's department")]
HRESULT Department([out, retval] BSTR *pbstrDepartment);
[propput, id(5), helpstring("Sender's department")]
HRESULT Department([in] BSTR bstrDepartment);
[propget, id(6), helpstring("Sender's e-mail address")]
HRESULT Email([out, retval] BSTR *pbstrEmail);
[propput, id(6), helpstring("Sender's e-mail address")]
HRESULT Email([in] BSTR bstrEmail);
[propget, id(7), helpstring("Sender's fax number")]
HRESULT FaxNumber([out, retval] BSTR *pbstrFaxNumber);
[propput, id(7), helpstring("Sender's fax number")]
HRESULT FaxNumber([in] BSTR bstrFaxNumber);
[propget, id(8), helpstring("Sender's home phone")]
HRESULT HomePhone([out, retval] BSTR *pbstrHomePhone);
[propput, id(8), helpstring("Sender's home phone")]
HRESULT HomePhone([in] BSTR bstrHomePhone);
[propget, id(9), helpstring("Sender's name")]
HRESULT Name([out, retval] BSTR *pbstrName);
[propput, id(9), helpstring("Sender's name")]
HRESULT Name([in] BSTR bstrName);
[propget, id(10), helpstring("Transmitting Station ID")]
HRESULT TSID([out, retval] BSTR *pbstrTSID);
[propput, id(10), helpstring("Transmitting Station ID")]
HRESULT TSID([in] BSTR bstrTSID);
[propget, id(11), helpstring("Sender's office phone")]
HRESULT OfficePhone([out, retval] BSTR *pbstrOfficePhone);
[propput, id(11), helpstring("Sender's office phone")]
HRESULT OfficePhone([in] BSTR bstrOfficePhone);
[propget, id(12), helpstring("Sender's office location")]
HRESULT OfficeLocation([out, retval] BSTR *pbstrOfficeLocation);
[propput, id(12), helpstring("Sender's office location")]
HRESULT OfficeLocation([in] BSTR bstrOfficeLocation);
[propget, id(13), helpstring("Sender's state")]
HRESULT State([out, retval] BSTR *pbstrState);
[propput, id(13), helpstring("Sender's state")]
HRESULT State([in] BSTR bstrState);
[propget, id(14), helpstring("Sender's street address")]
HRESULT StreetAddress([out, retval] BSTR *pbstrStreetAddress);
[propput, id(14), helpstring("Sender's street address")]
HRESULT StreetAddress([in] BSTR bstrStreetAddress);
[propget, id(15), helpstring("Sender's title")]
HRESULT Title([out, retval] BSTR *pbstrTitle);
[propput, id(15), helpstring("Sender's title")]
HRESULT Title([in] BSTR bstrTitle);
[propget, id(16), helpstring("Sender's zip code")]
HRESULT ZipCode([out, retval] BSTR *pbstrZipCode);
[propput, id(16), helpstring("Sender's zip code")]
HRESULT ZipCode([in] BSTR bstrZipCode);
[id(17), helpstring("Load default sender")]
HRESULT LoadDefaultSender();
[id(18), helpstring("Save default sender")]
HRESULT SaveDefaultSender();
};
[
object,
uuid(9A3DA3A0-538D-42b6-9444-AAA57D0CE2BC),
dual,
helpstring("IFaxRecipient interface"),
pointer_default(unique),
nonextensible
]
interface IFaxRecipient : IDispatch
{
[propget, id(1), helpstring("Recipient's fax number")]
HRESULT FaxNumber([out, retval] BSTR *pbstrFaxNumber);
[propput, id(1), helpstring("Recipient's fax number")]
HRESULT FaxNumber([in] BSTR bstrFaxNumber);
[propget, id(2), helpstring("Recipient's name")]
HRESULT Name([out, retval] BSTR *pbstrName);
[propput, id(2), helpstring("Recipient's name")]
HRESULT Name([in] BSTR bstrName);
};
[
object,
uuid(B9C9DE5A-894E-4492-9FA3-08C627C11D5D),
dual,
helpstring("IFaxRecipients interface"),
pointer_default(unique),
nonextensible
]
interface IFaxRecipients : IDispatch
{
[id(DISPID_NEWENUM), propget]
HRESULT _NewEnum([out, retval] IUnknown **ppUnk);
[id(DISPID_VALUE), propget]
HRESULT Item([in] long lIndex, [out, retval] IFaxRecipient **ppFaxRecipient);
[id(1), propget]
HRESULT Count([out, retval] long *plCount);
[id(2), helpstring("Add a recipient")]
HRESULT Add(
[in] BSTR bstrFaxNumber,
[in, defaultvalue("")] BSTR bstrRecipientName,
[out, retval] IFaxRecipient **ppFaxRecipient);
[id(3), helpstring("Remove a recipient")]
HRESULT Remove([in] long lIndex);
};
[
object,
uuid(76062CC7-F714-4FBD-AA06-ED6E4A4B70F3),
dual,
helpstring("IFaxIncomingArchive interface"),
pointer_default(unique)
]
interface IFaxIncomingArchive : IDispatch
{
[propget, id(1), helpstring("Whether received faxes should be archived")]
HRESULT UseArchive([out, retval] VARIANT_BOOL *pbUseArchive);
[propput, id(1), helpstring("Whether received faxes should be archived")]
HRESULT UseArchive([in] VARIANT_BOOL bUseArchive);
[propget, id(2), helpstring("Location of the archive folder on the server")]
HRESULT ArchiveFolder([out, retval] BSTR *pbstrArchiveFolder);
[propput, id(2), helpstring("Location of the archive folder on the server")]
HRESULT ArchiveFolder([in] BSTR bstrArchiveFolder);
[propget, id(3), helpstring("Is size quota warning on")]
HRESULT SizeQuotaWarning([out, retval] VARIANT_BOOL *pbSizeQuotaWarning);
[propput, id(3), helpstring("Is size quota warning on")]
HRESULT SizeQuotaWarning([in] VARIANT_BOOL bSizeQuotaWarning);
[propget, id(4), helpstring("High quota water mark")]
HRESULT HighQuotaWaterMark([out, retval] long *plHighQuotaWaterMark);
[propput, id(4), helpstring("High quota water mark")]
HRESULT HighQuotaWaterMark([in] long lHighQuotaWaterMark);
[propget, id(5), helpstring("Low quota water mark")]
HRESULT LowQuotaWaterMark([out, retval] long *plLowQuotaWaterMark);
[propput, id(5), helpstring("Low quota water mark")]
HRESULT LowQuotaWaterMark([in] long lLowQuotaWaterMark);
[propget, id(6), helpstring("How long the fax message is kept on the Server")]
HRESULT AgeLimit([out, retval] long *plAgeLimit);
[propput, id(6), helpstring("How long the fax message is kept on the server")]
HRESULT AgeLimit([in] long lAgeLimit);
[propget, id(7), helpstring("The low 32-bit value of the archive size")]
HRESULT SizeLow([out, retval] long *plSizeLow);
[propget, id(8), helpstring("The high 32-bit value of the archive size")]
HRESULT SizeHigh([out, retval] long *plSizeHigh);
[id(9), helpstring("Refresh the object")]
HRESULT Refresh();
[id(10), helpstring("Save the object")]
HRESULT Save();
[id(11), helpstring("Iterator on the archived messages")]
HRESULT GetMessages(
[in, defaultvalue(prv_DEFAULT_PREFETCH_SIZE)] long lPrefetchSize,
[out, retval] IFaxIncomingMessageIterator **pFaxIncomingMessageIterator);
[id(12), helpstring("Get archived message by its ID")]
HRESULT GetMessage(
[in] BSTR bstrMessageId,
[out,retval] IFaxIncomingMessage **pFaxIncomingMessage);
};
[
object,
uuid(902E64EF-8FD8-4B75-9725-6014DF161545),
dual,
helpstring("IFaxIncomingQueue interface"),
pointer_default(unique)
]
interface IFaxIncomingQueue : IDispatch
{
[propget, id(1), helpstring("Is queue blocked")]
HRESULT Blocked([out, retval] VARIANT_BOOL *pbBlocked);
[propput, id(1), helpstring("Is queue blocked")]
HRESULT Blocked([in] VARIANT_BOOL bBlocked);
[id(2), helpstring("Refresh the object")]
HRESULT Refresh();
[id(3), helpstring("Save the object")]
HRESULT Save();
[id(4), helpstring("Collection of incoming jobs")]
HRESULT GetJobs([out, retval] IFaxIncomingJobs **pFaxIncomingJobs);
[id(5), helpstring("Get incoming job by ID")]
HRESULT GetJob([in] BSTR bstrJobId, [out, retval] IFaxIncomingJob **pFaxIncomingJob);
};
[
object,
uuid(C9C28F40-8D80-4E53-810F-9A79919B49FD),
dual,
helpstring("IFaxOutgoingArchive interface"),
pointer_default(unique)
]
interface IFaxOutgoingArchive : IDispatch
{
[propget, id(1), helpstring("Whether sent faxes should be archived")]
HRESULT UseArchive([out, retval] VARIANT_BOOL *pbUseArchive);
[propput, id(1), helpstring("Whether sent faxes should be archived ?")]
HRESULT UseArchive([in] VARIANT_BOOL bUseArchive);
[propget, id(2), helpstring("Location of the outgoing archive on the server")]
HRESULT ArchiveFolder([out, retval] BSTR *pbstrArchiveFolder);
[propput, id(2), helpstring("Location of the outgoing archive on the server")]
HRESULT ArchiveFolder([in] BSTR bstrArchiveFolder);
[propget, id(3), helpstring("Is the size quota warning on or off")]
HRESULT SizeQuotaWarning([out, retval] VARIANT_BOOL *pbSizeQuotaWarning);
[propput, id(3), helpstring("Is the size quota warning on or off")]
HRESULT SizeQuotaWarning([in] VARIANT_BOOL bSizeQuotaWarning);
[propget, id(4), helpstring("High quota water mark")]
HRESULT HighQuotaWaterMark([out, retval] long *plHighQuotaWaterMark);
[propput, id(4), helpstring("High quota water mark")]
HRESULT HighQuotaWaterMark([in] long lHighQuotaWaterMark);
[propget, id(5), helpstring("Low quota water mark")]
HRESULT LowQuotaWaterMark([out, retval] long *plLowQuotaWaterMark);
[propput, id(5), helpstring("Low quota water mark")]
HRESULT LowQuotaWaterMark([in] long lLowQuotaWaterMark);
[propget, id(6), helpstring("Indicates how long the fax message is kept on the server")]
HRESULT AgeLimit([out, retval] long *plAgeLimit);
[propput, id(6), helpstring("Set how long the fax message is kept on the server")]
HRESULT AgeLimit([in] long lAgeLimit);
[propget, id(7), helpstring("The low 32-bit value of the archive size")]
HRESULT SizeLow([out, retval] long *plSizeLow);
[propget, id(8), helpstring("The high 32-bit value of the archive size")]
HRESULT SizeHigh([out, retval] long *plSizeHigh);
[id(9), helpstring("Refresh the object")]
HRESULT Refresh();
[id(10), helpstring("Save the object")]
HRESULT Save();
[id(11), helpstring("Iterator on the archived messages")]
HRESULT GetMessages(
[in, defaultvalue(prv_DEFAULT_PREFETCH_SIZE)] long lPrefetchSize,
[out, retval] IFaxOutgoingMessageIterator **pFaxOutgoingMessageIterator);
[id(12), helpstring("Get an archived message by its ID")]
HRESULT GetMessage(
[in] BSTR bstrMessageId,
[out,retval] IFaxOutgoingMessage **pFaxOutgoingMessage);
};
[
object,
uuid(80B1DF24-D9AC-4333-B373-487CEDC80CE5),
dual,
helpstring("IFaxOutgoingQueue interface"),
pointer_default(unique)
]
interface IFaxOutgoingQueue : IDispatch
{
[propget, id(1), helpstring("Is the queue blocked")]
HRESULT Blocked([out, retval] VARIANT_BOOL *pbBlocked);
[propput, id(1), helpstring("Is the queue blocked")]
HRESULT Blocked([in] VARIANT_BOOL bBlocked);
[propget, id(2), helpstring("Is the queue paused")]
HRESULT Paused([out, retval] VARIANT_BOOL *pbPaused);
[propput, id(2), helpstring("Is the queue paused")]
HRESULT Paused([in] VARIANT_BOOL bPaused);
[propget, id(3), helpstring("Are personal cover pages allowed")]
HRESULT AllowPersonalCoverPages([out, retval] VARIANT_BOOL *pbAllowPersonalCoverPages);
[propput, id(3), helpstring("Are personal cover pages allowed")]
HRESULT AllowPersonalCoverPages([in] VARIANT_BOOL bAllowPersonalCoverPages);
[propget, id(4), helpstring("Is device Transmitting Station ID used")]
HRESULT UseDeviceTSID([out, retval] VARIANT_BOOL *pbUseDeviceTSID);
[propput, id(4), helpstring("Is device Transmitting Station ID used")]
HRESULT UseDeviceTSID([in] VARIANT_BOOL bUseDeviceTSID);
[propget, id(5), helpstring("Number of retries")]
HRESULT Retries([out, retval] long *plRetries);
[propput, id(5), helpstring("Number of retries")]
HRESULT Retries([in] long lRetries);
[propget, id(6), helpstring("Retry delay")]
HRESULT RetryDelay([out, retval] long *plRetryDelay);
[propput, id(6), helpstring("Retry delay")]
HRESULT RetryDelay([in] long lRetryDelay);
[propget, id(7), helpstring("Start of the discount rate period")]
HRESULT DiscountRateStart([out, retval] DATE *pdateDiscountRateStart);
[propput, id(7), helpstring("Start of the discount rate period")]
HRESULT DiscountRateStart([in] DATE dateDiscountRateStart);
[propget, id(8), helpstring("End of the discount rate period")]
HRESULT DiscountRateEnd([out, retval] DATE *pdateDiscountRateEnd);
[propput, id(8), helpstring("End of the discount rate period")]
HRESULT DiscountRateEnd([in] DATE dateDiscountRateEnd);
[propget, id(9), helpstring("How long the failed fax message is kept on the server")]
HRESULT AgeLimit([out, retval] long *plAgeLimit);
[propput, id(9), helpstring("How long the failed fax message is kept on the server")]
HRESULT AgeLimit([in] long lAgeLimit);
[propget, id(10), helpstring("Does the server generate a brand")]
HRESULT Branding([out, retval] VARIANT_BOOL *pbBranding);
[propput, id(10), helpstring("Does the server generate a brand")]
HRESULT Branding([in] VARIANT_BOOL bBranding);
[id(11), helpstring("Refresh the object")]
HRESULT Refresh();
[id(12), helpstring("Save the object")]
HRESULT Save();
[id(13), helpstring("Collection of outgoing jobs")]
HRESULT GetJobs([out, retval] IFaxOutgoingJobs **pFaxOutgoingJobs);
[id(14), helpstring("Outgoing job by ID")]
HRESULT GetJob([in] BSTR bstrJobId, [out, retval] IFaxOutgoingJob **pFaxOutgoingJob);
};
[
object,
uuid(FD73ECC4-6F06-4F52-82A8-F7BA06AE3108),
dual,
helpstring("IFaxIncomingMessageIterator interface"),
pointer_default(unique)
]
interface IFaxIncomingMessageIterator : IDispatch
{
[propget, id(1), helpstring("The current message")]
HRESULT Message([out, retval] IFaxIncomingMessage **pFaxIncomingMessage);
[propget, id(2), helpstring("Size of the prefetch buffer")]
HRESULT PrefetchSize([out, retval] long *plPrefetchSize);
[propput, id(2), helpstring("Size of the prefetch buffer")]
HRESULT PrefetchSize([in] long lPrefetchSize);
[propget, id(3), helpstring("End of archive marker")]
HRESULT AtEOF([out, retval] VARIANT_BOOL *pbEOF);
[id(4), helpstring("Move to the first message in the archive")]
HRESULT MoveFirst();
[id(5), helpstring("Move to the next message in the archive")]
HRESULT MoveNext();
};
[
object,
uuid(7CAB88FA-2EF9-4851-B2F3-1D148FED8447),
dual,
helpstring("IFaxIncomingMessage interface"),
pointer_default(unique)
]
interface IFaxIncomingMessage : IDispatch
{
[propget, id(1), helpstring("Unique message ID")]
HRESULT Id([out, retval] BSTR *pbstrId);
[propget, id(2), helpstring("Total number of pages")]
HRESULT Pages([out, retval] long *plPages);
[propget, id(3), helpstring("Size in bytes of the message's TIFF file")]
HRESULT Size([out, retval] long *plSize);
[propget, id(4), helpstring("Name of the device that received the message")]
HRESULT DeviceName([out, retval] BSTR *pbstrDeviceName);
[propget, id(5), helpstring("Number of failed routing retries")]
HRESULT Retries([out, retval] long *plRetries);
[propget, id(6), helpstring("Transmission start time")]
HRESULT TransmissionStart([out, retval] DATE *pdateTransmissionStart);
[propget, id(7), helpstring("Transmission end time")]
HRESULT TransmissionEnd([out, retval] DATE *pdateTransmissionEnd);
[propget, id(8), helpstring("Called Station ID")]
HRESULT CSID([out, retval] BSTR *pbstrCSID);
[propget, id(9), helpstring("Transmitting Station ID")]
HRESULT TSID([out, retval] BSTR *pbstrTSID);
[propget, id(10), helpstring("Caller ID")]
HRESULT CallerId([out, retval] BSTR *pbstrCallerId);
[propget, id(11), helpstring("Routing information")]
HRESULT RoutingInformation([out, retval] BSTR *pbstrRoutingInformation);
[id(12), helpstring("Copy Tiff image to the local file")]
HRESULT CopyTiff([in] BSTR bstrTiffPath);
[id(13), helpstring("Delete the message from the archive")]
HRESULT Delete();
};
[
object,
uuid(2C56D8E6-8C2F-4573-944C-E505F8F5AEED),
dual,
helpstring("IFaxOutgoingJobs interface"),
pointer_default(unique)
]
interface IFaxOutgoingJobs : IDispatch
{
[id(DISPID_NEWENUM), propget]
HRESULT _NewEnum([out, retval] IUnknown **ppUnk);
[id(DISPID_VALUE), propget]
HRESULT Item([in] VARIANT vIndex, [out, retval] IFaxOutgoingJob **pFaxOutgoingJob);
[id(1), propget]
HRESULT Count([out, retval] long* plCount);
};
[
object,
uuid(6356DAAD-6614-4583-BF7A-3AD67BBFC71C),
dual,
helpstring("IFaxOutgoingJob interface"),
pointer_default(unique)
]
interface IFaxOutgoingJob : IDispatch
{
[propget, id(1), helpstring("Cover page's subject field")]
HRESULT Subject([out, retval] BSTR *pbstrSubject);
[propget, id(2), helpstring("Document's friendly name")]
HRESULT DocumentName([out, retval] BSTR *pbstrDocumentName);
[propget, id(3), helpstring("Total number of pages")]
HRESULT Pages([out, retval] long *plPages);
[propget, id(4), helpstring("Size in bytes of TIFF file")]
HRESULT Size([out, retval] long *plSize);
[propget, id(5), helpstring("Unique ID the submission process created for the Job")]
HRESULT SubmissionId([out, retval] BSTR *pbstrSubmissionId);
[propget, id(6), helpstring("Unique job ID")]
HRESULT Id([out, retval] BSTR *pbstrId);
[propget, id(7), helpstring("Time the job was originally scheduled to be transmitted")]
HRESULT OriginalScheduledTime([out, retval] DATE *pdateOriginalScheduledTime);
[propget, id(8), helpstring("Time the job was submitted")]
HRESULT SubmissionTime([out, retval] DATE *pdateSubmissionTime);
[propget, id(9), helpstring("Type of receipt")]
HRESULT ReceiptType([out, retval] FAX_RECEIPT_TYPE_ENUM *pReceiptType);
[propget, id(10), helpstring("Priority of the fax")]
HRESULT Priority([out, retval] FAX_PRIORITY_TYPE_ENUM *pPriority);
[propget, id(11), helpstring("Sender information object")]
HRESULT Sender([out, retval] IFaxSender **ppFaxSender);
[propget, id(12), helpstring("Recipient information object")]
HRESULT Recipient([out, retval] IFaxRecipient **ppFaxRecipient);
[propget, id(13), helpstring("Page currently in transmision")]
HRESULT CurrentPage([out, retval] long *plCurrentPage);
[propget, id(14), helpstring("Device ID that transmits the job")]
HRESULT DeviceId([out, retval] long *plDeviceId);
[propget, id(15), helpstring("Current queue status of the job")]
HRESULT Status([out, retval] FAX_JOB_STATUS_ENUM *pStatus);
[propget, id(16), helpstring("Code of the job's extended status")]
HRESULT ExtendedStatusCode([out, retval] FAX_JOB_EXTENDED_STATUS_ENUM *pExtendedStatusCode);
[propget, id(17), helpstring("Extended status description")]
HRESULT ExtendedStatus([out, retval] BSTR *pbstrExtendedStatus);
[propget, id(18), helpstring("Available operations, a bit-wise combination of FAX_JOB_OPERATIONS values")]
HRESULT AvailableOperations([out, retval] FAX_JOB_OPERATIONS_ENUM *pAvailableOperations);
[propget, id(19), helpstring("Number of failed transmission retries")]
HRESULT Retries([out, retval] long *plRetries);
[propget, id(20), helpstring("The time the fax job is scheduled to be transmitted")]
HRESULT ScheduledTime([out, retval] DATE *pdateScheduledTime);
[propget, id(21), helpstring("The time the fax job started its transmission")]
HRESULT TransmissionStart([out, retval] DATE *pdateTransmissionStart);
[propget, id(22), helpstring("The time the fax job finished its transmission")]
HRESULT TransmissionEnd([out, retval] DATE *pdateTransmissionEnd);
[propget, id(23), helpstring("Called Station ID")] HRESULT CSID([out, retval] BSTR *pbstrCSID);
[propget, id(24), helpstring("Transmitting Station ID")]
HRESULT TSID([out, retval] BSTR *pbstrTSID);
[propget, id(25), helpstring("Whether to group broadcast receipts")]
HRESULT GroupBroadcastReceipts([out, retval]VARIANT_BOOL *pbGroupBroadcastReceipts);
[id(26), helpstring("Pause the outbound job")]
HRESULT Pause();
[id(27), helpstring("Resume the outbound job")]
HRESULT Resume();
[id(28), helpstring("Restart the outbound job")]
HRESULT Restart();
[id(29), helpstring("Copy the job's TIFF image")]
HRESULT CopyTiff([in] BSTR bstrTiffPath);
[id(30), helpstring("Refresh the object")]
HRESULT Refresh();
[id(31), helpstring("Cancel the outbound job")]
HRESULT Cancel();
};
[
object,
uuid(F5EC5D4F-B840-432F-9980-112FE42A9B7A),
dual,
helpstring("IFaxOutgoingMessageIterator interface"),
pointer_default(unique)
]
interface IFaxOutgoingMessageIterator : IDispatch
{
[propget, id(1), helpstring("Current message")]
HRESULT Message([out, retval] IFaxOutgoingMessage **pFaxOutgoingMessage);
[propget, id(2), helpstring("End of archive marker")]
HRESULT AtEOF([out, retval] VARIANT_BOOL *pbEOF);
[propget, id(3), helpstring("Size of prefetch buffer")]
HRESULT PrefetchSize([out, retval] long *plPrefetchSize);
[propput, id(3), helpstring("Size of prefetch buffer")]
HRESULT PrefetchSize([in] long lPrefetchSize);
[id(4), helpstring("Move to the first message")]
HRESULT MoveFirst();
[id(5), helpstring("Move to the next message")]
HRESULT MoveNext();
};
[
object,
uuid(F0EA35DE-CAA5-4A7C-82C7-2B60BA5F2BE2),
dual,
helpstring("IFaxOutgoingMessage interface"),
pointer_default(unique)
]
interface IFaxOutgoingMessage : IDispatch
{
[propget, id(1), helpstring("Unique ID the submission process created for the job")]
HRESULT SubmissionId([out, retval] BSTR *pbstrSubmissionId);
[propget, id(2), helpstring("Unique message ID")]
HRESULT Id([out, retval] BSTR *pbstrId);
[propget, id(3), helpstring("Cover page's subject field")]
HRESULT Subject([out, retval] BSTR *pbstrSubject);
[propget, id(4), helpstring("Document's friendly name")]
HRESULT DocumentName([out, retval] BSTR *pbstrDocumentName);
[propget, id(5), helpstring("Number of failed routing retries")]
HRESULT Retries([out, retval] long *plRetries);
[propget, id(6), helpstring("Total number of pages")]
HRESULT Pages([out, retval] long *plPages);
[propget, id(7), helpstring("Size in bytes of TIFF file")]
HRESULT Size([out, retval] long *plSize);
[propget, id(8), helpstring("Time the job was originally scheduled to be transmitted")]
HRESULT OriginalScheduledTime([out, retval] DATE *pdateOriginalScheduledTime);
[propget, id(9), helpstring("Time the job was submitted")]
HRESULT SubmissionTime([out, retval] DATE *pdateSubmissionTime);
[propget, id(10), helpstring("Priority of the fax")]
HRESULT Priority([out, retval] FAX_PRIORITY_TYPE_ENUM *pPriority);
[propget, id(11), helpstring("Sender information object")]
HRESULT Sender([out, retval] IFaxSender **ppFaxSender);
[propget, id(12), helpstring("Recipient information object")]
HRESULT Recipient([out, retval] IFaxRecipient **ppFaxRecipient);
[propget, id(13), helpstring("Name of the device transmitting the message")]
HRESULT DeviceName([out, retval] BSTR *pbstrDeviceName);
[propget, id(14), helpstring("Transmission start time")]
HRESULT TransmissionStart([out, retval] DATE *pdateTransmissionStart);
[propget, id(15), helpstring("Transmission end time")]
HRESULT TransmissionEnd([out, retval] DATE *pdateTransmissionEnd);
[propget, id(16), helpstring("Called Station ID")]
HRESULT CSID([out, retval] BSTR *pbstrCSID);
[propget, id(17), helpstring("Transmitting Station ID")]
HRESULT TSID([out, retval] BSTR *pbstrTSID);
[id(18), helpstring("Copy Tiff image to the local file")]
HRESULT CopyTiff([in] BSTR bstrTiffPath);
[id(19), helpstring("Delete the message from the archive")]
HRESULT Delete();
};
[
object,
uuid(011F04E9-4FD6-4C23-9513-B6B66BB26BE9),
dual,
helpstring("IFaxIncomingJobs interface"),
pointer_default(unique)
]
interface IFaxIncomingJobs : IDispatch
{
[id(DISPID_NEWENUM), propget]
HRESULT _NewEnum([out, retval] IUnknown **ppUnk);
[id(DISPID_VALUE), propget]
HRESULT Item([in] VARIANT vIndex, [out, retval] IFaxIncomingJob **pFaxIncomingJob);
[id(1), propget]
HRESULT Count([out, retval] long* plCount);
};
[
object,
uuid(207529E6-654A-4916-9F88-4D232EE8A107),
dual,
helpstring("IFaxIncomingJob interface"),
pointer_default(unique)
]
interface IFaxIncomingJob : IDispatch
{
[propget, id(1), helpstring("Size in bytes of the message's TIFF file")]
HRESULT Size([out, retval] long *plSize);
[propget, id(2), helpstring("Unique message ID")]
HRESULT Id([out, retval] BSTR *pbstrId);
[propget, id(3), helpstring("Page currently in transmision")]
HRESULT CurrentPage([out, retval] long *plCurrentPage);
[propget, id(4), helpstring("Device ID that transmits the job")]
HRESULT DeviceId([out, retval] long *plDeviceId);
[propget, id(5), helpstring("Current queue status of the job, a bit-wise combination of FAX_JOB_STATUS values")]
HRESULT Status([out, retval] FAX_JOB_STATUS_ENUM *pStatus);
[propget, id(6), helpstring("Code of the job's extended status")]
HRESULT ExtendedStatusCode([out, retval] FAX_JOB_EXTENDED_STATUS_ENUM *pExtendedStatusCode);
[propget, id(7), helpstring("Extended status description")]
HRESULT ExtendedStatus([out, retval] BSTR *pbstrExtendedStatus);
[propget, id(8), helpstring("Available operations, a bit-wise combination of FAX_JOB_OPERATIONS values")]
HRESULT AvailableOperations([out, retval] FAX_JOB_OPERATIONS_ENUM *pAvailableOperations);
[propget, id(9), helpstring("Number of failed transmission retries")]
HRESULT Retries([out, retval] long *plRetries);
[propget, id(10), helpstring("Transmission start time")]
HRESULT TransmissionStart([out, retval] DATE *pdateTransmissionStart);
[propget, id(11), helpstring("Transmission end time")]
HRESULT TransmissionEnd([out, retval] DATE *pdateTransmissionEnd);
[propget, id(12), helpstring("Called Station ID")]
HRESULT CSID([out, retval] BSTR *pbstrCSID);
[propget, id(13), helpstring("Transmitting Station ID")]
HRESULT TSID([out, retval] BSTR *pbstrTSID);
[propget, id(14), helpstring("Caller ID")]
HRESULT CallerId([out, retval] BSTR *pbstrCallerId);
[propget, id(15), helpstring("Routing information")]
HRESULT RoutingInformation([out, retval] BSTR *pbstrRoutingInformation);
[propget, id(16), helpstring("Job type")] HRESULT JobType([out, retval] FAX_JOB_TYPE_ENUM *pJobType);
[id(17), helpstring("Cancel the incoming job")] HRESULT Cancel();
[id(18), helpstring("Refresh the object")] HRESULT Refresh();
[id(19), helpstring("Copy TIFF image to the local file")] HRESULT CopyTiff([in] BSTR bstrTiffPath);
};
[
object,
uuid(290EAC63-83EC-449C-8417-F148DF8C682A),
dual,
helpstring("IFaxDeviceProvider interface"),
pointer_default(unique)
]
interface IFaxDeviceProvider : IDispatch
{
typedef enum FAX_PROVIDER_STATUS_ENUM
{
fpsSUCCESS,
fpsSERVER_ERROR,
fpsBAD_GUID,
fpsBAD_VERSION,
fpsCANT_LOAD,
fpsCANT_LINK,
fpsCANT_INIT
} FAX_PROVIDER_STATUS_ENUM;
[propget, id(1), helpstring("Provider's friendly name")]
HRESULT FriendlyName([out, retval] BSTR *pbstrFriendlyName);
[propget, id(2), helpstring("Full path and file name of the provider DLL")]
HRESULT ImageName([out, retval] BSTR *pbstrImageName);
[propget, id(3), helpstring("Unique name of the provider")]
HRESULT UniqueName([out, retval] BSTR *pbstrUniqueName);
[propget, id(4), helpstring("TSP name used by the provider")]
HRESULT TapiProviderName([out, retval] BSTR *pbstrTapiProviderName);
[propget, id(5), helpstring("The major part of the device provider's version number")]
HRESULT MajorVersion([out, retval] long *plMajorVersion);
[propget, id(6), helpstring("The minor part of the device provider's version number")]
HRESULT MinorVersion([out, retval] long *plMinorVersion);
[propget, id(7), helpstring("The major part of the device provider's build number")]
HRESULT MajorBuild([out, retval] long *plMajorBuild);
[propget, id(8), helpstring("The minor part of the device provider's build number")]
HRESULT MinorBuild([out, retval] long *plMinorBuild);
[propget, id(9), helpstring("Is device provider built in debug environment")]
HRESULT Debug([out, retval] VARIANT_BOOL *pbDebug);
[propget, id(10), helpstring("Status of the device provider")]
HRESULT Status([out, retval] FAX_PROVIDER_STATUS_ENUM *pStatus);
[propget, id(11), helpstring("Last error code at load or initialization")]
HRESULT InitErrorCode([out, retval] long *plInitErrorCode);
[propget, id(12), helpstring("Array of device IDs exposed by the provider")]
HRESULT DeviceIds([out, retval] VARIANT *pvDeviceIds);
};
[
object,
uuid(49306C59-B52E-4867-9DF4-CA5841C956D0),
dual,
helpstring("IFaxDevice interface"),
pointer_default(unique)
]
interface IFaxDevice : IDispatch
{
typedef enum FAX_DEVICE_RECEIVE_MODE_ENUM
{
fdrmNO_ANSWER = 0,
fdrmAUTO_ANSWER,
fdrmMANUAL_ANSWER
} FAX_DEVICE_RECEIVE_MODE_ENUM;
[propget, id(1), helpstring("Unique device ID")]
HRESULT Id([out, retval] long *plId);
[propget, id(2), helpstring("Device name")]
HRESULT DeviceName([out, retval] BSTR *pbstrDeviceName);
[propget, id(3), helpstring("Device provider")]
HRESULT ProviderUniqueName([out, retval] BSTR *pbstrProviderUniqueName);
[propget, id(4), helpstring("Is the device is turned off")]
HRESULT PoweredOff([out, retval] VARIANT_BOOL *pbPoweredOff);
[propget, id(5), helpstring("Is the device receiving now")]
HRESULT ReceivingNow([out, retval] VARIANT_BOOL *pbReceivingNow);
[propget, id(6), helpstring("Is the device sending now")]
HRESULT SendingNow([out, retval] VARIANT_BOOL *pbSendingNow);
[propget, id(7), helpstring("Array of routing methods")]
HRESULT UsedRoutingMethods([out, retval] VARIANT *pvUsedRoutingMethods);
[propget, id(8), helpstring("Description of the device")]
HRESULT Description([out, retval] BSTR *pbstrDescription);
[propput, id(8), helpstring("Description of the device")]
HRESULT Description([in] BSTR bstrDescription);
[propget, id(9), helpstring("Is the device is enabled to send")]
HRESULT SendEnabled([out, retval] VARIANT_BOOL *pbSendEnabled);
[propput, id(9), helpstring("Is the device is enabled to send")]
HRESULT SendEnabled([in] VARIANT_BOOL bSendEnabled);
[propget, id(10), helpstring("The receive mode of the device")]
HRESULT ReceiveMode([out, retval] FAX_DEVICE_RECEIVE_MODE_ENUM *pReceiveMode);
[propput, id(10), helpstring("The receive mode of the device")]
HRESULT ReceiveMode([in] FAX_DEVICE_RECEIVE_MODE_ENUM ReceiveMode);
[propget, id(11), helpstring("Number of rings before the device answers")]
HRESULT RingsBeforeAnswer([out, retval] long *plRingsBeforeAnswer);
[propput, id(11), helpstring("Number of rings before the device answers")]
HRESULT RingsBeforeAnswer([in] long lRingsBeforeAnswer);
[propget, id(12), helpstring("Device's Called Station ID")]
HRESULT CSID([out, retval] BSTR *pbstrCSID);
[propput, id(12), helpstring("Device's Called Station ID")]
HRESULT CSID([in] BSTR bstrCSID);
[propget, id(13), helpstring("Device's Transmitting Station ID")]
HRESULT TSID([out, retval] BSTR *pbstrTSID);
[propput, id(13), helpstring("Device's Transmitting Station ID")]
HRESULT TSID([in] BSTR bstrTSID);
[id(14), helpstring("Refresh the object")]
HRESULT Refresh();
[id(15), helpstring("Save the object")]
HRESULT Save();
[id(16), helpstring("Get the device level extention property")]
HRESULT GetExtensionProperty([in] BSTR bstrGUID, [out, retval] VARIANT *pvProperty);
[id(17), helpstring("Set the device level extention property")]
HRESULT SetExtensionProperty([in] BSTR bstrGUID, [in] VARIANT vProperty);
[id(18), helpstring("Adds or removes routing method")]
HRESULT UseRoutingMethod([in] BSTR bstrMethodGUID, [in] VARIANT_BOOL bUse);
[propget, id(19), helpstring("Is the device ringing now")]
HRESULT RingingNow([out, retval] VARIANT_BOOL *pbRingingNow);
[id(20), helpstring("Answer the call")]
HRESULT AnswerCall();
};
[
object,
uuid(1E29078B-5A69-497B-9592-49B7E7FADDB5),
dual,
helpstring("IFaxActivityLogging interface"),
pointer_default(unique)
]
interface IFaxActivityLogging : IDispatch
{
[propget, id(1), helpstring("Does the server log incoming fax activity")]
HRESULT LogIncoming([out, retval] VARIANT_BOOL *pbLogIncoming);
[propput, id(1), helpstring("Does the server log incoming fax activity")]
HRESULT LogIncoming([in] VARIANT_BOOL bLogIncoming);
[propget, id(2), helpstring("Does the server log outgoing fax activity")]
HRESULT LogOutgoing([out, retval] VARIANT_BOOL *pbLogOutgoing);
[propput, id(2), helpstring("Does the server log outgoing fax activity")]
HRESULT LogOutgoing([in] VARIANT_BOOL bLogOutgoing);
[propget, id(3), helpstring("Activity log database files path")]
HRESULT DatabasePath([out, retval] BSTR *pbstrDatabasePath);
[propput, id(3), helpstring("Activity log database files path")]
HRESULT DatabasePath([in] BSTR bstrDatabasePath);
[id(4), helpstring("Refresh the object")]
HRESULT Refresh();
[id(5), helpstring("Save the object")]
HRESULT Save();
};
[
object,
uuid(0880D965-20E8-42E4-8E17-944F192CAAD4),
dual,
helpstring("IFaxEventLogging interface"),
pointer_default(unique)
]
interface IFaxEventLogging : IDispatch
{
typedef enum FAX_LOG_LEVEL_ENUM
{
fllNONE,
fllMIN,
fllMED,
fllMAX
} FAX_LOG_LEVEL_ENUM;
[propget, id(1), helpstring("Detail level of event logs for initialization events")]
HRESULT InitEventsLevel([out, retval] FAX_LOG_LEVEL_ENUM *pInitEventLevel);
[propput, id(1), helpstring("Detail level of event logs for initialization events")]
HRESULT InitEventsLevel([in] FAX_LOG_LEVEL_ENUM InitEventLevel);
[propget, id(2), helpstring("Detail level of event logs for inbound fax events")]
HRESULT InboundEventsLevel([out, retval] FAX_LOG_LEVEL_ENUM *pInboundEventLevel);
[propput, id(2), helpstring("Detail level of event logs for inbound fax events")]
HRESULT InboundEventsLevel([in] FAX_LOG_LEVEL_ENUM InboundEventLevel);
[propget, id(3), helpstring("Detail level of event logs for outbound fax events")]
HRESULT OutboundEventsLevel([out, retval] FAX_LOG_LEVEL_ENUM *pOutboundEventLevel);
[propput, id(3), helpstring("Detail level of event logs for outbound fax events")]
HRESULT OutboundEventsLevel([in] FAX_LOG_LEVEL_ENUM OutboundEventLevel);
[propget, id(4), helpstring("Detail level of event logs for general (other) events")]
HRESULT GeneralEventsLevel([out, retval] FAX_LOG_LEVEL_ENUM *pGeneralEventLevel);
[propput, id(4), helpstring("Detail level of event logs for general (other) events")]
HRESULT GeneralEventsLevel([in] FAX_LOG_LEVEL_ENUM GeneralEventLevel);
[id(5), helpstring("Refresh the object")]
HRESULT Refresh();
[id(6), helpstring("Save the object")]
HRESULT Save();
};
[
object,
uuid(235CBEF7-C2DE-4BFD-B8DA-75097C82C87F),
dual,
helpstring("IFaxOutboundRoutingGroups interface"),
pointer_default(unique)
]
interface IFaxOutboundRoutingGroups : IDispatch
{
[id(DISPID_NEWENUM), propget]
HRESULT _NewEnum([out, retval] IUnknown **ppUnk);
[id(DISPID_VALUE), propget]
HRESULT Item([in] VARIANT vIndex, [out, retval] IFaxOutboundRoutingGroup **pFaxOutboundRoutingGroup);
[id(1), propget]
HRESULT Count([out, retval] long* plCount);
[id(2), helpstring("Add a group")]
HRESULT Add([in] BSTR bstrName, [out, retval] IFaxOutboundRoutingGroup **pFaxOutboundRoutingGroup);
[id(3), helpstring("Remove a group")]
HRESULT Remove([in] VARIANT vIndex);
};
[
object,
uuid(CA6289A1-7E25-4F87-9A0B-93365734962C),
dual,
helpstring("IFaxOutboundRoutingGroup interface"),
pointer_default(unique)
]
interface IFaxOutboundRoutingGroup : IDispatch
{
typedef enum FAX_GROUP_STATUS_ENUM
{
fgsALL_DEV_VALID,
fgsEMPTY,
fgsALL_DEV_NOT_VALID,
fgsSOME_DEV_NOT_VALID
} FAX_GROUP_STATUS_ENUM;
[propget, id(1), helpstring("Name of the group")]
HRESULT Name([out, retval] BSTR *pbstrName);
[propget, id(2), helpstring("Status of the group")]
HRESULT Status([out, retval] FAX_GROUP_STATUS_ENUM *pStatus);
[propget, id(3), helpstring("Ordered collection of device IDs")]
HRESULT DeviceIds([out, retval] IFaxDeviceIds **pFaxDeviceIds);
};
[
object,
uuid(2F0F813F-4CE9-443E-8CA1-738CFAEEE149),
dual,
helpstring("IFaxDeviceIds interface"),
pointer_default(unique)
]
interface IFaxDeviceIds : IDispatch
{
[id(DISPID_NEWENUM), propget]
HRESULT _NewEnum([out, retval] IUnknown **ppUnk);
[id(DISPID_VALUE), propget]
HRESULT Item([in] long lIndex, [out, retval] long *plDeviceId);
[id(1), propget]
HRESULT Count([out, retval] long* plCount);
[id(2), helpstring("Add a device")]
HRESULT Add([in] long lDeviceId);
[id(3), helpstring("Remove a device")]
HRESULT Remove([in] long lIndex);
[id(4), helpstring("Set order of the device")]
HRESULT SetOrder([in] long lDeviceId, [in] long lNewOrder);
};
[
object,
uuid(DCEFA1E7-AE7D-4ED6-8521-369EDCCA5120),
dual,
helpstring("IFaxOutboundRoutingRules interface"),
pointer_default(unique)
]
interface IFaxOutboundRoutingRules : IDispatch
{
[id(DISPID_NEWENUM), propget]
HRESULT _NewEnum([out, retval] IUnknown **ppUnk);
[id(DISPID_VALUE), propget]
HRESULT Item([in] long lIndex, [out, retval] IFaxOutboundRoutingRule **pFaxOutboundRoutingRule);
[id(1), propget]
HRESULT Count([out, retval] long* plCount);
[id(2), helpstring("Get a rule by criteria")]
HRESULT ItemByCountryAndArea(
[in] long lCountryCode,
[in] long lAreaCode,
[out, retval] IFaxOutboundRoutingRule **pFaxOutboundRoutingRule);
[id(3), helpstring("Remove a rule by criteria")]
HRESULT RemoveByCountryAndArea([in] long lCountryCode, [in] long lAreaCode);
[id(4), helpstring("Remove a rule")]
HRESULT Remove([in] long lIndex);
[id(5), helpstring("Add a rule")]
HRESULT Add(
[in] long lCountryCode,
[in] long lAreaCode,
[in] VARIANT_BOOL bUseDevice,
[in] BSTR bstrGroupName,
[in] long lDeviceId,
[out, retval] IFaxOutboundRoutingRule **pFaxOutboundRoutingRule);
};
[
object,
uuid(E1F795D5-07C2-469F-B027-ACACC23219DA),
dual,
helpstring("IFaxOutboundRoutingRule interface"),
pointer_default(unique)
]
interface IFaxOutboundRoutingRule : IDispatch
{
typedef enum FAX_RULE_STATUS_ENUM
{
frsVALID,
frsEMPTY_GROUP,
frsALL_GROUP_DEV_NOT_VALID,
frsSOME_GROUP_DEV_NOT_VALID,
frsBAD_DEVICE
} FAX_RULE_STATUS_ENUM;
[propget, id(1), helpstring("Country code")]
HRESULT CountryCode([out, retval] long *plCountryCode);
[propget, id(2), helpstring("Area code")]
HRESULT AreaCode([out, retval] long *plAreaCode);
[propget, id(3), helpstring("Status")]
HRESULT Status([out, retval] FAX_RULE_STATUS_ENUM *pStatus);
[propget, id(4), helpstring("Uses single device or group")]
HRESULT UseDevice([out, retval] VARIANT_BOOL *pbUseDevice);
[propput, id(4), helpstring("Uses single device or group")]
HRESULT UseDevice([in] VARIANT_BOOL bUseDevice);
[propget, id(5), helpstring("Destination device")]
HRESULT DeviceId([out, retval] long *plDeviceId);
[propput, id(5), helpstring("Destination device")]
HRESULT DeviceId([in] long DeviceId);
[propget, id(6), helpstring("Group name")]
HRESULT GroupName([out, retval] BSTR *pbstrGroupName);
[propput, id(6), helpstring("Group name")]
HRESULT GroupName([in] BSTR bstrGroupName);
[id(7), helpstring("Refresh the object")]
HRESULT Refresh();
[id(8), helpstring("Save the object")]
HRESULT Save();
};
[
object,
uuid(2F6C9673-7B26-42DE-8EB0-915DCD2A4F4C),
dual,
helpstring("IFaxInboundRoutingExtensions interface"),
pointer_default(unique)
]
interface IFaxInboundRoutingExtensions : IDispatch
{
[id(DISPID_NEWENUM), propget]
HRESULT _NewEnum([out, retval] IUnknown **ppUnk);
[id(DISPID_VALUE), propget]
HRESULT Item([in] VARIANT vIndex, [out, retval] IFaxInboundRoutingExtension **pFaxInboundRoutingExtension);
[id(1), propget]
HRESULT Count([out, retval] long* plCount);
};
[
object,
uuid(885B5E08-C26C-4EF9-AF83-51580A750BE1),
dual,
helpstring("IFaxInboundRoutingExtension interface"),
pointer_default(unique)
]
interface IFaxInboundRoutingExtension : IDispatch
{
[propget, id(1), helpstring("Extension's friendly name")]
HRESULT FriendlyName([out, retval] BSTR *pbstrFriendlyName);
[propget, id(2), helpstring("Full path and file name of the extension DLL")]
HRESULT ImageName([out, retval] BSTR *pbstrImageName);
[propget, id(3), helpstring("Extension's unique name")]
HRESULT UniqueName([out, retval] BSTR *pbstrUniqueName);
[propget, id(4), helpstring("The major part of extension's version number")]
HRESULT MajorVersion([out, retval] long *plMajorVersion);
[propget, id(5), helpstring("The minor part of extension's version number")]
HRESULT MinorVersion([out, retval] long *plMinorVersion);
[propget, id(6), helpstring("The major part of extension's build number")]
HRESULT MajorBuild([out, retval] long *plMajorBuild);
[propget, id(7), helpstring("The minor part of extension's build number")]
HRESULT MinorBuild([out, retval] long *plMinorBuild);
[propget, id(8), helpstring("Is extension built in debug environment")]
HRESULT Debug([out, retval] VARIANT_BOOL *pbDebug);
[propget, id(9), helpstring("Load and initialization status of the extension")]
HRESULT Status([out, retval] FAX_PROVIDER_STATUS_ENUM *pStatus);
[propget, id(10), helpstring("Last error code at load or initialization")]
HRESULT InitErrorCode([out, retval] long *plInitErrorCode);
[propget, id(11), helpstring("Array of methods exposed by extension")]
HRESULT Methods([out, retval] VARIANT *pvMethods);
};
[
object,
uuid(783FCA10-8908-4473-9D69-F67FBEA0C6B9),
dual,
helpstring("IFaxInboundRoutingMethods interface"),
pointer_default(unique)
]
interface IFaxInboundRoutingMethods : IDispatch
{
[id(DISPID_NEWENUM), propget]
HRESULT _NewEnum([out, retval] IUnknown **ppUnk);
[id(DISPID_VALUE), propget]
HRESULT Item([in] VARIANT vIndex, [out, retval] IFaxInboundRoutingMethod **pFaxInboundRoutingMethod);
[id(1), propget]
HRESULT Count([out, retval] long* plCount);
};
[
object,
uuid(45700061-AD9D-4776-A8C4-64065492CF4B),
dual,
helpstring("IFaxInboundRoutingMethod interface"),
pointer_default(unique)
]
interface IFaxInboundRoutingMethod : IDispatch
{
[propget, id(1), helpstring("The name of the method")]
HRESULT Name([out, retval] BSTR *pbstrName);
[propget, id(2), helpstring("GUID of the method")]
HRESULT GUID([out, retval] BSTR *pbstrGUID);
[propget, id(3), helpstring("Internal function name")]
HRESULT FunctionName([out, retval] BSTR *pbstrFunctionName);
[propget, id(4), helpstring("Friendly name of the extension exposing this method")]
HRESULT ExtensionFriendlyName([out, retval] BSTR *pbstrExtensionFriendlyName);
[propget, id(5), helpstring("Image name of the extension exposing this method")]
HRESULT ExtensionImageName([out, retval] BSTR *pbstrExtensionImageName);
[propget, id(6), helpstring("Priority of the method")]
HRESULT Priority([out, retval] long *plPriority);
[propput, id(6), helpstring("Priority of the method")]
HRESULT Priority([in] long lPriority);
[id(7), helpstring("Refresh the object")]
HRESULT Refresh();
[id(8), helpstring("Save the object")]
HRESULT Save();
};
[
uuid(2BF34C1A-8CAC-419F-8547-32FDF6505DB8),
version(1.0),
helpstring("Microsoft Fax Service Extended COM Type Library")
]
library FAXCOMEXLib
{
importlib("stdole32.tlb");
importlib("stdole2.tlb");
[
uuid(2E037B27-CF8A-4abd-B1E0-5704943BEA6F),
helpstring("_IFaxServerNotify Interface")
]
dispinterface IFaxServerNotify
{
properties:
methods:
[id(1), helpstring("An incoming job was added to the fax server's incoming queue")]
HRESULT OnIncomingJobAdded([in] IFaxServer *pFaxServer, [in] BSTR bstrJobId);
[id(2), helpstring("An incoming job was removed from the fax server's incoming queue")]
HRESULT OnIncomingJobRemoved([in] IFaxServer *pFaxServer, [in] BSTR bstrJobId);
[id(3), helpstring("An incoming job's status was changed")]
HRESULT OnIncomingJobChanged(
[in] IFaxServer *pFaxServer,
[in] BSTR bstrJobId,
[in] IFaxJobStatus *pJobStatus);
[id(4), helpstring("An outgoing job was added to the fax server's outgoing queue")]
HRESULT OnOutgoingJobAdded([in] IFaxServer *pFaxServer, [in] BSTR bstrJobId);
[id(5), helpstring("An outgoing job was removed from the fax server's outgoing queue")]
HRESULT OnOutgoingJobRemoved([in] IFaxServer *pFaxServer, [in] BSTR bstrJobId);
[id(6), helpstring("An outgoing job's status was changed")]
HRESULT OnOutgoingJobChanged(
[in] IFaxServer *pFaxServer,
[in] BSTR bstrJobId,
[in] IFaxJobStatus *pJobStatus);
[id(7), helpstring("An incoming message was added to the fax server's incoming archive")]
HRESULT OnIncomingMessageAdded([in] IFaxServer *pFaxServer, [in] BSTR bstrMessageId);
[id(8), helpstring("An incoming message was removed from the fax server's incoming archive")]
HRESULT OnIncomingMessageRemoved([in] IFaxServer *pFaxServer, [in] BSTR bstrMessageId);
[id(9), helpstring("An outgoing message was added to the fax server's outgoing archive")]
HRESULT OnOutgoingMessageAdded([in] IFaxServer *pFaxServer, [in] BSTR bstrMessageId);
[id(10), helpstring("An outgoing message was removed from the fax server's outgoing archive")]
HRESULT OnOutgoingMessageRemoved([in] IFaxServer *pFaxServer, [in] BSTR bstrMessageId);
[id(11), helpstring("Receipt options change")]
HRESULT OnReceiptOptionsChange([in] IFaxServer *pFaxServer);
[id(12), helpstring("Activity logging configuration change")]
HRESULT OnActivityLoggingConfigChange([in] IFaxServer *pFaxServer);
[id(13), helpstring("Security configuration change")]
HRESULT OnSecurityConfigChange([in] IFaxServer *pFaxServer);
[id(14), helpstring("Event logging configuration change")]
HRESULT OnEventLoggingConfigChange([in] IFaxServer *pFaxServer);
[id(15), helpstring("Outgoing queue configuration change")]
HRESULT OnOutgoingQueueConfigChange([in] IFaxServer *pFaxServer);
[id(16), helpstring("Outgoing archive configuration change")]
HRESULT OnOutgoingArchiveConfigChange([in] IFaxServer *pFaxServer);
[id(17), helpstring("Incoming archive configuration change")]
HRESULT OnIncomingArchiveConfigChange([in] IFaxServer *pFaxServer);
[id(18), helpstring("Devices configuration change")]
HRESULT OnDevicesConfigChange([in] IFaxServer *pFaxServer);
[id(19), helpstring("Outbound routing groups configuration change")]
HRESULT OnOutboundRoutingGroupsConfigChange([in] IFaxServer *pFaxServer);
[id(20), helpstring("Outbound routing rules configuration change")]
HRESULT OnOutboundRoutingRulesConfigChange([in] IFaxServer *pFaxServer);
[id(21), helpstring("Server activity change")]
HRESULT OnServerActivityChange(
[in] IFaxServer *pFaxServer,
[in] long lIncomingMessages,
[in] long lRoutingMessages,
[in] long lOutgoingMessages,
[in] long lQueuedMessages);
[id(22), helpstring("Queues status change")]
HRESULT OnQueuesStatusChange(
[in] IFaxServer *pFaxServer,
[in] VARIANT_BOOL bOutgoingQueueBlocked,
[in] VARIANT_BOOL bOutgoingQueuePaused,
[in] VARIANT_BOOL bIncomingQueueBlocked);
[id(23), helpstring("Incoming call")]
HRESULT OnNewCall(
[in] IFaxServer *pFaxServer,
[in] long lCallId,
[in] long lDeviceId,
[in] BSTR bstrCallerId);
[id(24), helpstring("Server shut down")]
HRESULT OnServerShutDown([in] IFaxServer *pFaxServer);
[id(25), helpstring("Device status change")]
HRESULT OnDeviceStatusChange(
[in] IFaxServer *pFaxServer,
[in] long lDeviceId,
[in] VARIANT_BOOL bPoweredOff,
[in] VARIANT_BOOL bSending,
[in] VARIANT_BOOL bReceiving,
[in] VARIANT_BOOL bRinging);
};
[
uuid(CDA8ACB0-8CF5-4F6C-9BA2-5931D40C8CAE),
helpstring("FaxServer Class")
]
coclass FaxServer
{
[default] interface IFaxServer;
[default, source] dispinterface IFaxServerNotify;
};
[
uuid(EB8FE768-875A-4F5F-82C5-03F23AAC1BD7),
helpstring("FaxDeviceProviders Class"),
noncreatable
]
coclass FaxDeviceProviders
{
[default] interface IFaxDeviceProviders;
};
[
uuid(5589E28E-23CB-4919-8808-E6101846E80D),
helpstring("FaxDevices Class"),
noncreatable
]
coclass FaxDevices
{
[default] interface IFaxDevices;
};
[
uuid(E80248ED-AD65-4218-8108-991924D4E7ED),
helpstring("FaxInboundRouting Class"),
noncreatable
]
coclass FaxInboundRouting
{
[default] interface IFaxInboundRouting;
};
[
uuid(C35211D7-5776-48CB-AF44-C31BE3B2CFE5),
helpstring("FaxFolders Class"),
noncreatable
]
coclass FaxFolders
{
[default] interface IFaxFolders;
};
[
uuid(1BF9EEA6-ECE0-4785-A18B-DE56E9EEF96A),
helpstring("FaxLoggingOptions Class"),
noncreatable
]
coclass FaxLoggingOptions
{
[default] interface IFaxLoggingOptions;
};
[
uuid(CFEF5D0E-E84D-462E-AABB-87D31EB04FEF),
helpstring("FaxActivity Class"),
noncreatable
]
coclass FaxActivity
{
[default] interface IFaxActivity;
};
[
uuid(C81B385E-B869-4AFD-86C0-616498ED9BE2),
helpstring("FaxOutboundRouting Class"),
noncreatable
]
coclass FaxOutboundRouting
{
[default] interface IFaxOutboundRouting;
};
[
uuid(6982487B-227B-4C96-A61C-248348B05AB6),
helpstring("FaxReceiptOptions Class"),
noncreatable
]
coclass FaxReceiptOptions
{
[default] interface IFaxReceiptOptions;
};
[
uuid(10C4DDDE-ABF0-43DF-964F-7F3AC21A4C7B),
helpstring("FaxSecurity Class"),
noncreatable
]
coclass FaxSecurity
{
[default] interface IFaxSecurity;
};
[
uuid(0F3F9F91-C838-415E-A4F3-3E828CA445E0),
helpstring("FaxDocument Class")
]
coclass FaxDocument
{
[default] interface IFaxDocument;
};
[
uuid(265D84D0-1850-4360-B7C8-758BBB5F0B96),
helpstring("FaxSender Class"),
noncreatable
]
coclass FaxSender
{
[default] interface IFaxSender;
};
[
uuid(EA9BDF53-10A9-4D4F-A067-63C8F84F01B0),
helpstring("FaxRecipients Class"),
noncreatable
]
coclass FaxRecipients
{
[default] interface IFaxRecipients;
};
[
uuid(8426C56A-35A1-4C6F-AF93-FC952422E2C2),
helpstring("FaxIncomingArchive Class"),
noncreatable
]
coclass FaxIncomingArchive
{
[default] interface IFaxIncomingArchive;
};
[
uuid(69131717-F3F1-40E3-809D-A6CBF7BD85E5),
helpstring("FaxIncomingQueue Class"),
noncreatable
]
coclass FaxIncomingQueue
{
[default] interface IFaxIncomingQueue;
};
[
uuid(43C28403-E04F-474D-990C-B94669148F59),
helpstring("FaxOutgoingArchive Class"),
noncreatable
]
coclass FaxOutgoingArchive
{
[default] interface IFaxOutgoingArchive;
};
[
uuid(7421169E-8C43-4B0D-BB16-645C8FA40357),
helpstring("FaxOutgoingQueue Class"),
noncreatable
]
coclass FaxOutgoingQueue
{
[default] interface IFaxOutgoingQueue;
};
[
uuid(6088E1D8-3FC8-45C2-87B1-909A29607EA9),
helpstring("FaxIncomingMessageIterator Class"),
noncreatable
]
coclass FaxIncomingMessageIterator
{
[default] interface IFaxIncomingMessageIterator;
};
[
uuid(1932FCF7-9D43-4D5A-89FF-03861B321736),
helpstring("FaxIncomingMessage Class"),
noncreatable
]
coclass FaxIncomingMessage
{
[default] interface IFaxIncomingMessage;
};
[
uuid(92BF2A6C-37BE-43FA-A37D-CB0E5F753B35),
helpstring("FaxOutgoingJobs Class"),
noncreatable
]
coclass FaxOutgoingJobs
{
[default] interface IFaxOutgoingJobs;
};
[
uuid(71BB429C-0EF9-4915-BEC5-A5D897A3E924),
helpstring("FaxOutgoingJob Class"),
noncreatable
]
coclass FaxOutgoingJob
{
[default] interface IFaxOutgoingJob;
};
[
uuid(8A3224D0-D30B-49DE-9813-CB385790FBBB),
helpstring("FaxOutgoingMessageIterator Class"),
noncreatable
]
coclass FaxOutgoingMessageIterator
{
[default] interface IFaxOutgoingMessageIterator;
};
[
uuid(91B4A378-4AD8-4AEF-A4DC-97D96E939A3A),
helpstring("FaxOutgoingMessage Class"),
noncreatable
]
coclass FaxOutgoingMessage
{
[default] interface IFaxOutgoingMessage;
};
[
uuid(A1BB8A43-8866-4FB7-A15D-6266C875A5CC),
helpstring("FaxIncomingJobs Class"),
noncreatable
]
coclass FaxIncomingJobs
{
[default] interface IFaxIncomingJobs;
};
[
uuid(C47311EC-AE32-41B8-AE4B-3EAE0629D0C9),
helpstring("FaxIncomingJob Class"),
noncreatable
]
coclass FaxIncomingJob
{
[default] interface IFaxIncomingJob;
};
[
uuid(17CF1AA3-F5EB-484A-9C9A-4440A5BAABFC),
helpstring("FaxDeviceProvider Class"),
noncreatable
]
coclass FaxDeviceProvider
{
[default] interface IFaxDeviceProvider;
};
[
uuid(59E3A5B2-D676-484B-A6DE-720BFA89B5AF),
helpstring("FaxDevice Class"),
noncreatable
]
coclass FaxDevice
{
[default] interface IFaxDevice;
};
[
uuid(F0A0294E-3BBD-48B8-8F13-8C591A55BDBC),
helpstring("FaxActivityLogging Class"),
noncreatable
]
coclass FaxActivityLogging
{
[default] interface IFaxActivityLogging;
};
[
uuid(A6850930-A0F6-4A6F-95B7-DB2EBF3D02E3),
helpstring("FaxEventLogging Class"),
noncreatable
]
coclass FaxEventLogging
{
[default] interface IFaxEventLogging;
};
[
uuid(CCBEA1A5-E2B4-4B57-9421-B04B6289464B),
helpstring("FaxOutboundRoutingGroups Class"),
noncreatable
]
coclass FaxOutboundRoutingGroups
{
[default] interface IFaxOutboundRoutingGroups;
};
[
uuid(0213F3E0-6791-4D77-A271-04D2357C50D6),
helpstring("FaxOutboundRoutingGroup Class"),
noncreatable
]
coclass FaxOutboundRoutingGroup
{
[default] interface IFaxOutboundRoutingGroup;
};
[
uuid(CDC539EA-7277-460E-8DE0-48A0A5760D1F),
helpstring("FaxDeviceIds Class"),
noncreatable
]
coclass FaxDeviceIds
{
[default] interface IFaxDeviceIds;
};
[
uuid(D385BECA-E624-4473-BFAA-9F4000831F54),
helpstring("FaxOutboundRoutingRules Class"),
noncreatable
]
coclass FaxOutboundRoutingRules
{
[default] interface IFaxOutboundRoutingRules;
};
[
uuid(6549EEBF-08D1-475A-828B-3BF105952FA0),
helpstring("FaxOutboundRoutingRule Class"),
noncreatable
]
coclass FaxOutboundRoutingRule
{
[default] interface IFaxOutboundRoutingRule;
};
[
uuid(189A48ED-623C-4C0D-80F2-D66C7B9EFEC2),
helpstring("FaxInboundRoutingExtensions Class"),
noncreatable
]
coclass FaxInboundRoutingExtensions
{
[default] interface IFaxInboundRoutingExtensions;
};
[
uuid(1D7DFB51-7207-4436-A0D9-24E32EE56988),
helpstring("FaxInboundRoutingExtension Class"),
noncreatable
]
coclass FaxInboundRoutingExtension
{
[default] interface IFaxInboundRoutingExtension;
};
[
uuid(25FCB76A-B750-4B82-9266-FBBBAE8922BA),
helpstring("FaxInboundRoutingMethods Class"),
noncreatable
]
coclass FaxInboundRoutingMethods
{
[default] interface IFaxInboundRoutingMethods;
};
[
uuid(4B9FD75C-0194-4B72-9CE5-02A8205AC7D4),
helpstring("FaxInboundRoutingMethod Class"),
noncreatable
]
coclass FaxInboundRoutingMethod
{
[default] interface IFaxInboundRoutingMethod;
};
[
uuid(7BF222F4-BE8D-442f-841D-6132742423BB),
helpstring("FaxJobStatus Class"),
noncreatable
]
coclass FaxJobStatus
{
[default] interface IFaxJobStatus;
};
[
uuid(60BF3301-7DF8-4bd8-9148-7B5801F9EFDF),
helpstring("FaxRecipient Class"),
noncreatable
]
coclass FaxRecipient
{
[default] interface IFaxRecipient;
};
typedef enum FAX_ROUTING_RULE_CODE_ENUM
{
frrcANY_CODE = 0
} FAX_ROUTING_RULE_CODE_ENUM;
[dllname("FxsComEx.dll")]
module FaxConstants
{
[helpstring("Default prefetch size for message iterators")]
const long lDEFAULT_PREFETCH_SIZE = prv_DEFAULT_PREFETCH_SIZE;
[helpstring("Name of the group which contains all devices")]
const BSTR bstrGROUPNAME_ALLDEVICES = L"<All Devices>";
}
};