Compartir a través de


Función WdfPdoInitAddCompatibleID (wdfpdo.h)

[Solo se aplica a KMDF]

El método WdfPdoInitAddCompatibleID agrega un identificador compatible a la lista de identificadores compatibles para un dispositivo secundario.

Sintaxis

NTSTATUS WdfPdoInitAddCompatibleID(
  [in] PWDFDEVICE_INIT  DeviceInit,
  [in] PCUNICODE_STRING CompatibleID
);

Parámetros

[in] DeviceInit

Puntero a una estructura de WDFDEVICE_INIT .

[in] CompatibleID

Puntero a una estructura de UNICODE_STRING que contiene una cadena de identificador compatible. El controlador puede asignar el búfer de la cadena del grupo paginado.

Valor devuelto

Si la operación se realiza correctamente, el método devuelve STATUS_SUCCESS. Entre los valores devueltos adicionales se incluyen:

Código devuelto Descripción
STATUS_INVALID_DEVICE_REQUEST
El controlador está inicializando un FDO en lugar de un PDO.
STATUS_INSUFFICIENT_RESOURCES
El controlador no pudo asignar espacio para almacenar la cadena de identificador compatible.
 

El método también puede devolver otros valores NTSTATUS.

Comentarios

El controlador puede agregar uno o varios identificadores compatibles para un dispositivo. Deben agregarse en orden, de mejor partido a peor partido. El marco entregará los identificadores al administrador de PnP en el orden en que se agregaron. Para obtener más información sobre los identificadores compatibles, consulte Cadenas de identificación de dispositivos y Cómo selecciona el programa de instalación de controladores.

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

Ejemplos

En el ejemplo de código siguiente se informa de un valor de identificador compatible que usa el controlador de ejemplo de Toaster .

DECLARE_CONST_UNICODE_STRING(compatId, L"{B85B7C50-6A01-11d2-B841-00C04FAD5171}\\MsCompatibleToaster\0");

status = WdfPdoInitAddCompatibleID(
                                   DeviceInit,
                                   &compatId
                                   );

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

WdfPdoInitAddHardwareID

WdfPdoInitAssignDeviceID

WdfPdoInitAssignInstanceID