Функция WdfObjectCreate (wdfobject.h)
[Применимо к KMDF и UMDF]
Метод WdfObjectCreate создает общий объект платформы.
Синтаксис
NTSTATUS WdfObjectCreate(
[in, optional] PWDF_OBJECT_ATTRIBUTES Attributes,
[out] WDFOBJECT *Object
);
Параметры
[in, optional] Attributes
Указатель на структуру WDF_OBJECT_ATTRIBUTES , которая содержит предоставленные драйвером атрибуты для нового объекта. Этот параметр является необязательным и может быть WDF_NO_OBJECT_ATTRIBUTES.
[out] Object
Указатель на расположение, которое получает дескриптор нового объекта платформы.
Возвращаемое значение
WdfObjectCreate возвращает STATUS_SUCCESS, если операция выполнена успешно. Список дополнительных возвращаемых значений см. в разделе Ошибки создания объектов платформы.
Этот метод также может возвращать другие значения NTSTATUS.
Комментарии
По умолчанию родительским объектом новой общей платформы является объект драйвера платформы, созданный методом WdfDriverCreate . Для указания другого родительского элемента можно использовать элемент ParentObjectструктуры WDF_OBJECT_ATTRIBUTES . Платформа удаляет общий объект при удалении родительского объекта. Если драйвер не изменяет родительский объект по умолчанию, драйвер должен удалить общий объект после завершения работы с объектом . В противном случае объект останется до тех пор, пока диспетчер ввода-вывода не выгрузит драйвер.
Дополнительные сведения о методе WdfObjectCreate см. в разделе Использование общих объектов платформы.
Дополнительные сведения о правилах очистки для иерархии объектов платформы см. в разделе Жизненный цикл объекта платформы.
Примеры
В следующем примере кода инициализируется структура WDF_OBJECT_ATTRIBUTES и создается общий объект платформы.
WDF_OBJECT_ATTRIBUTES Attributes;
WDFOBJECT Object;
WDF_OBJECT_ATTRIBUTES_INIT(&Attributes);
status = WdfObjectCreate(
&Attributes,
&Object
);
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Минимальная версия KMDF | 1,0 |
Минимальная версия UMDF | 2,0 |
Верхняя часть | wdfobject.h (включая Wdf.h) |
Библиотека | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | <=DISPATCH_LEVEL |
Правила соответствия DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |