次の方法で共有


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 構造体へのポインター。

戻り値

なし

解説

バス ドライバーが動的列挙を使用している場合は、WdfFdoInitSetDefaultChildListConfig または WdfChildListCreate を呼び出すことによって、EvtChildListIdentificationDescriptionCleanup コールバック関数を登録できます。

識別の説明が、動的に割り当てられたメモリに格納されている追加情報を指していて、そのメモリが EvtChildListIdentificationDescriptionDuplicate コールバック関数によって割り当てられている場合、ドライバーは EvtChildListIdentificationDescriptionCleanup コールバック関数を提供する必要があります。

通常、 EvtChildListIdentificationDescriptionDuplicate コールバック関数は ExAllocatePool を呼び出してメモリを割り当てます。 EvtChildListIdentificationDescriptionCleanup コールバック関数は、ExFreePool を呼び出してメモリの割り当てを解除する必要があります。 このコールバック関数は、識別記述の残りの部分の割り当てを解除しないでください。 つまり、コールバック関数は、 IdentificationDescription パラメーターが指すアドレス記述構造の割り当てを解除してはなりません。説明構造が指す追加のメモリ割り当てのみを割り当て解除する必要があります。

動的列挙の詳細については、「 バス上のデバイスの列挙」を参照してください。

要件

要件
対象プラットフォーム ユニバーサル
最小 KMDF バージョン 1.0
Header wdfchildlist.h (Wdf.h を含む)
IRQL <= DISPATCH_LEVEL

こちらもご覧ください

EvtChildListIdentificationDescriptionDuplicate

ExAllocatePool

ExFreePool

WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER

WdfChildListCreate

WdfFdoInitSetDefaultChildListConfig