IShellItemArray_GetAttributes

IShellItemArray に含まれるアイテムのセットの属性を取得する。

IShellItemArray_GetAttributes this, AttribFlags, sfgaoMask, psfgaoAttribs

this : [comobj] IShellItemArray インターフェースの COM オブジェクト変数
AttribFlags : [int] 型: SIATTRIBFLAGS
sfgaoMask : [int] 型: SFGAOF 要求する特定の属性を指定するマスク。1 つ以上の SFGAO 値のビット単位 OR。
psfgaoAttribs : [var] 型: SFGAOF* このメソッドが正常に戻ったときに、要求された属性の値を含むビットマップ。

(プラグイン / モジュール : com_misc.dll)

解説

IShellItemArray に含まれるアイテムのセットの属性を取得する。

[戻り値]
型: HRESULT 返された属性が sfgaoMask で要求されたものと完全に一致する場合は S_OK、完全に一致しない場合は
S_FALSE、そうでなければ標準 COM エラー値を返す。

[備考]

シェルアイテム配列は個々の属性が決定された後にそれらをキャッシュする。このメソッドが属性情報を収集するために配列を走査する際、通常はある属性の値が不可逆的に決定された時点でその属性の調査を停止する。例えば
SIATTRIBFLAGS_AND フラグが設定されている場合、あるアイテムで属性が設定されていない(値が 0)と判明した時点で、AND
演算の結果は必ず 0
となるため、その属性について他のアイテムを調べ続ける必要がなくなる。したがって、最終的な属性セットは配列内の最初の数アイテムのみを調べて算出されることが多く、最終値を取得するために必要なのはそれだけである。配列内のすべてのアイテムを調べる必要がある場合は
SIATTRIBFLAGS_ALLITEMS
フラグを設定する。ただしこれはメソッドの戻りを大きく遅くする可能性があるため、理由なく使用してはならない。

情報

プラグイン / モジュールcom_misc.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の com_misc.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_com_misc_gen2.hs