IShellFolder::GetAttributesOf method (shobjidl_core.h)
Gets the attributes of one or more file or folder objects contained in the object represented by IShellFolder.
Syntax
HRESULT GetAttributesOf(
[in] UINT cidl,
[in] PCUITEMID_CHILD_ARRAY apidl,
[in, out] SFGAOF *rgfInOut
);
Parameters
[in] cidl
Type: UINT
The number of items from which to retrieve attributes.
[in] apidl
Type: PCUITEMID_CHILD_ARRAY*
The address of an array of pointers to ITEMIDLIST structures, each of which uniquely identifies an item relative to the parent folder. Each ITEMIDLIST structure must contain exactly one SHITEMID structure followed by a terminating zero.
[in, out] rgfInOut
Type: SFGAOF*
Pointer to a single ULONG value that, on entry, contains the bitwise SFGAO attributes that the calling application is requesting. On exit, this value contains the requested attributes that are common to all of the specified items.
Return value
Type: HRESULT
If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.
Remarks
To optimize this operation, do not return unspecified flags.
For a folder object, the SFGAO_BROWSABLE attribute implies that the client can bind to this object as shown in a general form here.
IShellFolder::BindToObject(..., pidl, IID_IShellFolder, &psfItem);
The client can then create an IShellView on that item through this statement.
psfItem->CreateViewObject(..., IID_IShellView,...);
The SFGAO_DROPTARGET attribute implies that the client can bind to an instance of IDropTarget for this folder by calling IShellFolder::GetUIObjectOf as shown here.
IShellFolder::GetUIObjectOf(hwnd, 1, &pidl, IID_IDropTarget, NULL, &pv)
The SFGAO_NONENUMERATED attribute indicates an item that is not returned by the enumerator created by the IShellFolder::EnumObjects method.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows XP [desktop apps only] |
Minimum supported server | Windows 2000 Server [desktop apps only] |
Target Platform | Windows |
Header | shobjidl_core.h (include Shobjidl.h) |
DLL | Shell32.dll (version 4.0 or later) |