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