INameSpaceTreeControl2
COM公式ドキュメント
INameSpaceTreeControl インターフェイスを拡張し、シェル名前空間項目で使用するツリービューコントロールの表示スタイルを取得および設定するメソッドを提供します。
解説(Remarks)
このインターフェイスは、継承元である INameSpaceTreeControl インターフェイスのメソッドも提供します。
このインターフェイスのインスタンスを生成するには、クラス識別子 (CLSID) CLSID_NameSpaceTreeControl を使用します。
実装するタイミング
このインターフェイスの実装は Windows によって提供されます。サードパーティが独自のバージョンを実装すべきではありません。メソッド 4
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
名前空間オブジェクトのツリービューコントロールの表示スタイルを設定します。
| nstcsMask | DWORD | in | メソッドが新しい値を設定するスタイルを指定する、1 つ以上の NSTCSTYLE 定数です。 |
| nstcsStyle | DWORD | in | nstcsMask で指定されたスタイルの新しい値を含むビットマップです。個々の NSTCSTYLE 値を表すビットが 0 の場合、そのスタイルは使用されません。値が 1 の場合、そのスタイルがツリービューに適用されます。nstcsMask で指定されていない位置のスタイルは、このビットマップ内のビットの値に関係なく、現在の設定のまま保持されます。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
名前空間オブジェクトのツリービューコントロールに設定されている表示スタイルを取得します。
| nstcsMask | DWORD | in | メソッドが現在の設定を取得する値を指定する、1 つ以上の NSTCSTYLE 定数です。 |
| pnstcsStyle | DWORD* | out | このメソッドが正常に返されたときに、nstcsMask で要求された値を受け取る値へのポインターです。個々の NSTCSTYLE 値を表すビットが 0 の場合、その値は設定されていません。値が 1 の場合、それが現在の設定です。nstcsMask で明示的に要求されていない位置のビット値は、必ずしも現在の設定を反映しておらず、使用すべきではありません。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
名前空間オブジェクトのツリービューコントロールの拡張表示スタイルを設定します。
| nstcsMask | NSTCSTYLE2 | in | メソッドが新しい値を設定するスタイルを指定する、1 つ以上の NSTCSTYLE2 定数です。 |
| nstcsStyle | NSTCSTYLE2 | in | nstcsMask で指定されたスタイルの新しい値を含むビットマップです。個々の NSTCSTYLE2 値を表すビットが 0 の場合、そのスタイルは使用されません。値が 1 の場合、そのスタイルがツリービューに適用されます。nstcsMask で指定されていない位置のスタイルは、このビットマップ内のビットの値に関係なく、現在の設定のまま保持されます。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
名前空間オブジェクトのツリービューコントロールに設定されている拡張表示スタイルを取得します。
| nstcsMask | NSTCSTYLE2 | in | メソッドが現在の設定を取得する値を指定する、1 つ以上の NSTCSTYLE2 定数です。 |
| pnstcsStyle | NSTCSTYLE2* | out | このメソッドが正常に返されたときに、nstcsMask で要求された値を受け取る値へのポインターです。個々の NSTCSTYLE2 値を表すビットが 0 の場合、その値は設定されていません。値が 1 の場合、それが現在の設定です。nstcsMask で明示的に要求されていない位置のビット値は、必ずしも現在の設定を反映しておらず、使用すべきではありません。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_INameSpaceTreeControl2 "{7CC7AED8-290E-49BC-8945-C1401CC9306C}" #usecom global INameSpaceTreeControl2 IID_INameSpaceTreeControl2 "{}" #comfunc global INameSpaceTreeControl2_SetControlStyle 22 int,int #comfunc global INameSpaceTreeControl2_GetControlStyle 23 int,var #comfunc global INameSpaceTreeControl2_SetControlStyle2 24 int,int #comfunc global INameSpaceTreeControl2_GetControlStyle2 25 int,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_INameSpaceTreeControl2 "{7CC7AED8-290E-49BC-8945-C1401CC9306C}" #usecom global INameSpaceTreeControl2 IID_INameSpaceTreeControl2 "{}" #comfunc global INameSpaceTreeControl2_SetControlStyle 22 int,int #comfunc global INameSpaceTreeControl2_GetControlStyle 23 int,sptr #comfunc global INameSpaceTreeControl2_SetControlStyle2 24 int,int #comfunc global INameSpaceTreeControl2_GetControlStyle2 25 int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。