struktur NVCACHE_REQUEST_BLOCK (ntddscsi.h)

Struktur NVCACHE_REQUEST_BLOCK digunakan bersama dengan permintaan IOCTL_SCSI_MINIPORT untuk mengelola perangkat drive hard disk hibrid (H-HDD) (misalnya, teknologi Microsoft ReadyDrive). Topik ini mendefinisikan struktur umum untuk data input dan data output untuk panggilan yang dilakukan ke NV Cache Manager. Pemanggil harus mengisi semua bidang yang diperlukan sebelum memanggil DeviceIoControl atau IoBuildDeviceIoControlRequest. Driver miniport harus melakukan hal yang sama setelah fungsi yang diminta selesai, dan sebelum kembali.

Sintaks

typedef struct _NVCACHE_REQUEST_BLOCK {
  ULONG     NRBSize;
  USHORT    Function;
  ULONG     NRBFlags;
  ULONG     NRBStatus;
  ULONG     Count;
  ULONGLONG LBA;
  ULONG     DataBufSize;
  ULONG     NVCacheStatus;
  ULONG     NVCacheSubStatus;
} NVCACHE_REQUEST_BLOCK, *PNVCACHE_REQUEST_BLOCK;

Anggota

NRBSize

Sizeof(NVCACHE_REQUEST_BLOCK).

Function

Menentukan operasi yang akan dilakukan, yang bisa menjadi salah satu nilai berikut:

Nilai Makna
NRB_FUNCTION_NVCACHE_INFO Dapatkan informasi dukungan fitur NV Cache Manager dari perangkat. Setelah berhasil menyelesaikan fungsi ini, bidang data yang diperlukan dikembalikan ke pemanggil. Struktur data yang dikembalikan NV_FEATURE_PARAMETER.
NRB_FUNCTION_SPINDLE_STATUS Tentukan apakah perangkat saat ini berputar ke atas atau berputar ke bawah. Untuk perangkat ATA, perintah Periksa Mode Daya diperlukan untuk mendapatkan status spindle perangkat. Untuk perangkat SCSI, perintah Mode Sense dapat digunakan untuk mengkueri mode daya perangkat saat ini.
NRB_FUNCTION_NVCACHE_POWER_MODE_SET Aktifkan mode daya NV Cache Manager.
NRB_FUNCTION_NVCACHE_POWER_MODE_RESET Matikan mode daya NV Cache Manager.
NRB_FUNCTION_FLUSH_NVCACHE Hapus data yang saat ini disematkan dalam memori cache NV untuk membuat ruang memori cache NV yang diperlukan tersedia.
NRB_FUNCTION_QUERY_PINNED_SET Dapatkan rentang Logical Block Address (LBA) yang saat ini berada di set yang disematkan NV Cache Manager.
NRB_FUNCTION_QUERY_CACHE_MISS Minta agar perangkat melaporkan NV Cache Misses dalam rentang LBA dalam satu blok 512-byte.
NRB_FUNCTION_ADD_LBAS_PINNED_SET Tambahkan LBA yang ditentukan dalam NV Cache Manager Set Data ke NV Cache Manager Pinned Set jika belum.
NRB_FUNCTION_REMOVE_LBAS_PINNED_SET Hapus LBA yang ditentukan dalam NV Cache Set Data dari kumpulan yang disematkan NV Cache.
NRB_FUNCTION_QUERY_HYBRID_DISK_STATUS Disiapkan untuk penggunaan masa mendatang.
NRB_FUNCTION_PASS_HINT_PAYLOAD Berikan petunjuk IO ke perangkat SATA.

NRBFlags

Disiapkan untuk penggunaan masa mendatang.

NRBStatus

Menunjukkan status permintaan fungsi NV Cache Manager dari driver. Ini bisa menjadi salah satu nilai berikut:

Nilai Makna
NRB_SUCCESS Tidak ada kesalahan.
NRB_ILLEGAL_REQUEST Permintaan ilegal terdeteksi oleh driver port.
NRB_INVALID_PARAMETER Parameter tidak valid diteruskan ke driver port.
NRB_INPUT_DATA_OVERRUN Terlalu banyak data yang disediakan untuk driver port.
NRB_INPUT_DATA_UNDERRUN Tidak cukup data yang diberikan kepada driver port.
NRB_OUTPUT_DATA_OVERRUN Terlalu banyak data yang dikembalikan dari driver port.
NRB_OUTPUT_DATA_UNDERRUN Tidak cukup data yang dikembalikan dari driver port.

Count

Jumlah blok 512 byte yang akan ditransfer dengan fungsi yang ditentukan.

LBA

Memulai LBA perangkat untuk fungsi yang ditentukan.

DataBufSize

Ukuran buffer data, dalam byte.

NVCacheStatus

Status dikembalikan dari perangkat. Untuk perangkat ATA, nilai ini adalah konten Daftar Status dalam File Tugasnya. Untuk perangkat SCSI, nilai ini adalah Sense Code yang dikembalikan dari perangkat.

NVCacheSubStatus

Kode kesalahan dikembalikan dari perangkat. Untuk perangkat ATA, nilai ini adalah konten Daftar Kesalahan dalam File Tugasnya. Untuk perangkat SCSI, nilai ini adalah kunci Sense yang dikembalikan dari perangkat.

Keterangan

Untuk informasi selengkapnya tentang perilaku fungsi, lihat bagian 7.20 spesifikasi ATA8-ACS.

Persyaratan

Persyaratan Nilai
Header ntddscsi.h (termasuk Ntddscsi.h)

Lihat juga

IOCTL_SCSI_MINIPORT

IOCTL_SCSI_MINIPORT_NVCACHE