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 requis avant d’appeler DeviceIoControl ou IoBuildDeviceIoControlRequest. Le pilote miniport doit faire de même une fois la fonction demandée terminée et avant de retourner.
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
Taille (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 rotation vers le haut ou en rotation vers le bas. Pour un appareil ATA, une commande Check Power Mode est requise pour obtenir l’état 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 nv Cache Manager. |
NRB_FUNCTION_NVCACHE_POWER_MODE_RESET | Désactivez le mode d’alimentation nv Cache Manager. |
NRB_FUNCTION_FLUSH_NVCACHE | Videz les données actuellement épinglées dans la mémoire du cache NV pour rendre l’espace mémoire du cache NV requis disponible. |
NRB_FUNCTION_QUERY_PINNED_SET | Obtenez les plages d’adresses de bloc logique (LBA) actuellement dans l’ensemble épinglé du Gestionnaire de cache NV. |
NRB_FUNCTION_QUERY_CACHE_MISS | Demandez que l’appareil signale les absences de cache NV dans les plages LBA dans un bloc de 512 octets unique. |
NRB_FUNCTION_ADD_LBAS_PINNED_SET | Ajoutez les LBA spécifiés dans les données du jeu de gestionnaires de cache NV à l’ensemble é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 de l’ensemble épinglé du cache NV. |
NRB_FUNCTION_QUERY_HYBRID_DISK_STATUS | Réservé pour une utilisation ultérieure. |
NRB_FUNCTION_PASS_HINT_PAYLOAD | Passez des indicateurs d’E/S à un appareil SATA. |
NRBFlags
Réservé pour une utilisation ultérieure.
NRBStatus
Indique l’état de la demande de la fonction NV Cache Manager du pilote. Il peut s’agir de l’une des valeurs suivantes :
Valeur | Signification |
---|---|
NRB_SUCCESS | Aucune erreur. |
NRB_ILLEGAL_REQUEST | Demande illégale 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 insuffisantes retournées par le 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é par 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é par 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 de la fonction, consultez la section 7.20 de la spécification ATA8-ACS.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | ntddscsi.h (include Ntddscsi.h) |