WdfPdoInitAddDeviceText 関数 (wdfpdo.h)
[KMDF にのみ適用]
WdfPdoInitAddDeviceText メソッドは、指定されたロケールのデバイスの説明とデバイスの場所をデバイスに追加します。
構文
NTSTATUS WdfPdoInitAddDeviceText(
[in] PWDFDEVICE_INIT DeviceInit,
[in] PCUNICODE_STRING DeviceDescription,
[in] PCUNICODE_STRING DeviceLocation,
[in] LCID LocaleId
);
パラメーター
[in] DeviceInit
WDFDEVICE_INIT構造体へのポインター。
[in] DeviceDescription
指定 したロケール 用に書式設定されたデバイスの説明を含むUNICODE_STRING構造体へのポインター。 ドライバーは、ページ プールから文字列のバッファーを割り当てることができます。
[in] DeviceLocation
親 デバイスが子 を見つけたバス上の場所の説明を含むUNICODE_STRING構造体へのポインター。 ドライバーは、ページ プールから文字列のバッファーを割り当てることができます。
[in] LocaleId
Unicode 文字列のロケールを表すロケール識別子 (LCID)。 詳細については、「 ロケール識別子」を参照してください。
戻り値
操作が成功した場合、メソッドは STATUS_SUCCESS を返します。 その他の戻り値は次のとおりです。
リターン コード | 説明 |
---|---|
|
ドライバーは PDO ではなく FDO を初期化しています。 |
|
ドライバーは、文字列を格納する領域を割り当てませんでした。 |
メソッドは、他の NTSTATUS 値も返す場合があります。
注釈
フレームワークは、指定したデバイス テキストを格納し、 IRP_MN_QUERY_DEVICE_TEXT 要求に応答して PnP マネージャーに渡します。 指定するテキストは、ユーザーがデバイスを識別するのに役立ちます。 PnP マネージャーは、デバイスの追加のドライバーをインストールしようとしているときにテキストを表示することがあります。
WdfPdoInitAddDeviceText を複数回呼び出して、複数のロケールのデバイス テキストを追加できます。 システムは、テキストを表示するときに、現在のロケールに一致するテキスト (使用可能な場合) を選択します。 それ以外の場合は、既定のロケールに文字列が使用されます。 ドライバーは、 WdfPdoInitSetDefaultLocale を呼び出すことによって、ドライバーの既定のロケールを指定できます。
ドライバーは、WdfDeviceCreate を呼び出す前に WdfPdoInitAddDeviceText を呼び出す必要があります。 WdfDeviceCreate の呼び出しの詳細については、「Framework デバイス オブジェクトの作成」を参照してください。
例
次のコード例では、デバイスの場所と説明の Unicode 文字列を提供します。 説明にはインスタンス番号が含まれます。 WdfPdoInitAddDeviceText を使用する完全な例については、KbFiltr サンプル ドライバーを参照してください。
DECLARE_CONST_UNICODE_STRING(deviceLocation,L"Keyboard Filter\0" );
DECLARE_UNICODE_STRING_SIZE(buffer, MAX_ID_LEN);
status = RtlUnicodeStringPrintf(
&buffer,
L"Keyboard_Filter_%02d",
InstanceNo
);
if (!NT_SUCCESS(status)) {
goto Cleanup;
}
status = WdfPdoInitAddDeviceText(
pDeviceInit,
&buffer,
&deviceLocation,
0x409
);
if (!NT_SUCCESS(status)) {
goto Cleanup;
}
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
最小 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) |