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

[Aplica-se somente ao KMDF]

A função de retorno de chamada de evento EvtChildListAddressDescriptionCleanup de um driver libera todas as alocações de memória para uma descrição de endereço alocada pela função de retorno de chamada EvtChildListAddressDescriptionDuplicate do driver.

Sintaxe

EVT_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_CLEANUP EvtWdfChildListAddressDescriptionCleanup;

void EvtWdfChildListAddressDescriptionCleanup(
  [in]      WDFCHILDLIST ChildList,
  [in, out] PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER AddressDescription
)
{...}

Parâmetros

[in] ChildList

Um identificador para um objeto de lista filho da estrutura.

[in, out] AddressDescription

Um ponteiro para uma estrutura WDF_CHILD_ADDRESS_DESCRIPTION_HEADER que identifica uma descrição de endereço.

Retornar valor

Nenhum

Comentários

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

Se uma descrição de endereço apontar para informações adicionais armazenadas na memória alocada dinamicamente e se essa memória for alocada por uma função de retorno de chamada EvtChildListAddressDescriptionDuplicate , o driver deverá fornecer uma função de retorno de chamada EvtChildListAddressDescriptionCleanup .

Normalmente, a função de retorno de chamada EvtChildListAddressDescriptionDuplicate aloca memória chamando ExAllocatePool. A função de retorno de chamada EvtChildListAddressDescriptionCleanup deve desalocar essa memória chamando ExFreePool. Essa função de retorno de chamada não deve tentar desalocar o restante da descrição do endereço. Em outras palavras, a função de retorno de chamada não deve desalocar a estrutura de descrição do endereço para a qual o parâmetro AddressDescription aponta; ele deve desalocar apenas alocações de memória adicionais para as quais a estrutura de descrição aponta.

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

EvtChildListAddressDescriptionDuplicate

ExAllocatePool

ExFreePool

WDF_CHILD_ADDRESS_DESCRIPTION_HEADER

WdfChildListCreate

WdfFdoInitSetDefaultChildListConfig