Compartilhar via


Função WdfPdoInitAddCompatibleID (wdfpdo.h)

[Aplica-se somente ao KMDF]

O método WdfPdoInitAddCompatibleID adiciona uma ID compatível à lista de IDs compatíveis para um dispositivo filho.

Sintaxe

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

Parâmetros

[in] DeviceInit

Um ponteiro para uma estrutura WDFDEVICE_INIT .

[in] CompatibleID

Um ponteiro para uma estrutura UNICODE_STRING que contém uma cadeia de caracteres de ID compatível. O driver pode alocar o buffer da cadeia de caracteres do pool de páginas.

Retornar valor

Se a operação for bem-sucedida, o método retornará STATUS_SUCCESS. Os valores retornados adicionais incluem:

Código de retorno Descrição
STATUS_INVALID_DEVICE_REQUEST
O driver está inicializando um FDO em vez de um PDO.
STATUS_INSUFFICIENT_RESOURCES
O driver não pôde alocar espaço para armazenar a cadeia de caracteres de ID compatível.
 

O método também pode retornar outros valores NTSTATUS.

Comentários

O driver pode adicionar uma ou mais IDs compatíveis para um dispositivo. Eles devem ser adicionados em ordem, da melhor partida à pior partida. A estrutura fornecerá as IDs ao gerenciador PnP na ordem em que foram adicionadas. Para obter mais informações sobre IDs compatíveis, consulte Cadeias de caracteres de identificação do dispositivo e Como a instalação seleciona drivers.

O driver deve chamar WdfPdoInitAddCompatibleID antes de chamar WdfDeviceCreate. Para obter mais informações sobre como chamar WdfDeviceCreate, consulte Criando um objeto de dispositivo framework.

Exemplos

O exemplo de código a seguir relata um valor de ID compatível que o driver de exemplo do Toaster usa.

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

status = WdfPdoInitAddCompatibleID(
                                   DeviceInit,
                                   &compatId
                                   );

Requisitos

Requisito Valor
Plataforma de Destino Universal
Versão mínima do KMDF 1.0
Cabeçalho wdfpdo.h (inclua Wdf.h)
Biblioteca Wdf01000.sys (consulte Controle de versão da biblioteca de estrutura.)
IRQL PASSIVE_LEVEL
Regras de conformidade de DDI ChildDeviceInitAPI(kmdf), DriverCreate(kmdf), InitFreeDeviceCallback(kmdf), InitFreeDeviceCreate(kmdf), InitFreeNull(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf), PdoInitFreeDeviceCallback(kmdf), PdoInitFreeDeviceCreate(kmdf)

Confira também

WdfPdoInitAddHardwareID

WdfPdoInitAssignDeviceID

WdfPdoInitAssignInstanceID