Share via


Fonction ScsiPortSetBusDataByOffset (srb.h)

La routine ScsiPortSetBusDataByOffset définit les données de configuration de bus pour un adaptateur sur un bus d’E/S configurable dynamiquement avec une interface standard publiée.

Note Les modèles de pilote de port SCSI et de pilote miniport SCSI peuvent être modifiés ou indisponibles à l’avenir. Au lieu de cela, nous vous recommandons d’utiliser les modèles de pilote Storport et de pilote Miniport Storport .
 

Syntaxe

SCSIPORT_API ULONG ScsiPortSetBusDataByOffset(
  [in] PVOID DeviceExtension,
  [in] ULONG BusDataType,
  [in] ULONG SystemIoBusNumber,
  [in] ULONG SlotNumber,
  [in] PVOID Buffer,
  [in] ULONG Offset,
  [in] ULONG Length
);

Paramètres

[in] DeviceExtension

Pointeur vers l’extension de périphérique du pilote miniport.

[in] BusDataType

Contient une valeur de type BUS_DATA_TYPE qui spécifie le type de données de bus à définir. Actuellement, sa valeur peut être PCIConfiguration. Toutefois, d’autres types de bus standardisés et configurables dynamiquement seront pris en charge à l’avenir. La limite supérieure sur les types de bus pris en charge est toujours MaximumBusDataType.

[in] SystemIoBusNumber

Spécifie le numéro attribué par le système du bus d’E/S sur lequel l’adaptateur HBA est connecté. La routine HwScsiFindAdapter du pilote miniport obtient cette valeur à partir de l’entrée PORT_CONFIGURATION_INFORMATION membre SystemIoBusNumber .

[in] SlotNumber

Spécifie le numéro d’emplacement logique de l’adaptateur HBA.

Lorsque 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] Buffer

Pointeur vers une zone de stockage fournie par l’appelant avec des informations de configuration spécifiques à BusDataType.

Lorsque PCIConfiguration est spécifié, la mémoire tampon contient tout ou partie des informations PCI_COMMON_CONFIG pour le SlotNumber donné. Le décalage et la longueur spécifiés déterminent la quantité d’informations fournies.

[in] Offset

Spécifie le décalage d’octet dans la structure PCI_COMMON_CONFIG à laquelle commencent les valeurs de configuration fournies par l’appelant. Un pilote miniport peut utiliser PCI_COMMON_HDR_LENGTH pour spécifier le décalage de la zone spécifique à l’appareil dans PCI_COMMON_CONFIG.

[in] Length

Spécifie le nombre d’octets dans la zone de stockage dans La mémoire tampon.

Valeur retournée

ScsiPortSetBusDataByOffset retourne le nombre d’octets de données correctement définis pour le slotNumber donné. Si le BusDataType donné n’est pas valide pour la plateforme actuelle ou si les informations fournies ne sont pas valides, ScsiPortSetBusDataByOffset retourne zéro.

Remarques

Les pilotes miniport des adaptateurs HBA d’un bus PCI appellent rarement ScsiPortSetBusDataByOffset , sauf si des circonstances inhabituelles ou la nature du HBA d’un pilote particulier nécessitent un tel appel. Par exemple, un pilote miniport peut appeler ScsiPortSetBusDataByOffset pour effacer un bit dans l’inscription PCI status si son adaptateur HBA signale un abandon cible lors de l’initialisation ou pour définir des données de configuration spécifiques à l’appareil pour l’adaptateur HBA.

ScsiPortSetBusDataByOffset peut être appelé uniquement à partir de la routine HwScsiFindAdapter du pilote miniport ou de HwScsiAdapterControl lorsque le type de contrôle est ScsiSetRunningConfig.

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête srb.h (inclure Miniport.h, Scsi.h)
Bibliothèque Scsiport.lib

Voir aussi

HalSetBusDataByOffset

HwScsiFindAdapter

PCI_COMMON_CONFIG

PCI_SLOT_NUMBER

PORT_CONFIGURATION_INFORMATION (SCSI)

ScsiPortGetBusData