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 de 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.

Valor retornado

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 motorista de ônibus detecta um dispositivo que tem uma ID (identificador de hardware) 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 em 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:

Alguns drivers, especialmente drivers de filtro, podem não criar objetos de dispositivo para alguns dispositivos. Se uma função de retorno de chamada EvtDriverDeviceAdd não criar um objeto de dispositivo, ela ainda deverá retornar STATUS_SUCCESS, a menos que um erro tenha sido encontrado.

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 do dispositivo sem o driver de filtro.

Requisitos

   
Plataforma de Destino Universal
Versão mínima do KMDF 1,0
Versão mínima do UMDF 2,0
Cabeçalho wdfdriver.h (include Wdf.h)
IRQL PASSIVE_LEVEL

Confira também

WDFDEVICE_INIT

WDF_DRIVER_CONFIG

WdfDriverCreate