Fungsi WdfRegistryQueryString (wdfregistry.h)
[Berlaku untuk KMDF dan UMDF]
Metode WdfRegistryQueryString mengambil data string yang saat ini ditetapkan ke nilai string registri tertentu dan menetapkan string ke objek string kerangka kerja tertentu.
Sintaks
NTSTATUS WdfRegistryQueryString(
[in] WDFKEY Key,
[in] PCUNICODE_STRING ValueName,
[in] WDFSTRING String
);
Parameter
[in] Key
Handel ke objek kunci registri yang mewakili kunci registri yang dibuka.
[in] ValueName
Penunjuk ke struktur UNICODE_STRING yang berisi nama untuk nilai registri.
[in] String
Handel ke objek string kerangka kerja. Kerangka kerja akan menetapkan data string nilai registri ke objek ini.
Nilai kembali
WdfRegistryQueryString mengembalikan STATUS_SUCCESS jika operasi berhasil. Jika tidak, metode mungkin mengembalikan salah satu nilai berikut:
Menampilkan kode | Deskripsi |
---|---|
|
WdfRegistryQueryString tidak dipanggil di IRQL = PASSIVE_LEVEL. |
|
Parameter yang tidak valid ditentukan. |
|
Memori tidak cukup untuk menyelesaikan operasi. |
|
Driver tidak membuka kunci registri dengan akses KEY_QUERY_VALUE, KEY_READ, atau KEY_ALL_ACCESS. |
|
Jenis data nilai registri yang ditentukan parameter ValueName tidak REG_SZ. |
|
Nilai registri tidak tersedia. |
|
Nilai registri ada di bawah kunci yang ditentukan, tetapi kosong. |
Untuk daftar nilai pengembalian lain yang mungkin dikembalikan oleh metode WdfRegistryQueryString , lihat Kesalahan Pembuatan Objek Kerangka Kerja.
Metode ini juga dapat mengembalikan nilai NTSTATUS lainnya.
Pemeriksaan bug terjadi jika driver menyediakan handel objek yang tidak valid.
Keterangan
Untuk mendapatkan string dari objek string, driver Anda dapat memanggil WdfStringGetUnicodeString.
Untuk informasi selengkapnya tentang objek kunci registri, lihat Menggunakan Registri di Driver Framework-Based.
Contoh
Contoh kode berikut membuat objek string, mengambil data string dari kunci registri, dan mendapatkan data string dari objek string.
UNICODE_STRING str;
WDFSTRING string;
NTSTATUS status;
DECLARE_CONST_UNICODE_STRING(valueName, STRING_VALUE_NAME);
status = WdfStringCreate(
NULL,
WDF_NO_OBJECT_ATTRIBUTES,
&string
);
if (NT_SUCCESS(status)) {
status = WdfRegistryQueryString(
Key,
&valueName,
string
);
if (NT_SUCCESS(status)) {
WdfStringGetUnicodeString(
string,
&str
);
}
}
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Versi KMDF minimum | 1,0 |
Versi UMDF minimum | 2.0 |
Header | wdfregistry.h (termasuk Wdf.h) |
Pustaka | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | PASSIVE_LEVEL |
Aturan kepatuhan DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |