Win32 API 日本語リファレンス
ホームDevices.Fax › IFaxServer

IFaxServer

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID475b6469-90a5-4878-a577-17a86e8e3462継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

メソッド 26

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 7 HRESULT Connect(LPWSTR bstrServerName)
bstrServerNameLPWSTRin接続先FAXサーバーのコンピューター名。空文字でローカルに接続する。
vtbl 8 HRESULT get_ServerName(LPWSTR* pbstrServerName)
pbstrServerNameLPWSTR*out接続中のFAXサーバー名を受け取るBSTR出力先。
vtbl 9 HRESULT GetDeviceProviders(IFaxDeviceProviders** ppFaxDeviceProviders)
ppFaxDeviceProvidersIFaxDeviceProviders**outデバイスプロバイダーのコレクションを受け取る出力先。
vtbl 10 HRESULT GetDevices(IFaxDevices** ppFaxDevices)
ppFaxDevicesIFaxDevices**outFAXデバイスのコレクションを受け取る出力先。
vtbl 11 HRESULT get_InboundRouting(IFaxInboundRouting** ppFaxInboundRouting)
ppFaxInboundRoutingIFaxInboundRouting**out受信ルーティング設定オブジェクトを受け取る出力先。
vtbl 12 HRESULT get_Folders(IFaxFolders** pFaxFolders)
pFaxFoldersIFaxFolders**outFAXフォルダー群を表すIFaxFoldersを受け取る出力先。
vtbl 13 HRESULT get_LoggingOptions(IFaxLoggingOptions** ppFaxLoggingOptions)
ppFaxLoggingOptionsIFaxLoggingOptions**outログ記録オプションオブジェクトを受け取る出力先。
vtbl 14 HRESULT get_MajorVersion(INT* plMajorVersion)
plMajorVersionINT*outFAXサーバーのメジャーバージョン番号を受け取る出力先。
vtbl 15 HRESULT get_MinorVersion(INT* plMinorVersion)
plMinorVersionINT*outFAXサーバーのマイナーバージョン番号を受け取る出力先。
vtbl 16 HRESULT get_MajorBuild(INT* plMajorBuild)
plMajorBuildINT*outFAXサーバーのメジャービルド番号を受け取る出力先。
vtbl 17 HRESULT get_MinorBuild(INT* plMinorBuild)
plMinorBuildINT*outFAXサーバーのマイナービルド番号を受け取る出力先。
vtbl 18 HRESULT get_Debug(VARIANT_BOOL* pbDebug)
pbDebugVARIANT_BOOL*outサーバーがデバッグビルドかをVARIANT_BOOLで受け取る出力先。
vtbl 19 HRESULT get_Activity(IFaxActivity** ppFaxActivity)
ppFaxActivityIFaxActivity**out現在のサーバー稼働状況を表すIFaxActivityを受け取る出力先。
vtbl 20 HRESULT get_OutboundRouting(IFaxOutboundRouting** ppFaxOutboundRouting)
ppFaxOutboundRoutingIFaxOutboundRouting**out送信ルーティング設定オブジェクトを受け取る出力先。
vtbl 21 HRESULT get_ReceiptOptions(IFaxReceiptOptions** ppFaxReceiptOptions)
ppFaxReceiptOptionsIFaxReceiptOptions**out送達確認(レシート)オプションを受け取る出力先。
vtbl 22 HRESULT get_Security(IFaxSecurity** ppFaxSecurity)
ppFaxSecurityIFaxSecurity**outFAXサーバーのセキュリティ設定を受け取る出力先。
vtbl 23 HRESULT Disconnect()
vtbl 24 HRESULT GetExtensionProperty(LPWSTR bstrGUID, VARIANT* pvProperty)
bstrGUIDLPWSTRin拡張プロパティを識別するGUID文字列。
pvPropertyVARIANT*out拡張プロパティの値を受け取るVARIANT出力先。
vtbl 25 HRESULT SetExtensionProperty(LPWSTR bstrGUID, VARIANT vProperty)
bstrGUIDLPWSTRin設定対象拡張プロパティを識別するGUID文字列。
vPropertyVARIANTin設定する拡張プロパティ値を格納したVARIANT。
vtbl 26 HRESULT ListenToServerEvents(FAX_SERVER_EVENTS_TYPE_ENUM EventTypes)
EventTypesFAX_SERVER_EVENTS_TYPE_ENUMin受信を購読するイベント種別のFAX_SERVER_EVENTS_TYPE_ENUMビット集合。
vtbl 27 HRESULT RegisterDeviceProvider(LPWSTR bstrGUID, LPWSTR bstrFriendlyName, LPWSTR bstrImageName, LPWSTR TspName, INT lFSPIVersion)
bstrGUIDLPWSTRin登録するデバイスプロバイダーのGUID文字列。
bstrFriendlyNameLPWSTRinプロバイダーの表示用フレンドリ名。
bstrImageNameLPWSTRinプロバイダーDLLの実行イメージ名(パス)。
TspNameLPWSTRin関連付けるTAPIサービスプロバイダー(TSP)名。
lFSPIVersionINTinFSPI(FAXサービスプロバイダーインターフェイス)のバージョン番号。
vtbl 28 HRESULT UnregisterDeviceProvider(LPWSTR bstrUniqueName)
bstrUniqueNameLPWSTRin登録解除するデバイスプロバイダーの一意名。
vtbl 29 HRESULT RegisterInboundRoutingExtension(LPWSTR bstrExtensionName, LPWSTR bstrFriendlyName, LPWSTR bstrImageName, VARIANT vMethods)
bstrExtensionNameLPWSTRin登録する受信ルーティング拡張の名前。
bstrFriendlyNameLPWSTRin拡張の表示用フレンドリ名。
bstrImageNameLPWSTRin拡張DLLの実行イメージ名(パス)。
vMethodsVARIANTin拡張が提供するルーティングメソッド情報を格納したVARIANT。
vtbl 30 HRESULT UnregisterInboundRoutingExtension(LPWSTR bstrExtensionUniqueName)
bstrExtensionUniqueNameLPWSTRin登録解除する受信ルーティング拡張の一意名。
vtbl 31 HRESULT get_RegisteredEvents(FAX_SERVER_EVENTS_TYPE_ENUM* pEventTypes)
pEventTypesFAX_SERVER_EVENTS_TYPE_ENUM*out現在購読中のイベント種別FAX_SERVER_EVENTS_TYPE_ENUMを受け取る出力先。
vtbl 32 HRESULT get_APIVersion(FAX_SERVER_APIVERSION_ENUM* pAPIVersion)
pAPIVersionFAX_SERVER_APIVERSION_ENUM*outサーバーのAPIバージョンを表すFAX_SERVER_APIVERSION_ENUMを受け取る出力先。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IFaxServer "{475B6469-90A5-4878-A577-17A86E8E3462}"
#usecom global IFaxServer IID_IFaxServer "{D73733C8-CC80-11D0-B225-00C04FB6C2F5}"
#comfunc global IFaxServer_Connect                            7 wstr
#comfunc global IFaxServer_get_ServerName                     8 var
#comfunc global IFaxServer_GetDeviceProviders                 9 sptr
#comfunc global IFaxServer_GetDevices                         10 sptr
#comfunc global IFaxServer_get_InboundRouting                 11 sptr
#comfunc global IFaxServer_get_Folders                        12 sptr
#comfunc global IFaxServer_get_LoggingOptions                 13 sptr
#comfunc global IFaxServer_get_MajorVersion                   14 var
#comfunc global IFaxServer_get_MinorVersion                   15 var
#comfunc global IFaxServer_get_MajorBuild                     16 var
#comfunc global IFaxServer_get_MinorBuild                     17 var
#comfunc global IFaxServer_get_Debug                          18 var
#comfunc global IFaxServer_get_Activity                       19 sptr
#comfunc global IFaxServer_get_OutboundRouting                20 sptr
#comfunc global IFaxServer_get_ReceiptOptions                 21 sptr
#comfunc global IFaxServer_get_Security                       22 sptr
#comfunc global IFaxServer_Disconnect                         23
#comfunc global IFaxServer_GetExtensionProperty               24 wstr,var
#comfunc global IFaxServer_SetExtensionProperty               25 wstr,int
#comfunc global IFaxServer_ListenToServerEvents               26 int
#comfunc global IFaxServer_RegisterDeviceProvider             27 wstr,wstr,wstr,wstr,int
#comfunc global IFaxServer_UnregisterDeviceProvider           28 wstr
#comfunc global IFaxServer_RegisterInboundRoutingExtension    29 wstr,wstr,wstr,int
#comfunc global IFaxServer_UnregisterInboundRoutingExtension  30 wstr
#comfunc global IFaxServer_get_RegisteredEvents               31 var
#comfunc global IFaxServer_get_APIVersion                     32 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。