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 |
---|---|
|
Driver menginisialisasi FDO alih-alih PDO. |
|
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) |