Bagikan melalui


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
STATUS_INVALID_DEVICE_REQUEST

WdfRegistryQueryString tidak dipanggil di IRQL = PASSIVE_LEVEL.

STATUS_INVALID_PARAMETER
Parameter yang tidak valid ditentukan.
STATUS_INSUFFICIENT_RESOURCES
Memori tidak cukup untuk menyelesaikan operasi.
STATUS_ACCESS_DENIED
Driver tidak membuka kunci registri dengan akses KEY_QUERY_VALUE, KEY_READ, atau KEY_ALL_ACCESS.
STATUS_OBJECT_TYPE_MISMATCH
Jenis data nilai registri yang ditentukan parameter ValueName tidak REG_SZ.
STATUS_OBJECT_NAME_NOT_FOUND
Nilai registri tidak tersedia.
STATUS_RESOURCE_DATA_NOT_FOUND
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)

Lihat juga

UNICODE_STRING

WdfRegistryQueryMemory

WdfRegistryQueryMultiString

WdfRegistryQueryULong

WdfRegistryQueryUnicodeString

WdfRegistryQueryValue

WdfStringCreate

WdfStringGetUnicodeString