StorPortGetBusData, fonction (storport.h)
La routine StorPortGetBusData récupère les informations de configuration spécifiques au bus nécessaires pour initialiser l’adaptateur HBA.
Syntaxe
STORPORT_API ULONG StorPortGetBusData(
[in] PVOID DeviceExtension,
[in] ULONG BusDataType,
[in] ULONG SystemIoBusNumber,
[in] ULONG SlotNumber,
[in, out] PVOID Buffer,
[in] ULONG Length
);
Paramètres
[in] DeviceExtension
Pointeur vers la zone de stockage par HBA du pilote miniport.
[in] BusDataType
Contient une valeur de type BUS_DATA_TYPE qui spécifie le type de données de configuration spécifiques au bus à retourner. Actuellement, cette valeur peut être l’une des suivantes : Cmos, EisaConfiguration, Pos ou PCIConfiguration. Toutefois, d’autres types de configuration de bus seront pris en charge à l’avenir. La limite supérieure sur les types pris en charge est toujours MaximumBusDataType.
[in] SystemIoBusNumber
Spécifie le numéro attribué par le système du bus d’E/S. La routine HwStorFindAdapter du pilote miniport obtient cette valeur du membre SystemIoBusNumber initialement défini dans PORT_CONFIGURATION_INFORMATION.
[in] SlotNumber
Spécifie le numéro d’emplacement logique ou l’emplacement de l’appareil.
Si PCIConfiguration est spécifié en tant que BusDataType, ce paramètre doit être spécifié en tant que valeur de type PCI_SLOT_NUMBER.
[in, out] Buffer
Pointeur vers une mémoire tampon ou une zone vers laquelle les données de configuration sont retournées ou, si la longueur donnée est égale à zéro, pointe vers un emplacement vers lequel le pilote de port spécifique au système d’exploitation retourne un pointeur vers une mémoire tampon qu’il alloue.
[in] Length
Spécifie le nombre maximal d’octets à retourner dans Buffer, ou zéro si l’appelant exige que le pilote de port spécifique au système d’exploitation alloue une mémoire tampon pour contenir les données.
Valeur retournée
StorPortGetBusData retourne le nombre d’octets d’informations de configuration stockées dans la mémoire tampon. Lorsque l’entrée BusDataType est PCIConfiguration, StorPortGetBusData peut retourner l’une des valeurs suivantes pour indiquer une erreur.
Code de retour | Description |
---|---|
0 (zéro) | Le bus PCI n’existe pas. |
2 | Le bus PCI existe, mais il n’existe aucun appareil au niveau du numéro d’emplacement PCI donné. La mémoire tampon contient la valeur PCI_INVALID_VENDOR_ID au PCI_COMMON_CONFIG membre VendorId . |
Remarques
Un pilote miniport peut appeler StorPortGetBusData à partir des routines suivantes :
- À partir de sa routine de rappel HwStorFindAdapter .
- À partir de son HwStorAdapterControl uniquement lorsque le ControlType est ScsiSetRunningConfig.
Les appels d’autres routines de pilotes miniport entraînent une défaillance du système ou une opération incorrecte pour l’appelant.
Les données de configuration retournées par StorPortGetBusData ne sont valides que jusqu’à ce que le pilote miniport appelle à nouveau StorPortGetBusData . Dès que la routine HwStorFindAdapter de l’appelant retourne le contrôle, toutes les données de configuration retournées ne sont plus valides.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
En-tête | storport.h (inclure Storport.h) |
Bibliothèque | Storport.lib |