Поделиться через


Функция WdfCollectionCreate (wdfcollection.h)

[Относится к KMDF и UMDF]

Метод WdfCollectionCreate создает объект коллекции платформы.

Синтаксис

NTSTATUS WdfCollectionCreate(
  [in, optional] PWDF_OBJECT_ATTRIBUTES CollectionAttributes,
  [out]          WDFCOLLECTION          *Collection
);

Параметры

[in, optional] CollectionAttributes

Указатель на структуру WDF_OBJECT_ATTRIBUTES , выделенную вызывающим объектом, которая содержит атрибуты для нового объекта коллекции. Этот параметр является необязательным и может быть WDF_NO_OBJECT_ATTRIBUTES.

[out] Collection

Указатель на расположение, которое получает дескриптор нового объекта коллекции.

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

WdfCollectionCreate возвращает STATUS_SUCCESS, если операция выполнена успешно. В противном случае этот метод может вернуть одно из следующих значений:

Код возврата Описание
STATUS_INVALID_PARAMETER
Вызывающий объект предоставил недопустимое значение параметра.
STATUS_INSUFFICIENT_RESOURCES
Не удалось выделить объект коллекции.
 

Этот метод также может возвращать другие значения NTSTATUS.

Комментарии

После вызова WdfCollectionCreate для создания объекта коллекции платформ драйвер может вызвать WdfCollectionAdd , чтобы добавить объекты в коллекцию.

По умолчанию родительским объектом нового объекта коллекции является объект драйвера платформы, созданный методом WdfDriverCreate . Для указания другого родительского элемента можно использовать элемент ParentObjectструктуры WDF_OBJECT_ATTRIBUTES . Платформа удаляет объект коллекции при удалении родительского объекта. Если драйвер не изменяет родительский объект по умолчанию, драйвер должен удалить объект коллекции после завершения работы с объектом . В противном случае объект останется до тех пор, пока диспетчер ввода-вывода не выгрузит драйвер.

Дополнительные сведения о коллекциях объектов см. в разделе Коллекции объектов платформы.

Примеры

Пример кода, в котором используется WdfCollectionCreate, см. в разделе WdfCollectionAdd.

Требования

Требование Значение
Целевая платформа Универсальное
Минимальная версия KMDF 1,0
Минимальная версия UMDF 2,0
Верхняя часть wdfcollection.h (включая Wdf.h)
Библиотека Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <= DISPATCH_LEVEL
Правила соответствия DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

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

WDF_OBJECT_ATTRIBUTES

WdfCollectionAdd

WdfCollectionRemove

WdfDriverCreate