Compartir a través de


Función WdfPdoInitAssignRawDevice (wdfpdo.h)

[Solo se aplica a KMDF]

El método WdfPdoInitAssignRawDevice indica que el controlador de llamada puede admitir un dispositivo especificado en modo sin formato.

Sintaxis

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

Parámetros

[in] DeviceInit

Puntero a una estructura de WDFDEVICE_INIT.

[in] DeviceClassGuid

Puntero a un GUID que identifica una clase de configuración de dispositivo .

Nota Siempre debe especificar un GUID de clase personalizado. No debe especificar un GUID de clase existente. Si especifica un GUID de clase existente, otros controladores que intentan especificar que el GUID de clase existente podría no instalarse o podría instalarse con una configuración de seguridad incorrecta.

Para obtener más información, vea la siguiente sección Comentarios.

Valor devuelto

Si la operación se realiza correctamente, el método devuelve STATUS_SUCCESS. De lo contrario, devuelve STATUS_INVALID_PARAMETER.

Observaciones

El controlador debe llamar a WdfPdoInitAssignRawDevice antes de llamar a WdfDeviceCreate. Para obtener más información sobre cómo llamar a WdfDeviceCreate, vea Creating a Framework Device Object.

El registro puede contener valores que invalidan los valores que especifica un controlador cuando llama a WdfDeviceInitAssignSDDLString, WdfDeviceInitSetDeviceType, WdfDeviceInitSetCharacteristicsy WdfDeviceInitSetExclusive. El parámetro WdfPdoInitAssignRawDevice del método DeviceClassGuid especifica un GUID que identifica la sección del registro que contiene los valores de invalidación. El parámetro DeviceClassGuid solo identifica una sección del Registro y no establece realmente la clase de configuración de dispositivo para el dispositivo. La sección versión de INF en el archivo INF del dispositivo y del controlador establece la clase de configuración del dispositivo. Normalmente, el GUID del parámetro DeviceClassGuid debe coincidir con el GUID que especifica la sección versión de INF.

Para obtener más información sobre cómo usar el Registro, vea Establecer propiedades del Registro de objetos de dispositivo después de la instalación.

Ejemplos

El siguiente fragmento de código del ejemplo de controlador de kmdf_enumswitches indica que un controlador puede admitir el dispositivo especificado en modo sin formato.

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
                                   );

Requisitos

Requisito Valor
de la plataforma de destino de Universal
versión mínima de KMDF 1.0
encabezado wdfpdo.h (incluya Wdf.h)
Biblioteca Wdf01000.sys (consulte Control de versiones de la biblioteca de marcos).
irQL PASSIVE_LEVEL
reglas de cumplimiento de DDI ChildDeviceInitAPI(kmdf), DriverCreate(kmdf), InitFreeDeviceCallback(kmdf), InitFreeDeviceCreate(kmdf), InitFreeNull(kmdf), KmdfIrql() kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf), PdoInitFreeDeviceCallback(kmdf), PdoInitFreeDeviceCreate(kmdf)

Consulte también

WdfDeviceInitAssignSDDLString

WdfDeviceInitSetCharacteristics

WdfDeviceInitSetDeviceType

WdfDeviceInitSetExclusive