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


Функция WdfPdoInitAssignRawDevice (wdfpdo.h)

[Применимо только к KMDF]

Метод WdfPdoInitAssignRawDevice указывает, что вызывающий драйвер может поддерживать указанное устройство в необработанном режиме.

Синтаксис

NTSTATUS WdfPdoInitAssignRawDevice(
  [in] PWDFDEVICE_INIT DeviceInit,
  [in] const GUID      *DeviceClassGuid
);

Параметры

[in] DeviceInit

Указатель на структуру WDFDEVICE_INIT.

[in] DeviceClassGuid

Указатель на GUID, определяющий класс установки устройства .

Примечание Всегда следует указывать GUID пользовательского класса. Не следует указывать существующий GUID класса. Если указать существующий GUID класса, другие драйверы, которые пытаются указать, что существующий GUID класса может завершиться ошибкой установки или установки с неправильными параметрами безопасности.

Дополнительные сведения см. в следующем разделе "Примечания".

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

Если операция выполнена успешно, метод возвращает STATUS_SUCCESS. В противном случае возвращается STATUS_INVALID_PARAMETER.

Замечания

Драйвер должен вызывать WdfPdoInitAssignRawDevice перед вызовом WdfDeviceCreate. Дополнительные сведения о вызове WdfDeviceCreateсм. в создании объекта устройства Framework.

Реестр может содержать значения, переопределяющие значения, заданные драйвером при вызове WdfDeviceInitAssignSDDLString, WdfDeviceInitSetDeviceType, WdfDeviceInitSetCharacteristicsи WdfDeviceInitSetExclusive. Параметр WdfPdoInitAssignRawDevice метода DeviceClassGuid указывает GUID, определяющий раздел реестра, содержащий переопределяемые значения. Параметр DeviceClassGuid определяет только раздел реестра и фактически не задает класс установки устройства для устройства. Раздел INF Version в INF-файле устройства и inf-файле драйвера задает класс установки устройства. Как правило, идентификатор GUID параметра DeviceClassGuid должен соответствовать GUID, который раздел inf version.

Дополнительные сведения об использовании реестра см. в разделе Настройка свойств реестра объектов устройств после установки.

Примеры

Следующий фрагмент кода из примера драйвера kmdf_enumswitches указывает, что драйвер может поддерживать указанное устройство в необработанном режиме.

NTSTATUS  status;
DEFINE_GUID(GUID_DEVCLASS_MYUNIQUEID,
0xf149fe88, 0x f6cc, 0x47e3, 0x85, 0x94, 0xe2, 0xaa, 0xb6, 0xe0, 0x3b, 0xdf);

status = WdfPdoInitAssignRawDevice(
                                   pDeviceInit,
                                   &GUID_DEVCLASS_MYUNIQUEID
                                   );

Требования

Требование Ценность
целевая платформа универсальный
минимальная версия KMDF 1.0
Заголовок wdfpdo.h (включая Wdf.h)
Библиотека Wdf01000.sys (см. управление версиями библиотеки Платформы).)
IRQL PASSIVE_LEVEL
правил соответствия DDI ChildDeviceInitAPI(kmdf), DriverCreate(kmdf), InitFreeDeviceCallback(kmdf), InitFreeDeviceCreate(kmdf), InitFreeNull(kmdf), KmdfIrql (kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf), PdoInitFreeDeviceCallback(kmdf), PdoInitFreeDeviceCreate(kmdf)

См. также

WdfDeviceInitAssignSDDLString

WdfDeviceInitSetCharacteristics

WdfDeviceInitSetDeviceType

WdfDeviceInitSetExclusive