EVT_WDF_CHILD_LIST_CREATE_DEVICE コールバック関数 (wdfchildlist.h)
[KMDF にのみ適用]
バス ドライバーのEvtChildListCreateDevice イベント コールバック関数は、動的に列挙された新しいデバイスのフレームワーク デバイス オブジェクトを作成します。
構文
EVT_WDF_CHILD_LIST_CREATE_DEVICE EvtWdfChildListCreateDevice;
NTSTATUS EvtWdfChildListCreateDevice(
[in] WDFCHILDLIST ChildList,
[in] PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription,
[in] PWDFDEVICE_INIT ChildInit
)
{...}
パラメーター
[in] ChildList
ドライバーが WdfChildListAddOrUpdateChildDescriptionAsPresent を呼び出したときに指定したフレームワークの子リスト オブジェクトへのハンドル。
[in] IdentificationDescription
ドライバーが WdfChildListAddOrUpdateChildDescriptionAsPresent を呼び出したときに指定したWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER構造体のコピーへのポインター。
[in] ChildInit
WDFDEVICE_INIT構造体へのポインター。
戻り値
EvtChildListCreateDevice コールバック関数は、STATUS_SUCCESS、または操作が成功した場合、NT_SUCCESS(status) が TRUE に等しい別の状態値を返す必要があります。 それ以外の場合、この関数は、NT_SUCCESS(status) が FALSE である状態値を返す必要があります。
操作が失敗したが、後でドライバーを再試行する必要があると思われる場合、ドライバーの EvtChildListCreateDevice コールバック関数が WdfDeviceCreate を呼び出していない場合、ドライバーはSTATUS_RETRYを返すことができます。 その結果、フレームワークは後で EvtChildListCreateDevice コールバック関数を再度呼び出します。 ドライバーがSTATUS_RETRYを複数回返す場合、フレームワークは失敗したデバイスのコールバック関数の呼び出しを停止します。
注釈
バス ドライバーが動的列挙を使用している場合は、WdfFdoInitSetDefaultChildListConfig または WdfChildListCreate を呼び出すことによって、EvtChildListCreateDevice コールバック関数を登録できます。
ドライバーが WdfChildListAddOrUpdateChildDescriptionAsPresent または WdfChildListUpdateAllChildDescriptionsAsPresent を呼び出した後、フレームワークはドライバーの EvtChildListCreateDevice コールバック関数を呼び出します。 フレームワーク デバイス オブジェクト (PDO) を作成するには、コールバック関数で WdfDeviceCreate を呼び出す必要があります。
WdfDeviceCreate を呼び出す前に、ドライバーは、WDFDEVICE_INIT構造体を初期化するフレームワーク提供の関数を呼び出す必要があります。 これらの関数の詳細については、「 WDFDEVICE_INIT」を参照してください。
WdfDeviceCreate の呼び出しの詳細については、「フレームワーク デバイス オブジェクトの作成」を参照してください。
動的列挙の詳細については、「 バス上のデバイスの列挙」を参照してください。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
最小 KMDF バージョン | 1.0 |
Header | wdfchildlist.h (Wdf.h を含む) |
IRQL | PASSIVE_LEVEL |
こちらもご覧ください
WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER
WdfChildListAddOrUpdateChildDescriptionAsPresent