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
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per