Condividi tramite


NVCACHE_REQUEST_BLOCK struttura (ntddscsi.h)

La struttura NVCACHE_REQUEST_BLOCK viene usata in combinazione con la richiesta di IOCTL_SCSI_MINIPORT di gestire i dispositivi H-HDD (hybrid-hard disk drive) (ad esempio, la tecnologia Microsoft ReadyDrive). Questo argomento definisce la struttura generale per i dati di input e i dati di output per una chiamata effettuata a NV Cache Manager. Un chiamante deve compilare tutti i campi necessari prima di chiamare DeviceIoControl o IoBuildDeviceIoControlRequest. Il driver miniport deve eseguire la stessa operazione dopo il completamento della funzione richiesta e prima che venga restituito.

Sintassi

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;

Members

NRBSize

Dimensioneof(NVCACHE_REQUEST_BLOCK).

Function

Specifica l'operazione da eseguire, che può essere uno dei valori seguenti:

Valore Significato
NRB_FUNCTION_NVCACHE_INFO Ottenere informazioni sul supporto delle funzionalità di NV Cache Manager dal dispositivo. Al termine di questa funzione, i campi dati obbligatori vengono restituiti al chiamante. La struttura dei dati restituita è NV_FEATURE_PARAMETER.
NRB_FUNCTION_SPINDLE_STATUS Determinare se il dispositivo sta attualmente girando o ruotando verso il basso. Per un dispositivo ATA, è necessario un comando Check Power Mode per ottenere lo stato di spindle del dispositivo. Per un dispositivo SCSI, è possibile usare un comando Mode Sense per eseguire query sulla modalità di alimentazione corrente del dispositivo.
NRB_FUNCTION_NVCACHE_POWER_MODE_SET Attivare la modalità di alimentazione di NV Cache Manager.
NRB_FUNCTION_NVCACHE_POWER_MODE_RESET Disattivare la modalità di alimentazione di NV Cache Manager.
NRB_FUNCTION_FLUSH_NVCACHE Scaricare i dati attualmente aggiunti nella memoria cache NV per rendere disponibile lo spazio di memoria cache NV richiesto.
NRB_FUNCTION_QUERY_PINNED_SET Ottenere gli intervalli LBA (Logical Block Address) attualmente nel set aggiunto di NV Cache Manager.
NRB_FUNCTION_QUERY_CACHE_MISS Richiedere che il dispositivo segnala la mancata cache NV negli intervalli LBA in un singolo blocco di byte a 512 byte.
NRB_FUNCTION_ADD_LBAS_PINNED_SET Aggiungere le LBA specificate in NV Cache Manager Set Data to the NV Cache Manager Pinned Set se non sono già presenti.
NRB_FUNCTION_REMOVE_LBAS_PINNED_SET Rimuovere le LBA specificate nel set di dati del set di cache NV dal set di cache NV aggiunto.
NRB_FUNCTION_QUERY_HYBRID_DISK_STATUS Riservato per utilizzi futuri.
NRB_FUNCTION_PASS_HINT_PAYLOAD Passare hint di I/O a un dispositivo SATA.

NRBFlags

Riservato per utilizzi futuri.

NRBStatus

Indica lo stato della richiesta di funzione NV Cache Manager dal driver. I valori possibili sono i seguenti:

Valore Significato
NRB_SUCCESS Nessun errore.
NRB_ILLEGAL_REQUEST Richiesta non valida rilevata dal driver della porta.
NRB_INVALID_PARAMETER Parametro non valido passato al driver di porta.
NRB_INPUT_DATA_OVERRUN Troppi dati forniti al driver di porta.
NRB_INPUT_DATA_UNDERRUN Dati non sufficienti forniti al driver della porta.
NRB_OUTPUT_DATA_OVERRUN Troppi dati restituiti dal driver della porta.
NRB_OUTPUT_DATA_UNDERRUN Dati non sufficienti restituiti dal driver della porta.

Count

Numero di blocchi di 512 byte da trasferire con la funzione specificata.

LBA

Avvio dell'LBA del dispositivo per la funzione specificata.

DataBufSize

Dimensioni del buffer dei dati, in byte.

NVCacheStatus

Stato restituito dal dispositivo. Per un dispositivo ATA, questo valore è il contenuto del registro di stato nel relativo file di attività. Per un dispositivo SCSI, questo valore è il codice Sense restituito dal dispositivo.

NVCacheSubStatus

Codice di errore restituito dal dispositivo. Per un dispositivo ATA, questo valore è il contenuto del registro errori nel relativo file di attività. Per un dispositivo SCSI, questo valore è la chiave Sense restituita dal dispositivo.

Commenti

Per altre informazioni sul comportamento della funzione, vedere la sezione 7.20 della specifica ATA8-ACS.

Requisiti

Requisito Valore
Intestazione ntddscsi.h (include Ntddscsi.h)

Vedi anche

IOCTL_SCSI_MINIPORT

IOCTL_SCSI_MINIPORT_NVCACHE