Метод IShellFolder::GetAttributesOf (shobjidl_core.h)

Возвращает атрибуты одного или нескольких объектов файлов или папок, содержащихся в объекте, представленном IShellFolder.

Синтаксис

HRESULT GetAttributesOf(
  [in]      UINT                  cidl,
  [in]      PCUITEMID_CHILD_ARRAY apidl,
  [in, out] SFGAOF                *rgfInOut
);

Параметры

[in] cidl

Тип: UINT

Количество элементов, из которых извлекаются атрибуты.

[in] apidl

Тип: PCUITEMID_CHILD_ARRAY*

Адрес массива указателей на структуры ITEMIDLIST , каждая из которых однозначно определяет элемент относительно родительской папки. Каждая структура ITEMIDLIST должна содержать ровно одну структуру SHITEMID , за которой следует завершающий ноль.

[in, out] rgfInOut

Тип: SFGAOF*

Указатель на одно значение ULONG , которое в записи содержит побитовые атрибуты SFGAO , запрашиваемые вызывающим приложением. При выходе это значение содержит запрошенные атрибуты, общие для всех указанных элементов.

Возвращаемое значение

Тип: HRESULT

Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Чтобы оптимизировать эту операцию, не возвращайте неопределенные флаги.

Для объекта папки атрибут SFGAO_BROWSABLE подразумевает, что клиент может привязаться к этому объекту, как показано в общей форме здесь.

IShellFolder::BindToObject(..., pidl, IID_IShellFolder, &psfItem);

Затем клиент может создать IShellView для этого элемента с помощью этой инструкции.

psfItem->CreateViewObject(..., IID_IShellView,...);

Атрибут SFGAO_DROPTARGET подразумевает, что клиент может привязаться к экземпляру IDropTarget для этой папки, вызвав метод IShellFolder::GetUIObjectOf , как показано ниже.

IShellFolder::GetUIObjectOf(hwnd, 1, &pidl, IID_IDropTarget, NULL, &pv)

Атрибут SFGAO_NONENUMERATED указывает элемент, который не возвращается перечислителем, созданным методом IShellFolder::EnumObjects .

Требования

   
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header shobjidl_core.h (включая Shobjidl.h)
DLL Shell32.dll (версия 4.0 или более поздняя)

См. также раздел

IShellFolder

IShellFolder2