IFaxInboundRoutingExtension
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
IFaxInboundRoutingExtension インターフェイスは、FAX クライアントアプリケーションが FAX サービスに登録された FAX ルーティング拡張機能に関する情報を取得するために使用する構成オブジェクトを定義します。
解説(Remarks)
IFaxInboundRoutingExtension の既定の実装は、FaxInboundRoutingExtension オブジェクトとして提供されます。
メソッド 11
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
IFaxInboundRoutingExtension::get_FriendlyName プロパティは、FAX ルーティング拡張機能のユーザーフレンドリ名を格納する null 終端文字列です。この文字列はユーザーへの表示に適しています。
| pbstrFriendlyName | LPWSTR* | out | 受信ルーティング拡張機能の表示用フレンドリ名を受け取るBSTRポインタ。 |
IFaxInboundRoutingExtension::get_ImageName プロパティは、FAX ルーティング拡張機能の実行可能イメージ名 (DLL のパスとファイル名) を格納する null 終端文字列です。
| pbstrImageName | LPWSTR* | out | 拡張機能DLLの実行イメージ(ファイル)名を受け取るBSTRポインタ。 |
解説(Remarks)
パスには、%SYSTEMDRIVE% や %SYSTEMROOT% などの有効な環境変数を含めることができます。
IFaxInboundRoutingExtension::get_UniqueName プロパティは、FAX ルーティング拡張機能の一意の名前を格納する null 終端文字列です。FAX サービスは、FAX ルーティング拡張機能を識別するために内部でこの名前を使用します。
| pbstrUniqueName | LPWSTR* | out | 拡張機能を一意に識別する内部名を受け取るBSTRポインタ。 |
IFaxInboundRoutingExtension::get_MajorVersion プロパティは、FAX ルーティング拡張機能の DLL のバージョン番号のメジャー部分を指定する値です。
| plMajorVersion | INT* | out | 拡張機能のメジャーバージョン番号を受け取るINTポインタ。 |
解説(Remarks)
ビルド番号の標準的な形式は MajorVersion.MinorVersion.MajorBuild.MinorBuild です。
IFaxInboundRoutingExtension::get_MinorVersion プロパティは、FAX ルーティング拡張機能の DLL のバージョン番号のマイナー部分を指定する値です。
| plMinorVersion | INT* | out | 拡張機能のマイナーバージョン番号を受け取るINTポインタ。 |
解説(Remarks)
ビルド番号の標準的な形式は MajorVersion.MinorVersion.MajorBuild.MinorBuild です。
IFaxInboundRoutingExtension::get_MajorBuild プロパティは、FAX ルーティング拡張機能の DLL のビルド番号のメジャー部分を指定する値です。
| plMajorBuild | INT* | out | 拡張機能のメジャービルド番号を受け取るINTポインタ。 |
解説(Remarks)
ビルド番号の標準的な形式は MajorVersion.MinorVersion.MajorBuild.MinorBuild です。
IFaxInboundRoutingExtension::get_MinorBuild プロパティは、FAX ルーティング拡張機能の DLL のビルド番号のマイナー部分を指定する値です。
| plMinorBuild | INT* | out | 拡張機能のマイナービルド番号を受け取るINTポインタ。 |
解説(Remarks)
ビルド番号の標準的な形式は MajorVersion.MinorVersion.MajorBuild.MinorBuild です。
IFaxInboundRoutingExtension::get_Debug プロパティは、FAX ルーティング拡張機能の DLL がデバッグ環境で作成されたかどうかを示すブール値です。
| pbDebug | VARIANT_BOOL* | out | 拡張機能がデバッグビルドかを受け取るVARIANT_BOOLポインタ。VARIANT_TRUEでデバッグ版。 |
IFaxInboundRoutingExtension::get_Status プロパティは、FAX ルーティング拡張機能が正常に読み込まれ、初期化されたかどうかを示す値です。
| pStatus | FAX_PROVIDER_STATUS_ENUM* | out | 拡張機能の状態を表すFAX_PROVIDER_STATUS_ENUM値を受け取るポインタ。読込成功/失敗等を示す。 |
解説(Remarks)
拡張機能が正常に読み込まれなかった場合、このプロパティは失敗の理由を示し、IFaxInboundRoutingExtension::get_InitErrorCode が最後のエラーコード値を保持します。詳細については、FAX_PROVIDER_STATUS_ENUM を参照してください。
IFaxInboundRoutingExtension::get_InitErrorCode プロパティは、FAX サービスが FAX ルーティング拡張機能の DLL を読み込んで初期化している間に、その FAX ルーティング拡張機能が返した最後のエラーコードを指定する値です。
| plInitErrorCode | INT* | out | 拡張機能初期化時のエラーコードを受け取るINTポインタ。0で成功。 |
解説(Remarks)
エラーコードは、HRESULT 値または Win32 エラーコードの場合があります。
IFaxInboundRoutingExtension::get_Methods プロパティは、FAX ルーティング拡張機能が公開する受信ルーティングメソッドを一意に識別する GUID の配列です。
| pvMethods | VARIANT* | out | この拡張機能が提供するルーティングメソッドの配列を格納したVARIANTを受け取るポインタ。 |
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IFaxInboundRoutingExtension "{885B5E08-C26C-4EF9-AF83-51580A750BE1}" #usecom global IFaxInboundRoutingExtension IID_IFaxInboundRoutingExtension "{}" #comfunc global IFaxInboundRoutingExtension_get_FriendlyName 7 var #comfunc global IFaxInboundRoutingExtension_get_ImageName 8 var #comfunc global IFaxInboundRoutingExtension_get_UniqueName 9 var #comfunc global IFaxInboundRoutingExtension_get_MajorVersion 10 var #comfunc global IFaxInboundRoutingExtension_get_MinorVersion 11 var #comfunc global IFaxInboundRoutingExtension_get_MajorBuild 12 var #comfunc global IFaxInboundRoutingExtension_get_MinorBuild 13 var #comfunc global IFaxInboundRoutingExtension_get_Debug 14 var #comfunc global IFaxInboundRoutingExtension_get_Status 15 var #comfunc global IFaxInboundRoutingExtension_get_InitErrorCode 16 var #comfunc global IFaxInboundRoutingExtension_get_Methods 17 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_IFaxInboundRoutingExtension "{885B5E08-C26C-4EF9-AF83-51580A750BE1}" #usecom global IFaxInboundRoutingExtension IID_IFaxInboundRoutingExtension "{}" #comfunc global IFaxInboundRoutingExtension_get_FriendlyName 7 sptr #comfunc global IFaxInboundRoutingExtension_get_ImageName 8 sptr #comfunc global IFaxInboundRoutingExtension_get_UniqueName 9 sptr #comfunc global IFaxInboundRoutingExtension_get_MajorVersion 10 sptr #comfunc global IFaxInboundRoutingExtension_get_MinorVersion 11 sptr #comfunc global IFaxInboundRoutingExtension_get_MajorBuild 12 sptr #comfunc global IFaxInboundRoutingExtension_get_MinorBuild 13 sptr #comfunc global IFaxInboundRoutingExtension_get_Debug 14 sptr #comfunc global IFaxInboundRoutingExtension_get_Status 15 sptr #comfunc global IFaxInboundRoutingExtension_get_InitErrorCode 16 sptr #comfunc global IFaxInboundRoutingExtension_get_Methods 17 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。