Partager via


StorPortGetPfns, fonction (storport.h)

Une miniporte peut appeler le StorPortGetPfns pour récupérer les numéros de cadre de page (Pfns) pour la mémoire décrite par la liste MDL spécifiée (descripteur de mémoire) associée à un SRB.

Syntaxe

ULONG StorPortGetPfns(
  [in]  PVOID               HwDeviceExtension,
  [in]  PSCSI_REQUEST_BLOCK Srb,
  [in]  PVOID               Mdl,
  [out] PVOID               *Pfns,
  [out] ULONG               *PfnCount,
  [out] ULONG               *StartingOffset
);

Paramètres

[in] HwDeviceExtension

Pointeur vers l’extension de périphérique matériel. Il s’agit d’une zone de stockage par HBA que le pilote de port alloue et initialise pour le compte du pilote miniport.

Les pilotes miniport stockent généralement des informations spécifiques à l’adaptateur HBA dans cette extension, telles que l’état de l’adaptateur HBA et les plages d’accès mappées pour l’adaptateur HBA. Cette zone est disponible pour le pilote miniport dans le DeviceExtension->HwDeviceExtension membre de l’objet d’appareil pour l’adaptateur HBA immédiatement après l’appel du pilote miniport StorPortInitialize. Le pilote de port libère cette mémoire lorsqu’il supprime l’appareil.

[in] Srb

Pointeur vers le bloc de requête SCSI source (SRB). À partir de Windows 8, le paramètre Srb peut pointer vers SCSI_REQUEST_BLOCK ou STORAGE_REQUEST_BLOCK.

[in] Mdl

Pointeur vers le MDL pour lequel pfns sont demandés. Seuls les MDL obtenus à l’aide de StorPortGetOriginalMdl ou StorPortGetDataInBufferMdl sont pris en charge.

[out] Pfns

Pointeur vers un tableau de pfns associés à mdL. Les appelants ne doivent pas modifier, mettre à jour ou libérer la liste.

[out] PfnCount

Nombre de pfns dans le tableau vers lequel Pfns pointe.

[out] StartingOffset

Spécifie le décalage d’octet dans la page initiale de la mémoire tampon décrite par le MDL donné.

Valeur de retour

StorPortGetPfns retourne l’un des codes d’état suivants :

Retourner le code Description
STOR_STATUS_NOT_IMPLEMENTED Cette fonction n’est pas implémentée sur le système d’exploitation actif.
STOR_STATUS_SUCCESS La fonction s’est terminée correctement.
STOR_STATUS_INVALID_PARAMETER Un pointeur vers l’un des paramètres est NULL .

Exigences

Exigence Valeur
plateforme cible Universel
d’en-tête storport.h

Voir aussi

StorPortGetDataInBufferMdl

StorPortGetOriginalMdl

StorPortInitialize