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 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)

Voir aussi

IOCTL_SCSI_MINIPORT

IOCTL_SCSI_MINIPORT_NVCACHE