EVT_WDF_DRIVER_DEVICE_ADD função de retorno de chamada (wdfdriver.h)
[Aplica-se a KMDF e UMDF]
A função de retorno de chamada de evento EvtDriverDeviceAdd de um driver executa operações de inicialização do dispositivo quando o gerenciador de Plug and Play (PnP) relata a existência de um dispositivo.
Sintaxe
EVT_WDF_DRIVER_DEVICE_ADD EvtWdfDriverDeviceAdd;
NTSTATUS EvtWdfDriverDeviceAdd(
[in] WDFDRIVER Driver,
[in, out] PWDFDEVICE_INIT DeviceInit
)
{...}
Parâmetros
[in] Driver
Um identificador para um objeto de driver de estrutura que representa o driver.
[in, out] DeviceInit
Um ponteiro para uma estrutura de WDFDEVICE_INIT alocada por estrutura.
Retornar valor
A função de retorno de chamadaEvtDriverDeviceAdd deve retornar STATUS_SUCCESS se a operação for bem-sucedida. Caso contrário, essa função de retorno de chamada deve retornar um dos valores de status de erro definidos em Ntstatus.h. Para obter mais informações, consulte a seção Comentários a seguir.
Comentários
Cada driver baseado em estrutura que dá suporte a dispositivos PnP deve fornecer a função de retorno de chamada EvtDriverDeviceAdd . O driver deve colocar o endereço da função de retorno de chamada em sua estrutura WDF_DRIVER_CONFIG antes de chamar WdfDriverCreate.
A estrutura chama a função de retorno de chamada EvtDriverDeviceAdd do driver depois que um driver de barramento detecta um dispositivo que tem um identificador de hardware (ID) que corresponde a uma ID de hardware compatível com o driver. Especifique as IDs de hardware compatíveis com o driver fornecendo um arquivo INF, que o sistema operacional usa para instalar drivers na primeira vez que um de seus dispositivos está conectado ao computador. Para obter mais informações sobre como o sistema usa arquivos INF e IDs de hardware, consulte Como a instalação seleciona drivers.
A função de retorno de chamada EvtDriverDeviceAdd de um driver normalmente executa pelo menos algumas das seguintes operações de inicialização:
-
Crie um objeto de dispositivo de estrutura para representar o dispositivo.
-
Crie filas de E/S para que o driver possa receber solicitações de E/S.
-
Crie interfaces de dispositivo que os aplicativos usam para se comunicar com o dispositivo.
-
Crie interfaces definidas pelo driver que outros drivers podem usar.
- Inicialize o suporte à WMI (Instrumentação de Gerenciamento do Windows ).
-
Crie objetos de interrupção, se o driver manipular interrupções do dispositivo.
-
Habilite transações de DMA (acesso direto à memória), se o driver manipular operações de DMA.
Se a função de retorno de chamada EvtDriverDeviceAdd de um driver criar um objeto de dispositivo, mas não retornar STATUS_SUCCESS, a estrutura excluirá o objeto do dispositivo e seus dispositivos filho.
Se a função de retorno de chamada EvtDriverDeviceAdd de um driver de função não retornar STATUS_SUCCESS, o gerenciador de E/S não criará uma pilha de dispositivos para o dispositivo.
Se a função de retorno de chamada EvtDriverDeviceAdd de um driver de filtro não retornar STATUS_SUCCESS, a estrutura converterá o valor retornado em STATUS_SUCCESS e o gerenciador de E/S criará a pilha de dispositivos sem o driver de filtro.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Versão mínima do KMDF | 1.0 |
Versão mínima do UMDF | 2,0 |
Cabeçalho | wdfdriver.h (inclua Wdf.h) |
IRQL | PASSIVE_LEVEL |