Fonction ScsiPortFreeDeviceBase (srb.h)
La routine ScsiPortFreeDevice Base libère une plage d’E/S d’appareils ou d’adresses d’espace mémoire précédemment mappées dans l’espace d’adressage système avec ScsiPortGetDeviceBase.
Syntaxe
SCSIPORT_API VOID ScsiPortFreeDeviceBase(
[in] PVOID HwDeviceExtension,
[in] PVOID MappedAddress
);
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 à un HBA dans cette extension, telles que l’état de l’adaptateur HBA et les plages d’accès mappées de l’adaptateur HBA. Cette zone est disponible pour le pilote miniport dans le DeviceExtension->HwDeviceExtension membre de l’objet d’appareil du HBA immédiatement après l’appel du pilote miniport ScsiPortInitialize. Le pilote de port libère cette mémoire lorsqu’il supprime l’appareil.
[in] MappedAddress
Pointeur vers l’adresse de base de la plage à libérer. Cette adresse doit être la même que celle retournée par ScsiPortGetDeviceBase.
Valeur de retour
Aucun
Remarques
Si le du pilote miniport HwScsiFindAdapter routine détermine que le pilote n’a pas besoin d’une adresse de base mappée particulière pour un adaptateur, il doit libérer le mappage en appelant cette routine. Par exemple, lorsqu’un pilote miniport détermine qu’il n’y a pas d’ABA pris en charge sur un bus d’E/S particulier, il doit appeler ScsiPortFreeDeviceBase avec chaque adresse mappée retournée par ScsiPortGetDeviceBase, si des appels à cette routine ont été effectués.
ScsiPortFreeDeviceBase ne peut être appelé qu’à partir de la routine HwScsiFindAdapter du pilote miniport. Les appels provenant d’autres routines de pilotes miniport entraînent une défaillance système ou une opération incorrecte pour l’appelant.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Bureau |
d’en-tête | srb.h (include Miniport.h, Scsi.h) |
bibliothèque | Scsiport.lib |