Função WdfPdoInitAddHardwareID (wdfpdo.h)
[Aplica-se somente ao KMDF]
O método WdfPdoInitAddHardwareID adiciona uma ID de hardware à lista de IDs de hardware de um dispositivo filho.
Sintaxe
NTSTATUS WdfPdoInitAddHardwareID(
[in] PWDFDEVICE_INIT DeviceInit,
[in] PCUNICODE_STRING HardwareID
);
Parâmetros
[in] DeviceInit
Um ponteiro para uma estrutura WDFDEVICE_INIT .
[in] HardwareID
Um ponteiro para uma estrutura UNICODE_STRING que contém uma cadeia de caracteres de ID de hardware. 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 |
---|---|
|
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 de hardware. |
O método também pode retornar outros valores NTSTATUS.
Comentários
O driver pode adicionar uma ou mais IDs de hardware para um dispositivo. Eles devem ser adicionados na ordem da melhor partida para a pior partida. A estrutura fornecerá as IDs ao gerenciador PnP na ordem em que foram adicionadas. Para obter mais informações sobre IDs de hardware, consulte Cadeias de caracteres de identificação do dispositivo e Como a instalação seleciona drivers.
O driver deve chamar WdfPdoInitAddHardwareID 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 uma ID de hardware que o driver de exemplo KbFiltr usa.
#define KBFILTR_DEVICE_ID L"{A65C87F9-BE02-4ed9-92EC-012D416169FA}\\KeyboardFilter\0"
DECLARE_CONST_UNICODE_STRING(hardwareId, KBFILTR_DEVICE_ID);
status = WdfPdoInitAddHardwareID(
pDeviceInit,
&hardwareId
);
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) |