Функция 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, если операция завершится успешно. Список дополнительных возвращаемых значений см. в ошибках создания объектов Framework.
Этот метод также может возвращать другие значения NTSTATUS.
Замечания
По умолчанию родительский объект общей платформы — это объект драйвера платформы, созданный методом WdfDriverCreate. Вы можете использовать элемент ParentObject структуры WDF_OBJECT_ATTRIBUTES для указания другого родительского элемента. Платформа удаляет общий объект при удалении родительского объекта. Если драйвер не изменяет родительский элемент по умолчанию, драйвер должен удалить общий объект после завершения использования объекта; в противном случае объект останется до тех пор, пока диспетчер ввода-вывода не выгрузит драйвер.
Дополнительные сведения о методе WdfObjectCreate см. в разделе Использование объектов General Framework.
Дополнительные сведения о правилах очистки для иерархии объектов платформы см. в жизненного цикла объектов Framework.
Примеры
В следующем примере кода инициализируется структура 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 (include Wdf.h) |
Библиотека | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | <=DISPATCH_LEVEL |
правил соответствия DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |