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 sección Comentarios que se muestra más adelante.

Valor devuelto

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

Comentarios

El controlador debe llamar a WdfPdoInitAssignRawDevice antes de llamar a WdfDeviceCreate. Para obtener más información sobre cómo llamar a WdfDeviceCreate, vea Crear un objeto de dispositivo framework.

El Registro puede contener valores que invalidan los valores que especifica un controlador cuando llama a WdfDeviceInitAssignSDDLString, WdfDeviceInitSetDeviceType, WdfDeviceInitSetCharacteristics y WdfDeviceInitSetExclusive. El parámetro DeviceClassGuid del método WdfPdoInitAssignRawDevice 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 del dispositivo para el dispositivo. La sección Versión inf del 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 inf .

Para obtener más información sobre el uso del registro, vea Establecer las 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 procesar.

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 Value
Plataforma de destino Universal
Versión mínima de KMDF 1.0
Encabezado wdfpdo.h (incluya Wdf.h)
Library 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