structure NVCACHE_REQUEST_BLOCK (ntddscsi.h)
La structure NVCACHE_REQUEST_BLOCK est utilisée conjointement avec la demande de IOCTL_SCSI_MINIPORT pour gérer les périphériques de disque dur hybride (H-HDD) (par exemple, la technologie Microsoft ReadyDrive). Cette rubrique définit la structure générale pour les données d’entrée et les données de sortie pour un appel effectué au gestionnaire de cache NV. Un appelant doit remplir tous les champs obligatoires avant d’appeler DeviceIoControl ou IoBuildDeviceIoControlRequest. Le pilote miniport doit faire de même une fois la fonction demandée terminée et avant qu’elle ne retourne.
Syntaxe
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;
Membres
NRBSize
sizeof(NVCACHE_REQUEST_BLOCK).
Function
Spécifie l’opération à effectuer, qui peut être l’une des valeurs suivantes :
Valeur | Signification |
---|---|
NRB_FUNCTION_NVCACHE_INFO | Obtenez les informations de prise en charge des fonctionnalités du Gestionnaire de cache NV à partir de l’appareil. Une fois cette fonction terminée, les champs de données requis sont retournés à l’appelant. La structure de données de retour est NV_FEATURE_PARAMETER. |
NRB_FUNCTION_SPINDLE_STATUS | Déterminez si l’appareil est actuellement en cours de rotation vers le haut ou vers le bas. Pour un appareil ATA, une commande Vérifier le mode d’alimentation est requise pour obtenir le status de broche de l’appareil. Pour un appareil SCSI, une commande Mode Sense peut être utilisée pour interroger le mode d’alimentation actuel de l’appareil. |
NRB_FUNCTION_NVCACHE_POWER_MODE_SET | Activez le mode d’alimentation du Gestionnaire de cache NV. |
NRB_FUNCTION_NVCACHE_POWER_MODE_RESET | Désactivez le mode d’alimentation du Gestionnaire de cache NV. |
NRB_FUNCTION_FLUSH_NVCACHE | Videz les données actuellement épinglées dans la mémoire du cache NV pour que l’espace mémoire du cache NV requis soit disponible. |
NRB_FUNCTION_QUERY_PINNED_SET | Obtenez les plages d’adresses de bloc logique (LBA) actuellement dans l’ensemble épinglé NV Cache Manager. |
NRB_FUNCTION_QUERY_CACHE_MISS | Demandez à l’appareil de signaler les absences de cache NV dans les plages LBA dans un seul bloc de 512 octets. |
NRB_FUNCTION_ADD_LBAS_PINNED_SET | Ajoutez les LBA spécifiés dans les données du jeu de jeu de gestionnaire de cache NV au jeu épinglé NV Cache Manager s’ils ne le sont pas déjà. |
NRB_FUNCTION_REMOVE_LBAS_PINNED_SET | Supprimez les LBA spécifiés dans les données du jeu de cache NV du jeu épinglé NV Cache. |
NRB_FUNCTION_QUERY_HYBRID_DISK_STATUS | Réservé pour un usage futur. |
NRB_FUNCTION_PASS_HINT_PAYLOAD | Passez des indicateurs d’E/S à un appareil SATA. |
NRBFlags
Réservé pour un usage futur.
NRBStatus
Indique la demande de fonction NV Cache Manager status du pilote. Il peut s’agir de l’une des valeurs suivantes :
Valeur | Signification |
---|---|
NRB_SUCCESS | Pas d'erreur. |
NRB_ILLEGAL_REQUEST | Requête non valide détectée par le pilote de port. |
NRB_INVALID_PARAMETER | Paramètre non valide passé au pilote de port. |
NRB_INPUT_DATA_OVERRUN | Trop de données fournies au pilote de port. |
NRB_INPUT_DATA_UNDERRUN | Données insuffisantes fournies au pilote de port. |
NRB_OUTPUT_DATA_OVERRUN | Trop de données retournées par le pilote de port. |
NRB_OUTPUT_DATA_UNDERRUN | Données retournées insuffisantes à partir du pilote de port. |
Count
Nombre de blocs de 512 octets à transférer avec la fonction spécifiée.
LBA
Démarrage de LBA de l’appareil pour la fonction spécifiée.
DataBufSize
Taille de la mémoire tampon de données, en octets.
NVCacheStatus
État retourné à partir de l’appareil. Pour un appareil ATA, cette valeur est le contenu du registre d’état dans son fichier de tâches. Pour un appareil SCSI, cette valeur est le code sense retourné par l’appareil.
NVCacheSubStatus
Code d’erreur retourné à partir de l’appareil. Pour un appareil ATA, cette valeur est le contenu du registre d’erreurs dans son fichier de tâches. Pour un appareil SCSI, cette valeur est la clé Sense retournée par l’appareil.
Remarques
Pour plus d’informations sur le comportement des fonctions, consultez la section 7.20 de la spécification ATA8-ACS.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | ntddscsi.h (inclure Ntddscsi.h) |