Fungsi AtaPortRegistryControllerKeyWriteDeferred (irb.h)

Rutinitas AtaPortRegistryControllerKeyWriteDeferred menulis data secara asinkron ke nama nilai yang ditunjukkan di bawah kunci HKLM\CurrentControlSet\Services\<service name>\ControllerNregistri , di mana N adalah jumlah pengontrol.

Catatan Driver port ATA dan model driver miniport ATA dapat diubah atau tidak tersedia di masa depan. Sebagai gantinya, sebaiknya gunakan driver Storport dan model driver miniport Storport .
 

Sintaks

BOOLEAN AtaPortRegistryControllerKeyWriteDeferred(
  [in] PVOID  ChannelExtension,
  [in] UCHAR  ControllerNumber,
  [in] PCHAR  ValueName,
  [in] UCHAR  ValueType,
  [in] PUCHAR Buffer,
       PULONG BufferLength
);

Parameter

[in] ChannelExtension

Penunjuk ke ekstensi saluran.

[in] ControllerNumber

Berisi nomor pengontrol.

[in] ValueName

Berisi nama nilai registri yang akan ditulis.

[in] ValueType

Menunjukkan jenis data yang terkandung dalam nilai registri. Anggota ini harus diberi salah satu nilai yang ditunjukkan dalam tabel berikut.

Nilai Makna
IDE_REG_DWORD Nilai numerik 4-byte.
IDE_REG_BINARY Data biner.
IDE_REG_SZ String Unicode yang dihentikan null.

[in] Buffer

Penunjuk ke buffer sumber yang berisi data untuk ditulis ke nilai registri.

BufferLength

Penunjuk ke jumlah byte data yang akan disalin. Jika operasi gagal, lokasi yang diacu oleh Panjang akan diperbarui ke panjang data yang berhasil disalin ke registri.

Nilai kembali

AtaPortRegistryControllerKeyWriteDeferred mengembalikan TRUE jika operasi berhasil. Jika tidak, ia mengembalikan FALSE. Rutinitas juga mengembalikan FALSE jika driver miniport tidak memanggilnya dari rutinitas yang benar.

Keterangan

Jika nama nilai tidak ada, rutinitas AtaPortRegistryControllerKeyWriteDeferred membuat entri untuk nama nilai dan menyimpan data input di bawah nama nilai yang baru dibuat.

Driver miniport dapat memanggil rutinitas AtaPortRegistryControllerKeyWriteDeferred dari salah satu rutinitas yang ditentukan dalam antarmuka saluran.

Buffer yang ditunjukkan oleh Buffer harus dialokasikan dengan menggunakan AtaPortRegistryAllocateBuffer. Driver miniport tidak boleh menggunakan kembali buffer ini setelah memanggil AtaPortRegistryControllerKeyWriteDeferred karena driver port menunda penulisan data kunci. Jika driver miniport menggunakan kembali buffer, itu mungkin menimpa data di buffer sebelum driver port memiliki kesempatan untuk menyimpannya di kunci registri. Driver port membersihkan buffer ketika driver miniport memanggil AtaPortRegistryFreeBuffer untuk membebaskan buffer.

Persyaratan

Persyaratan Nilai
Target Platform Desktop
Header irb.h (termasuk Ata.h, Irb.h)

Lihat juga

AtaPortRegistryAllocateBuffer

AtaPortRegistryFreeBuffer