Partilhar via


Método IDriverEntry::OnDeviceAdd (wudfddi.h)

[Aviso: UMDF 2 é a versão mais recente do UMDF e substitui o UMDF 1. Todos os novos drivers UMDF devem ser gravados usando UMDF 2. Nenhum recurso novo está sendo adicionado ao UMDF 1 e há suporte limitado para UMDF 1 em versões mais recentes do Windows 10. Os drivers universais do Windows devem usar o UMDF 2. Para obter mais informações, consulte Introdução aoda UMDF .]

O método onDeviceAdd adiciona um novo dispositivo a um sistema.

Sintaxe

HRESULT OnDeviceAdd(
  [in] IWDFDriver           *pWdfDriver,
  [in] IWDFDeviceInitialize *pWdfDeviceInit
);

Parâmetros

[in] pWdfDriver

Um ponteiro para a interface IWDFDriver do objeto de driver pai ao qual o novo dispositivo pertence.

[in] pWdfDeviceInit

Um ponteiro para a interface IWDFDeviceInitialize que o driver usa para inicializar o dispositivo recém-criado.

Valor de retorno

OnDeviceAdd retornará S_OK se a operação for bem-sucedida. Caso contrário, esse método retornará um dos códigos de erro definidos em Winerror.h. O driver deve retornar S_OK somente se ele tiver chamado com êxito o método IWDFDriver::CreateDevice para criar o objeto de dispositivo da estrutura . Se o driver retornar um código de erro, o UMDF dividirá toda a pilha do dispositivo, independentemente de o driver ser um driver de filtro ou um driver de função.

Observações

Um novo objeto de dispositivo é criado para cada dispositivo carregado no processo de host do driver. Quando um novo dispositivo chega ao sistema, a estrutura chama OnDeviceAdd para notificar o driver da chegada e passa o do IWDFDriver e IWDFDeviceInitialize interfaces de na chamada. O driver pode chamar o método IWDFDeviceInitialize::RetrieveDevicePropertyStore para consultar as informações do dispositivo fornecidas como parte da instalação do dispositivo. O driver deve chamar o método IWDFDriver::CreateDevice para configurar e criar o dispositivo. Se o driver não chamar IWDFDriver::CreateDevice antes de retornar S_OK, a UMDF determinará que o comportamento do driver está incorreto e encerrará o processo de host.

Qualquer driver cujo método OnDeviceAdd retorna S_OK receberá posteriormente uma chamada para seu método IPnpCallbackHardware::OnReleaseHardware quando o UMDF derrubar a pilha do dispositivo.

Não use a interface IWDFDeviceInitialize para a qual o parâmetro pWdfDeviceInit aponta depois que o driver chama IWDFDriver::CreateDevice.

Para obter mais informações, consulte Adicionando um dispositivo.

Requisitos

Requisito Valor
da Plataforma de Destino Windows
cabeçalho wudfddi.h (inclua Wudfddi.h)

Consulte também

IDriverEntry

IPnpCallbackHardware::OnReleaseHardware

IWDFDeviceInitialize

IWDFDeviceInitialize::RetrieveDevicePropertyStore

do IWDFDriver

IWDFDriver::CreateDevice