Bagikan melalui


Fungsi WdfPdoInitAddDeviceText (wdfpdo.h)

[Hanya berlaku untuk KMDF]

Metode WdfPdoInitAddDeviceText menambahkan deskripsi perangkat dan lokasi perangkat ke perangkat, untuk lokal tertentu.

Sintaks

NTSTATUS WdfPdoInitAddDeviceText(
  [in] PWDFDEVICE_INIT  DeviceInit,
  [in] PCUNICODE_STRING DeviceDescription,
  [in] PCUNICODE_STRING DeviceLocation,
  [in] LCID             LocaleId
);

Parameter

[in] DeviceInit

Penunjuk ke struktur WDFDEVICE_INIT .

[in] DeviceDescription

Penunjuk ke struktur UNICODE_STRING yang berisi deskripsi perangkat, diformat untuk lokal tertentu. Driver dapat mengalokasikan buffer string dari kumpulan halaman.

[in] DeviceLocation

Penunjuk ke struktur UNICODE_STRING yang berisi deskripsi lokasi di bus tempat perangkat induk menemukan anak. Driver dapat mengalokasikan buffer string dari kumpulan halaman.

[in] LocaleId

Pengidentifikasi lokal (LCID) yang mewakili lokal string Unicode. Untuk informasi selengkapnya, lihat Pengidentifikasi Lokal.

Nilai kembali

Jika operasi berhasil, metode mengembalikan STATUS_SUCCESS. Nilai pengembalian tambahan meliputi:

Menampilkan kode Deskripsi
STATUS_INVALID_DEVICE_REQUEST
Driver menginisialisasi FDO alih-alih PDO.
STATUS_INSUFFICIENT_RESOURCES
Pengandar tidak dapat mengalokasikan ruang untuk menyimpan string.
 

Metode ini mungkin juga mengembalikan nilai NTSTATUS lainnya.

Keterangan

Kerangka kerja menyimpan teks perangkat yang ditentukan dan meneruskannya ke manajer PnP sebagai respons terhadap permintaan IRP_MN_QUERY_DEVICE_TEXT . Teks yang Anda berikan akan membantu pengguna mengidentifikasi perangkat. Manajer PnP terkadang menampilkan teks saat mencoba menginstal driver tambahan untuk perangkat.

Anda dapat memanggil WdfPdoInitAddDeviceText beberapa kali, menambahkan teks perangkat untuk beberapa lokal. Ketika sistem menampilkan teks, sistem memilih teks yang cocok dengan lokal saat ini, jika tersedia. Jika tidak, ini akan menggunakan string untuk lokal default. Driver dapat menentukan lokal default driver dengan memanggil WdfPdoInitSetDefaultLocale.

Driver harus memanggil WdfPdoInitAddDeviceText sebelum memanggil WdfDeviceCreate. Untuk informasi selengkapnya tentang memanggil WdfDeviceCreate, lihat Membuat Objek Perangkat Kerangka Kerja.

Contoh

Contoh kode berikut menyediakan string Unicode untuk lokasi dan deskripsi perangkat. Deskripsi mencakup nomor instans. Untuk contoh lengkap yang menggunakan WdfPdoInitAddDeviceText, lihat driver sampel 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;
}

Persyaratan

Persyaratan Nilai
Target Platform Universal
Versi KMDF minimum 1,0
Header wdfpdo.h (termasuk Wdf.h)
Pustaka Wdf01000.sys (lihat Penerapan Versi Pustaka Kerangka Kerja.)
IRQL PASSIVE_LEVEL
Aturan kepatuhan DDI ChildDeviceInitAPI(kmdf), DriverCreate(kmdf), InitFreeDeviceCallback(kmdf), InitFreeDeviceCreate(kmdf), InitFreeNull(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf), PdoInitFreeDeviceCallback(kmdf), PdoInitFreeDeviceCreate(kmdf)

Lihat juga

WdfPdoInitSetDefaultLocale