NVCACHE_REQUEST_BLOCK-Struktur (ntddscsi.h)
Die NVCACHE_REQUEST_BLOCK-Struktur wird in Verbindung mit der IOCTL_SCSI_MINIPORT Anforderung zum Verwalten von H-HDD-Geräten (Hybrid-Festplattenlaufwerk) (z. B. Microsoft ReadyDrive-Technologie) verwendet. In diesem Thema wird die allgemeine Struktur für Eingabe- 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 dasselbe tun, 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;
Member
NRBSize
Die sizeof(NVCACHE_REQUEST_BLOCK).
Function
Gibt den auszuführenden Vorgang an, der einer der folgenden Werte sein kann:
Wert | Bedeutung |
---|---|
NRB_FUNCTION_NVCACHE_INFO | Rufen Sie nv Cache Manager-Featureunterstützungsinformationen 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 das Gerät gerade hoch- oder heruntergefahren wird. Für ein ATA-Gerät ist ein Check Power Mode -Befehl erforderlich, um die Spindel des Geräts status abzurufen. Für ein 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 NV Cache Manager-Energiemodus. |
NRB_FUNCTION_NVCACHE_POWER_MODE_RESET | Deaktivieren Sie den Nv Cache Manager-Energiemodus. |
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 LBA-Bereiche (Logical Block Address) ab, die sich derzeit in der angehefteten NV Cache Manager-Gruppe befinden. |
NRB_FUNCTION_QUERY_CACHE_MISS | Fordern Sie an, dass das Gerät NV-Cachefehler in LBA-Bereichen in einem einzelnen 512-Byte-Block meldet. |
NRB_FUNCTION_ADD_LBAS_PINNED_SET | Fügen Sie die IM NV Cache Manager Set Data angegebenen LBAs dem NV Cache Manager Pinned 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 nv-Cache anhefteten Satz. |
NRB_FUNCTION_QUERY_HYBRID_DISK_STATUS | Für die zukünftige Verwendung reserviert. |
NRB_FUNCTION_PASS_HINT_PAYLOAD | Übergeben Sie E/A-Hinweise an ein SATA-Gerät. |
NRBFlags
Für die zukünftige Verwendung reserviert.
NRBStatus
Gibt die NV Cache Manager-Funktionsanforderung an, die vom Treiber status. Mögliche Werte:
Wert | Bedeutung |
---|---|
NRB_SUCCESS | Kein Fehler. |
NRB_ILLEGAL_REQUEST | Vom Porttreiber erkannte ungültige Anforderung. |
NRB_INVALID_PARAMETER | Ungültiger Parameter, der an den Porttreiber übergeben wurde. |
NRB_INPUT_DATA_OVERRUN | Zu viele Daten, die dem Porttreiber zur Verfügung gestellt werden. |
NRB_INPUT_DATA_UNDERRUN | Dem Porttreiber werden nicht genügend Daten zur Verfügung gestellt. |
NRB_OUTPUT_DATA_OVERRUN | Vom Porttreiber werden zu viele Daten zurückgegeben. |
NRB_OUTPUT_DATA_UNDERRUN | Vom Porttreiber werden nicht genügend Daten zurückgegeben. |
Count
Anzahl der 512-Byte-Blöcke, die mit der angegebenen Funktion übertragen werden sollen.
LBA
Starten des LBA des Geräts für die angegebene Funktion.
DataBufSize
Größe des Datenpuffers in Bytes.
NVCacheStatus
Vom Gerät zurückgegebener Status. Bei einem ATA-Gerät ist dieser Wert der Inhalt des Statusregisters in seiner 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 Taskdatei. Bei einem SCSI-Gerät ist dieser Wert der vom Gerät zurückgegebene Sense-Schlüssel.
Hinweise
Weitere Informationen zum Funktionsverhalten finden Sie in Abschnitt 7.20 der ATA8-ACS-Spezifikation.
Anforderungen
Anforderung | Wert |
---|---|
Header | ntddscsi.h (include Ntddscsi.h) |