Freigeben über


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)

Siehe auch

IOCTL_SCSI_MINIPORT

IOCTL_SCSI_MINIPORT_NVCACHE