Partager via


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)

Voir aussi

IOCTL_SCSI_MINIPORT

IOCTL_SCSI_MINIPORT_NVCACHE