IACList2
COM公式ドキュメント
IACList インターフェイスを拡張し、オートコンプリートオブジェクトのクライアントがオプションフラグを取得・設定できるようにします。
解説(Remarks)
このインターフェイスは、継承元である IACList インターフェイスのメソッドも提供します。
実装するタイミング
オートコンプリートのクライアントは、オートコンプリートオブジェクトがオプションを取得・設定できるようにするために、このインターフェイスを実装します。オプションは基本的に、指定された 1 つ以上のフォルダーに含まれるすべてのファイルおよびサブフォルダーの名前を列挙したリストを、クライアントに生成させるための要求です。オートコンプリートオブジェクトは、その後クライアントの IEnumString インターフェイスを呼び出して、文字列を要求します。
使用するタイミング
このインターフェイスは、通常アプリケーションから直接使用されることはありません。メソッド 2
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
現在のオートコンプリートオプションを設定します。(IACList2.SetOptions)
| dwFlag | DWORD | in | 新しいオプションフラグ。次回クライアントの IEnumString インターフェイスが呼び出されたときに、指定したフォルダーのファイルおよびサブフォルダーの名前を含めるようクライアントに要求するには、これらのフラグを使用します。このパラメーターには、次のフラグの 1 つ以上を指定できます。 ACLO_CURRENTDIR現在の作業ディレクトリを列挙します。 ACLO_DESKTOPデスクトップフォルダーを列挙します。 ACLO_FAVORITESお気に入りフォルダーを列挙します。 ACLO_FILESYSONLYファイルシステムに含まれる項目のみを列挙します。仮想フォルダーに含まれる項目は列挙しません。 ACLO_FILESYSDIRSファイルシステムのディレクトリ、UNC 共有、および UNC サーバーのみを列挙します。 ACLO_MYCOMPUTERマイコンピューターフォルダーを列挙します。 ACLO_NONE何も列挙しません。 |
戻り値
型: HRESULT
成功した場合は S_OK を返し、それ以外の場合は COM エラー値を返します。
現在のオートコンプリートオプションを取得します。(IACList2.GetOptions)
| pdwFlag | DWORD* | out | メソッドが返るときに現在のオプションフラグを保持する値へのポインター。次の値の組み合わせを指定できます。 ACLO_CURRENTDIR現在の作業ディレクトリを列挙します。 ACLO_DESKTOPデスクトップフォルダーを列挙します。 ACLO_FAVORITESお気に入りフォルダーを列挙します。 ACLO_FILESYSONLYファイルシステムに含まれる項目のみを列挙します。仮想フォルダーに含まれる項目は列挙しません。 ACLO_FILESYSDIRSファイルシステムのディレクトリ、UNC 共有、および UNC サーバーのみを列挙します。 ACLO_MYCOMPUTERマイコンピューターフォルダーを列挙します。 ACLO_NONE何も列挙しません。 |
戻り値
型: HRESULT
成功した場合は S_OK を返し、それ以外の場合は COM エラー値を返します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IACList2 "{470141A0-5186-11D2-BBB6-0060977B464C}" #usecom global IACList2 IID_IACList2 "{}" #comfunc global IACList2_SetOptions 4 int #comfunc global IACList2_GetOptions 5 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IACList2 "{470141A0-5186-11D2-BBB6-0060977B464C}" #usecom global IACList2 IID_IACList2 "{}" #comfunc global IACList2_SetOptions 4 int #comfunc global IACList2_GetOptions 5 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。