NVCACHE_REQUEST_BLOCK Struktur (ntddscsi.h)
Die NVCACHE_REQUEST_BLOCK-Struktur wird in Verbindung mit der IOCTL_SCSI_MINIPORT Anforderung verwendet, hybride Festplattengeräte (H-HDD) zu verwalten (z. B. Microsoft ReadyDrive-Technologie). In diesem Thema wird die allgemeine Struktur für Eingabedaten und Ausgabedaten für einen Aufruf des NV Cache-Managers definiert. Ein Aufrufer sollte alle erforderlichen Felder ausfüllen, bevor DeviceIoControl- oder IoBuildDeviceIoControlRequest-aufgerufen wird. Der Miniporttreiber muss denselben Vorgang ausführen, nachdem die angeforderte Funktion abgeschlossen wurde, und bevor sie zurückgegeben wird.
Syntax
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;
Angehörige
NRBSize
Die Größe(NVCACHE_REQUEST_BLOCK).
Function
Gibt den auszuführenden Vorgang an, bei dem es sich um einen der folgenden Werte handeln kann:
Wert | Bedeutung |
---|---|
NRB_FUNCTION_NVCACHE_INFO | Rufen Sie die Unterstützungsinformationen des NV Cache-Managers vom Gerät ab. Nach erfolgreichem Abschluss dieser Funktion werden die erforderlichen Datenfelder an den Aufrufer zurückgegeben. Die Rückgabedatenstruktur ist NV_FEATURE_PARAMETER. |
NRB_FUNCTION_SPINDLE_STATUS | Ermitteln Sie, ob sich das Gerät gerade nach oben dreht oder sich nach unten dreht. Für ein ATA-Gerät ist ein Befehl "Energiemodus überprüfen" erforderlich, um den Spindelstatus des Geräts abzurufen. Bei einem SCSI-Gerät kann ein Modus sense-Befehl verwendet werden, um den aktuellen Energiemodus des Geräts abzufragen. |
NRB_FUNCTION_NVCACHE_POWER_MODE_SET | Aktivieren Sie den Power-Modus des NV-Cache-Managers. |
NRB_FUNCTION_NVCACHE_POWER_MODE_RESET | Deaktivieren Sie den Power-Modus des NV-Cache-Managers. |
NRB_FUNCTION_FLUSH_NVCACHE | Leeren Sie die Daten, die derzeit im NV-Cachespeicher angeheftet sind, um den erforderlichen NV-Cachespeicher verfügbar zu machen. |
NRB_FUNCTION_QUERY_PINNED_SET | Rufen Sie die Bereiche der logischen Blockadresse (Logical Block Address, LBA) ab, die sich derzeit im angehefteten NV-Cache-Manager-Satz befinden. |
NRB_FUNCTION_QUERY_CACHE_MISS | Fordern Sie an, dass der NV-Cachefehler des Geräteberichts in LBA-Bereichen in einem einzelnen 512-Byte-Block liegt. |
NRB_FUNCTION_ADD_LBAS_PINNED_SET | Fügen Sie die LBAs, die im NV-Cache-Manager-Set-Daten angegeben sind, zum NV Cache Manager-Set hinzu, falls sie noch nicht vorhanden sind. |
NRB_FUNCTION_REMOVE_LBAS_PINNED_SET | Entfernen Sie die LBAs, die in den NV-Cachesatzdaten angegeben sind, aus dem angehefteten NV-Cachesatz. |
NRB_FUNCTION_QUERY_HYBRID_DISK_STATUS | Reserviert für die zukünftige Verwendung. |
NRB_FUNCTION_PASS_HINT_PAYLOAD | Übergeben Sie E/A-Hinweise an ein SATA-Gerät. |
NRBFlags
Reserviert für die zukünftige Verwendung.
NRBStatus
Gibt den Anforderungsstatus der NV Cache-Manager-Funktion vom Treiber an. Dies kann einer der folgenden Werte sein:
Wert | Bedeutung |
---|---|
NRB_SUCCESS | Kein Fehler. |
NRB_ILLEGAL_REQUEST | Ungültige Anforderung, die vom Porttreiber erkannt wurde. |
NRB_INVALID_PARAMETER | Ungültiger Parameter, der an den Porttreiber übergeben wird. |
NRB_INPUT_DATA_OVERRUN | Zu viele Daten, die dem Porttreiber bereitgestellt werden. |
NRB_INPUT_DATA_UNDERRUN | Nicht genügend Daten, die dem Porttreiber zur Verfügung gestellt werden. |
NRB_OUTPUT_DATA_OVERRUN | Zu viele Daten, die vom Porttreiber zurückgegeben wurden. |
NRB_OUTPUT_DATA_UNDERRUN | Nicht genügend Daten, die vom Porttreiber zurückgegeben werden. |
Count
Die Anzahl der 512-Byte-Blöcke, die mit der angegebenen Funktion übertragen werden sollen.
LBA
Starten der LBA des Geräts für die angegebene Funktion.
DataBufSize
Größe des Datenpuffers in Byte.
NVCacheStatus
Der vom Gerät zurückgegebene Status. Bei einem ATA-Gerät ist dieser Wert der Inhalt des Statusregisters in der Aufgabendatei. Bei einem SCSI-Gerät ist dieser Wert der vom Gerät zurückgegebene Sense-Code.
NVCacheSubStatus
Der vom Gerät zurückgegebene Fehlercode. Bei einem ATA-Gerät ist dieser Wert der Inhalt des Fehlerregisters in der Aufgabendatei. Bei einem SCSI-Gerät ist dieser Wert der Sense-Taste, die vom Gerät zurückgegeben wird.
Bemerkungen
Weitere Informationen zum Funktionsverhalten finden Sie in Abschnitt 7.20 der ATA8-ACS Spezifikation.
Anforderungen
Anforderung | Wert |
---|---|
Header- | ntddscsi.h (include Ntddscsi.h) |