IFaxAccount
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
FAX サーバー上の FAX アカウントを表します。
解説(Remarks)
IFaxAccount の既定の実装は FaxAccount オブジェクトとして提供されます。このインターフェイスおよびオブジェクトは Windows Vista 以降でのみサポートされます。
メソッド 4
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
サーバー上の特定の FAX アカウントの名前を取得します。
| pbstrAccountName | LPWSTR* | out | アカウント名(ドメイン\ユーザー形式)を受け取るBSTRポインタ。 |
解説(Remarks)
アカウントがローカルドメインに存在しない場合、返される名前の形式は <domain_name><user_name> です。
アカウントがドメイン内に存在するもののサーバー上にはない場合、返される名前の形式は <computer_name><user_name> です。ここで <computer_name> はそのアカウントを保持するサーバーの名前です。
アカウントが FAX サーバーと同じサーバー上にある場合は、アカウントの <user_name> のみが返されます。
送受信のアーカイブおよび送受信のキューを含む、アカウントのフォルダーを表します。
| ppFolders | IFaxAccountFolders** | out | アカウントの送受信キュー/アーカイブを束ねるIFaxAccountFoldersインターフェイスを受け取るポインタ。 |
アカウントが待機するイベントを表す FAX_ACCOUNT_EVENTS_TYPE_ENUM 変数のフラグを設定します。
| EventTypes | FAX_ACCOUNT_EVENTS_TYPE_ENUM | in | アカウントが待機するイベントの種類を指定する変数です。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
アカウントが待機しているイベントの種類を示すフラグのセットです。
| pRegisteredEvents | FAX_ACCOUNT_EVENTS_TYPE_ENUM* | out | 現在購読中のアカウントイベント種類を表すFAX_ACCOUNT_EVENTS_TYPE_ENUM値を受け取るポインタ。 |
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IFaxAccount "{68535B33-5DC4-4086-BE26-B76F9B711006}" #usecom global IFaxAccount IID_IFaxAccount "{}" #comfunc global IFaxAccount_get_AccountName 7 var #comfunc global IFaxAccount_get_Folders 8 sptr #comfunc global IFaxAccount_ListenToAccountEvents 9 int #comfunc global IFaxAccount_get_RegisteredEvents 10 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_IFaxAccount "{68535B33-5DC4-4086-BE26-B76F9B711006}" #usecom global IFaxAccount IID_IFaxAccount "{}" #comfunc global IFaxAccount_get_AccountName 7 sptr #comfunc global IFaxAccount_get_Folders 8 sptr #comfunc global IFaxAccount_ListenToAccountEvents 9 int #comfunc global IFaxAccount_get_RegisteredEvents 10 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。