EVT_WDF_CHILD_LIST_DEVICE_REENUMERATED função de retorno de chamada (wdfchildlist.h)

[Aplica-se somente ao KMDF]

A função de retorno de chamada de evento EvtChildListDeviceReenumerated de um driver permite que o driver aprove ou cancele uma reenumeração de um dispositivo especificado.

Sintaxe

EVT_WDF_CHILD_LIST_DEVICE_REENUMERATED EvtWdfChildListDeviceReenumerated;

BOOLEAN EvtWdfChildListDeviceReenumerated(
  [in]  WDFCHILDLIST ChildList,
  [in]  WDFDEVICE OldDevice,
  [in]  PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER OldAddressDescription,
  [out] PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER NewAddressDescription
)
{...}

Parâmetros

[in] ChildList

Um identificador para um objeto de lista filho da estrutura.

[in] OldDevice

Um identificador para um objeto de dispositivo de estrutura.

[in] OldAddressDescription

Ponteiro opcional para uma estrutura WDF_CHILD_ADDRESS_DESCRIPTION_HEADER que identifica uma descrição de endereço filho ou NULL. Se fornecida, essa estrutura contém informações de endereço relevantes antes da reenumeração do dispositivo.

[out] NewAddressDescription

Ponteiro opcional para uma estrutura WDF_CHILD_ADDRESS_DESCRIPTION_HEADER que identifica uma descrição de endereço filho ou NULL. Se fornecida, a função de retorno de chamada preencherá essa estrutura com novas informações de endereço sobre o dispositivo.

Retornar valor

A função de retorno de chamada EvtChildListDeviceReenumerated retorna TRUE para aprovar a reenumeração ou FALSE para cancelá-la.

Comentários

Se um driver de barramento estiver usando enumeração dinâmica, ele poderá registrar uma função de retorno de chamada EvtChildListDeviceReenumerated chamando WdfFdoInitSetDefaultChildListConfig ou WdfChildListCreate.

Os drivers de barramento baseados em estrutura podem receber uma solicitação de um driver de função para reenumerar um dispositivo filho específico. Para obter mais informações sobre essas solicitações, consulte Manipulando solicitações de enumeração.

A função de retorno de chamada EvtChildListDeviceReenumerated do driver de ônibus permite que o driver aprove ou cancele a reenumeração. O parâmetro OldDevice identifica o dispositivo e o parâmetro ChildList identifica a lista filho da qual o dispositivo é membro. Se a função de retorno de chamada retornar TRUE para aprovar a reenumeração ou se a função de retorno de chamada não existir, a estrutura fará o seguinte:

  1. Remove o objeto de dispositivo de estrutura do dispositivo (que é identificado por OldDevice), mas mantém a descrição de identificação do dispositivo.
  2. Chama a função de retorno de chamada EvtChildListCreateDevice do driver, passando a descrição de identificação salva para que a função de retorno de chamada possa chamar WdfDeviceCreate para criar um novo objeto de dispositivo de estrutura.
Se o driver de barramento usar descrições de endereço, a função de retorno de chamada EvtChildListDeviceReenumerated receberá ponteiros para duas descrições de endereço. Um aponta para a descrição do endereço associada ao objeto de dispositivo antigo. O outro aponta para uma descrição de endereço que a função de retorno de chamada deve preencher com informações que descrevem o local atual do dispositivo.

Para obter mais informações sobre enumeração dinâmica, consulte Enumerando os dispositivos em um barramento.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Versão mínima do KMDF 1.0
Cabeçalho wdfchildlist.h (inclua Wdf.h)
IRQL <= DISPATCH_LEVEL

Confira também

EvtChildListCreateDevice

WDF_CHILD_ADDRESS_DESCRIPTION_HEADER

WdfChildListCreate

WdfDeviceCreate

WdfFdoInitSetDefaultChildListConfig