次の方法で共有


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 を返します。 その他の戻り値は次のとおりです。

リターン コード 説明
STATUS_INVALID_DEVICE_REQUEST
ドライバーは PDO ではなく FDO を初期化しています。
STATUS_INSUFFICIENT_RESOURCES
ドライバーは、文字列を格納する領域を割り当てませんでした。
 

メソッドは、他の 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)

こちらもご覧ください

WdfPdoInitSetDefaultLocale