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.
Valor de retorno
Se a operação for bem-sucedida, o método retornará STATUS_SUCCESS. Os valores de retorno adicionais incluem:
Código de retorno | Descrição |
---|---|
|
O driver está inicializando um FDO em vez de um PDO. |
|
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 .
Observações
O driver pode adicionar uma ou mais IDs compatíveis a um dispositivo. Eles devem ser adicionados em ordem, da melhor partida à pior partida. A estrutura entregará 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 Toaster driver de exemplo usa.
DECLARE_CONST_UNICODE_STRING(compatId, L"{B85B7C50-6A01-11d2-B841-00C04FAD5171}\\MsCompatibleToaster\0");
status = WdfPdoInitAddCompatibleID(
DeviceInit,
&compatId
);
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Universal |
versão mínima do KMDF | 1.0 |
cabeçalho | wdfpdo.h (inclua Wdf.h) |
Biblioteca | Wdf01000.sys (consulte o Controle de Versão da Biblioteca da Estrutura.) |
IRQL | PASSIVE_LEVEL |
regras de conformidade de DDI | ChildDeviceInitAPI(kmdf), DriverCreate(kmdf), InitFreeDeviceCallback(kmdf),InitFreeDeviceCreate(kmdf), InitFreeNull(kmdf), KmdfIrql(km, KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI (kmdf), PdoInitFreeDeviceCallback(kmdf), PdoInitFreeDeviceCreate(kmdf) |