Функция 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, если операция выполнена успешно. В противном случае этот метод может вернуть одно из следующих значений:
Код возврата | Описание |
---|---|
|
Вызывающий объект предоставил недопустимое значение параметра. |
|
Не удалось выделить объект коллекции. |
Этот метод также может возвращать другие значения 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) |