EVT_WDF_CHILD_LIST_DEVICE_REENUMERATED コールバック関数 (wdfchildlist.h)
[KMDF にのみ適用]
ドライバーの EvtChildListDeviceReenumerated イベント コールバック関数を使用すると、ドライバーは、指定したデバイスの再開を承認または取り消します。
構文
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
)
{...}
パラメーター
[in] ChildList
フレームワークの子リスト オブジェクトへのハンドル。
[in] OldDevice
フレームワーク デバイス オブジェクトへのハンドル。
[in] OldAddressDescription
子アドレスの説明を識別する WDF_CHILD_ADDRESS_DESCRIPTION_HEADER 構造体への省略可能なポインター(NULL)。 指定された場合、この構造体には、デバイスが再有効化される前に関連していたアドレス情報が含まれます。
[out] NewAddressDescription
子アドレスの説明を識別する WDF_CHILD_ADDRESS_DESCRIPTION_HEADER 構造体への省略可能なポインター(NULL)。 コールバック関数を指定すると、この構造体にデバイスに関する新しいアドレス情報が入力されます。
戻り値
EvtChildListDeviceReenumerated コールバック関数は、再開を承認するために TRUE を返し、取り消すには FALSE を返します。
注釈
バス ドライバーが動的列挙を使用している場合は、WdfFdoInitSetDefaultChildListConfig または WdfChildListCreate を呼び出すことによって、EvtChildListDeviceReenumerated コールバック関数を登録できます。
フレームワーク ベースのバス ドライバーは、関数ドライバーから特定の子デバイスを再有効化する要求を受け取ることができます。 これらの要求の詳細については、「列挙要求の 処理」を参照してください。
バス ドライバーの EvtChildListDeviceReenumerated コールバック関数を使用すると、ドライバーは再再開を承認またはキャンセルできます。 OldDevice パラメーターはデバイスを識別し、ChildList パラメーターはデバイスがメンバーである子リストを識別します。 コールバック関数が TRUE を 返して再開を承認する場合、またはコールバック関数が存在しない場合、フレームワークは次の処理を行います。
- デバイスのフレームワーク デバイス オブジェクト ( OldDevice によって識別される) を削除しますが、デバイスの識別の説明は保持します。
- ドライバーの EvtChildListCreateDevice コールバック関数を呼び出し、保存された ID の説明を渡して、コールバック関数が WdfDeviceCreate を呼び出して新しいフレームワーク デバイス オブジェクトを作成できるようにします。
動的列挙の詳細については、「 バス上のデバイスの列挙」を参照してください。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
最小 KMDF バージョン | 1.0 |
Header | wdfchildlist.h (Wdf.h を含む) |
IRQL | <= DISPATCH_LEVEL |