функция обратного вызова EVT_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_CLEANUP (wdfchildlist.h)

[Относится только к KMDF]

Функция обратного вызова события EvtChildListIdentificationDescriptionCleanup освобождает все выделения памяти для описания идентификации, выделенного функцией обратного вызова EvtChildListIdentificationDescriptionDuplicate драйвера.

Синтаксис

EVT_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_CLEANUP EvtWdfChildListIdentificationDescriptionCleanup;

void EvtWdfChildListIdentificationDescriptionCleanup(
  [in]      WDFCHILDLIST ChildList,
  [in, out] PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription
)
{...}

Параметры

[in] ChildList

Дескриптор объекта дочернего списка платформы.

[in, out] IdentificationDescription

Указатель на структуру WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER , которая идентифицирует описание идентификации.

Возвращаемое значение

None

Remarks

Если драйвер шины использует динамическое перечисление, он может зарегистрировать функцию обратного вызова EvtChildListIdentificationDescriptionCleanup , вызвав WdfFdoInitSetDefaultChildListConfig или WdfChildListCreate.

Если описание идентификации указывает на дополнительные сведения, хранящиеся в динамически выделенной памяти, и если эта память выделена функцией обратного вызова EvtChildListIdentificationDescriptionDuplicate , драйвер должен предоставить функцию обратного вызова EvtChildListIdentificationDescriptionCleanup .

Как правило, функция обратного вызова EvtChildListIdentificationDescriptionDuplicate выделяет память путем вызова ExAllocatePool. Функция обратного вызова EvtChildListIdentificationDescriptionCleanup должна освободить эту память, вызвав ExFreePool. Эта функция обратного вызова не должна пытаться освободить остальную часть описания идентификации. Иными словами, функция обратного вызова не должна отменять выделение структуры описания адреса, на которую указывает параметр IdentificationDescription ; он должен освободить только дополнительные выделения памяти, на которые указывает структура описания.

Дополнительные сведения о динамическом перечислении см. в разделе Перечисление устройств в шине.

Требования

Требование Значение
Целевая платформа Универсальное
Минимальная версия KMDF 1,0
Верхняя часть wdfchildlist.h (включая Wdf.h)
IRQL <= DISPATCH_LEVEL

См. также раздел

EvtChildListIdentificationDescriptionDuplicate

ExAllocatePool

ExFreePool

WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER

WdfChildListCreate

WdfFdoInitSetDefaultChildListConfig