EVT_WDF_DRIVER_DEVICE_ADD コールバック関数 (wdfdriver.h)
[KMDF と UMDF に適用]
ドライバーの EvtDriverDeviceAdd イベント コールバック関数は、プラグ アンド プレイ (PnP) マネージャーがデバイスの存在を報告すると、デバイスの初期化操作を実行します。
構文
EVT_WDF_DRIVER_DEVICE_ADD EvtWdfDriverDeviceAdd;
NTSTATUS EvtWdfDriverDeviceAdd(
[in] WDFDRIVER Driver,
[in, out] PWDFDEVICE_INIT DeviceInit
)
{...}
パラメーター
[in] Driver
ドライバーを表すフレームワーク ドライバー オブジェクトへのハンドル。
[in, out] DeviceInit
フレームワークによって割り当てられた WDFDEVICE_INIT 構造体へのポインター。
戻り値
EvtDriverDeviceAdd コールバック関数は、操作が成功した場合にSTATUS_SUCCESSを返す必要があります。 それ以外の場合、このコールバック関数は Ntstatus.h で定義されているエラー状態値のいずれかを返す必要があります。 詳細については、「解説」を参照してください。
注釈
PnP デバイスをサポートする各フレームワーク ベースのドライバーは、 EvtDriverDeviceAdd コールバック関数を提供する必要があります。 ドライバーは、WdfDriverCreate を呼び出す前に、コールバック関数のアドレスをWDF_DRIVER_CONFIG構造体に配置する必要があります。
このフレームワークは、バス ドライバーが、ドライバーがサポートするハードウェア ID と一致するハードウェア識別子 (ID) を持つデバイスを検出した後、ドライバーの EvtDriverDeviceAdd コールバック関数を呼び出します。 ドライバーがサポートするハードウェア ID を指定するには、INF ファイルを指定します。このファイルは、デバイスの 1 つがコンピューターに初めて接続されるときにオペレーティング システムがドライバーをインストールするために使用します。 システムで INF ファイルとハードウェア ID を使用する方法の詳細については、「セットアップで ドライバーを選択する方法」を参照してください。
ドライバーの EvtDriverDeviceAdd コールバック関数は、通常、次の初期化操作の少なくとも一部を実行します。
-
ドライバーが I/O 要求を受信できるように、I/O キューを作成します。
-
アプリケーションがデバイス との通信に使用するデバイス インターフェイスを作成します。
-
他のドライバーが使用できるドライバー定義インターフェイスを作成します。
- Windows Management Instrumentation (WMI) のサポートを初期化します。
-
ドライバーがデバイスの割り込みを処理する場合は、割り込みオブジェクトを作成します。
ドライバーの EvtDriverDeviceAdd コールバック関数がデバイス オブジェクトを作成するが、STATUS_SUCCESSを返さない場合、フレームワークはデバイス オブジェクトとその子デバイスを削除します。
関数ドライバーの EvtDriverDeviceAdd コールバック関数がSTATUS_SUCCESSを返さない場合、I/O マネージャーはデバイスのデバイス スタックを構築しません。
フィルター ドライバーの EvtDriverDeviceAdd コールバック関数がSTATUS_SUCCESSを返さない場合、フレームワークは戻り値をSTATUS_SUCCESSに変換し、I/O マネージャーはフィルター ドライバーなしでデバイス スタックをビルドします。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
最小 KMDF バージョン | 1.0 |
最小 UMDF バージョン | 2.0 |
Header | wdfdriver.h (Wdf.h を含む) |
IRQL | PASSIVE_LEVEL |