[KMDF にのみ適用]
ドライバーの EvtChildListAddressDescriptionCleanup イベント コールバック関数は、ドライバーの EvtChildListAddressDescriptionDuplicate コールバック関数が割り当てられた アドレス記述のメモリ割り当てを解放します。
構文
EVT_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_CLEANUP EvtWdfChildListAddressDescriptionCleanup;
void EvtWdfChildListAddressDescriptionCleanup(
[in] WDFCHILDLIST ChildList,
[in, out] PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER AddressDescription
)
{...}
パラメーター
[in] ChildList
フレームワークの子リスト オブジェクトへのハンドル。
[in, out] AddressDescription
アドレスの説明を識別する WDF_CHILD_ADDRESS_DESCRIPTION_HEADER 構造体へのポインター。
戻り値
何一つ
備考
バス ドライバーが動的列挙 使用している場合は、WdfFdoInitSetDefaultChildListConfig または WdfChildListCreate を呼び出すことによって、EvtChildListAddressDescriptionCleanup コールバック関数を登録できます。
アドレスの説明が、動的に割り当てられたメモリに格納されている追加情報を指しており、そのメモリが EvtChildListAddressDescriptionDuplicate コールバック関数によって割り当てられている場合、ドライバーは EvtChildListAddressDescriptionCleanup コールバック関数を提供する必要があります。
通常、EvtChildListAddressDescriptionDuplicate コールバック関数は、ExAllocatePool 呼び出すことによってメモリを割り当てます。 EvtChildListAddressDescriptionCleanup コールバック関数は、ExFreePool 呼び出すことによって、そのメモリの割り当てを解除する必要があります。 このコールバック関数は、アドレス記述の残りの部分の割り当てを解除しないでください。 つまり、コールバック関数は、AddressDescription パラメーターが指すアドレス記述構造体の割り当てを解除してはなりません。記述構造体が指す追加のメモリ割り当てのみが割り当て解除される必要があります。
動的列挙の詳細については、「バス上のデバイスの列挙」を参照してください。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | 万国 |
最小 KMDF バージョン | 1.0 |
ヘッダー | wdfchildlist.h (Wdf.h を含む) |
IRQL | <= DISPATCH_LEVEL |
関連項目
EvtChildListAddressDescriptionDuplicate
ExAllocatePool の
WDF_CHILD_ADDRESS_DESCRIPTION_HEADER
WdfFdoInitSetDefaultChildListConfig の