WdfPdoInitAddHardwareID 関数 (wdfpdo.h)
[KMDF にのみ適用]
WdfPdoInitAddHardwareID メソッドは、子デバイスのハードウェア ID の一覧にハードウェア ID を追加します。
構文
NTSTATUS WdfPdoInitAddHardwareID(
[in] PWDFDEVICE_INIT DeviceInit,
[in] PCUNICODE_STRING HardwareID
);
パラメーター
[in] DeviceInit
WDFDEVICE_INIT構造体へのポインター。
[in] HardwareID
ハードウェア ID 文字列を含む UNICODE_STRING 構造体へのポインター。 ドライバーは、ページ プールから文字列のバッファーを割り当てることができます。
戻り値
操作が成功した場合、メソッドは STATUS_SUCCESSを返します。 その他の戻り値は次のとおりです。
リターン コード | 説明 |
---|---|
|
ドライバーは、PDO ではなく FDO を初期化しています。 |
|
ドライバーは、ハードウェア ID 文字列を格納する領域を割り当てませんでした。 |
メソッドは、他の NTSTATUS 値を返す場合もあります。
注釈
ドライバーは、デバイスの 1 つ以上のハードウェア ID を追加できます。 これらは、最適な一致から最悪の一致に向けて追加する必要があります。 フレームワークは、追加された順序で PnP マネージャーに ID を配信します。 ハードウェア ID の詳細については、「 デバイス識別文字列 」および 「セットアップでドライバーを選択する方法」を参照してください。
ドライバーは、WdfDeviceCreate を呼び出す前に WdfPdoInitAddHardwareID を呼び出す必要があります。 WdfDeviceCreate の呼び出しの詳細については、「フレームワーク デバイス オブジェクトの作成」を参照してください。
例
次のコード例では、 KbFiltr サンプル ドライバーが使用するハードウェア ID を報告します。
#define KBFILTR_DEVICE_ID L"{A65C87F9-BE02-4ed9-92EC-012D416169FA}\\KeyboardFilter\0"
DECLARE_CONST_UNICODE_STRING(hardwareId, KBFILTR_DEVICE_ID);
status = WdfPdoInitAddHardwareID(
pDeviceInit,
&hardwareId
);
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
最小 KMDF バージョン | 1.0 |
Header | wdfpdo.h (Wdf.h を含む) |
Library | Wdf01000.sys (「Framework ライブラリのバージョン管理」を参照)。 |
IRQL | PASSIVE_LEVEL |
DDI コンプライアンス規則 | ChildDeviceInitAPI(kmdf), DriverCreate(kmdf)、InitFreeDeviceCallback(kmdf)、InitFreeDeviceCreate(kmdf)、InitFreeNull(kmdf)、KmdfIrql(kmdf)、KmdfIrql2(kmdf)、KmdfIrqlExplicit(kmdf)、PdoDeviceInitAPI(kmdf)、PdoInitFreeDeviceCallback(kmdf)、PdoInitFreeDeviceCreate(kmdf) |