Bagikan melalui


Fungsi StorPortRegistryRead (storport.h)

Rutinitas StorPortRegistryRead membaca data registri untuk perangkat dan nilai yang ditunjukkan.

Sintaks

BOOLEAN StorPortRegistryRead(
  PVOID  HwDeviceExtension,
  PUCHAR ValueName,
  ULONG  Global,
  ULONG  Type,
  PUCHAR Buffer,
  PULONG BufferLength
);

Parameter

HwDeviceExtension

Penunjuk ke ekstensi perangkat keras. Ini adalah area penyimpanan per HBA yang dialokasikan dan diinisialisasi driver port atas nama driver miniport. Driver Miniport biasanya menyimpan informasi khusus HBA dalam ekstensi ini, seperti status HBA dan rentang akses yang dipetakan untuk HBA. Area ini tersedia untuk driver miniport segera setelah driver miniport memanggil StorPortInitialize. Pengandar porta membebaskan memori ini ketika melepas perangkat. Driver miniport harus berjalan di IRQL PASSIVE_LEVEL ketika memanggil rutinitas ini.

ValueName

Penunjuk ke UCHAR yang menentukan nama nilai registri yang kontennya akan dibaca.

Global

Menunjukkan, ketika bukan nol, driver port membaca konten nilai registri yang ditentukan oleh ValueName di bawah subkuntang Parameter\Perangkat. Nilai di bawah Kunci perangkat berlaku untuk semua adaptor dalam sistem. Ketika Global adalah nol, driver port membaca konten nilai registri yang ditentukan oleh ValueName di bawah subkunci Parameters\Device(d), di mana (d) adalah nilai desimal yang sesuai dengan nomor port adaptor tertentu. Dalam hal ini, data yang diambil khusus adaptor.

Type

Menunjukkan jenis data nilai registri. Parameter ini harus memiliki salah satu nilai dalam tabel berikut.

Jenis data nilai registri Makna
REG_NONE Tidak ada tipe data yang ditentukan.
REG_SZ Menunjukkan string Unicode yang dihentikan NULL.
REG_EXPAND_SZ Menunjukkan string Unicode yang dihentikan NULL yang menyertakan variabel lingkungan yang harus diperluas untuk mendapatkan string lengkap. Misalnya, nama jalur mungkin disimpan sebagai string berikut: "%USERPROFILE%\Application Data ". Dalam contoh ini, variabel lingkungan USERPROFILE harus diperluas untuk mendapatkan nama jalur yang sebenarnya.
REG_BINARY Menunjukkan data biner mentah.
REG_DWORD Menunjukkan nilai kata ganda 32-bit.
REG_DWORD_LITTLE_ENDIAN Menunjukkan nilai kata ganda 32-bit, dalam urutan little-endian. Ini identik dengan REG_DWORD.
REG_DWORD_BIG_ENDIAN Menunjukkan nilai kata ganda 32-bit, dalam urutan big-endian.
REG_LINK Menunjukkan string Unicode yang berisi tautan simbolis.
REG_MULTI_SZ Menunjukkan serangkaian string yang dihentikan NULL.
REG_RESOURCE_LIST Menunjukkan bahwa nilai registri berisi daftar sumber daya perangkat keras, juga dikenal sebagai "peta sumber daya perangkat keras", yang disimpan di bawah sarang HKEY_LOCAL_MACHINE\HARDWARE\ResourceMap.
REG_FULL_RESOURCE_DESCRIPTOR Menunjukkan bahwa nilai registri berisi deskripsi sumber daya perangkat keras yang disimpan di bawah sarang HKEY_LOCAL_MACHINE\HARDWARE\Description.
REG_RESOURCE_REQUIREMENTS_LIST Menunjukkan bahwa nilai registri berisi daftar persyaratan sumber daya perangkat keras yang disimpan di bawah pohon HKEY_LOCAL_MACHINE\HARDWARE\ResourceMap.
REG_QWORD Menunjukkan bahwa nilai registri berisi angka 64-bit.
REG_QWORD_LITTLE_ENDIAN Menunjukkan bahwa nilai registri berisi angka 64-bit. Ini adalah jenis data yang sama dengan REG_QWORD.

Buffer

Penunjuk ke buffer tempat informasi registri yang diambil akan dilaporkan.

BufferLength

Penunjuk ke ULONG yang berisi ukuran, dalam byte, dari data registri yang dikembalikan.

Mengembalikan nilai

StorPortRegistryRead mengembalikan nilai Boolean TRUE jika data yang ditunjukkan oleh ValueName berhasil dikonversi menjadi ASCII dan disalin ke dalam buffer. Rutinitas ini mengembalikan FALSE jika terjadi kesalahan.

Keterangan

Jika StorPortRegistryRead mengembalikan FALSE dengan nilai bukan nol dalam parameter BufferLength, buffer yang diteruskan terlalu kecil dan parameter BufferLength mencerminkan ukuran buffer yang benar yang harus digunakan. Jika rutin mengembalikan FALSE dengan parameter BufferLength diatur ke nol, kesalahan lain telah terjadi.

Buffer yang digunakan dalam rutinitas ini dialokasikan dengan memanggil StorPortAllocateRegistryBuffer dan dibebaskan dengan memanggil StorPortFreeRegistryBuffer.

Persyaratan

Persyaratan Nilai
Target Platform Universal
Header storport.h (termasuk Storport.h)
Pustaka Storport.lib
IRQL PASSIVE_LEVEL
Aturan kepatuhan DDI StorPortIrql(storport)

Lihat juga

StorPortAllocateRegistryBuffer

StorPortFreeRegistryBuffer

StorPortInitialize