Fonction HalSetBusDataByOffset (ntddk.h)
Avertissement
HalGetBusDataByOffset et HalSetBusDataByOffset sont fournis à des fins de compatibilité descendante, mais ne doivent être utilisés que si les méthodes recommandées dans Access Device Configuration Space ne peuvent pas être utilisées.
Cette fonction définit les données de configuration de bus pour un appareil sur un bus d’E/S configurable dynamiquement avec une interface standard publiée.
Syntaxe
NTHALAPI ULONG HalSetBusDataByOffset(
[in] BUS_DATA_TYPE BusDataType,
[in] ULONG BusNumber,
[in] ULONG SlotNumber,
[in] PVOID Buffer,
[in] ULONG Offset,
[in] ULONG Length
);
Paramètres
[in] BusDataType
Bus des données à définir. Cette valeur peut être PCIConfiguration. La limite supérieure des types pris en charge est toujours MaximumBusDataType.
[in] BusNumber
Nombre de bus zéro et attribué par le système dans les systèmes avec plusieurs bus du même BusDataType. Cet argument porte également le numéro de segment. Pour spécifier le numéro de segment, utilisez (Segment << 8) | Numéro de bus
[in] SlotNumber
Numéro d’emplacement logique ou emplacement de l’appareil. Si vous spécifiez PCIConfiguration comme BusDataType, cette valeur est spécifiée en tant que valeur de PCI_SLOT_NUMBER, qui correspond aux numéros d’emplacement et de fonction combinés.
[in] Buffer
Pointeur vers une mémoire tampon fournie par l’appelant pour les informations de configuration spécifiques à BusDataType.
Si vous spécifiez PCIConfiguration, la mémoire tampon contient les informations d’espace de configuration PCI pour le slotNumber et le numéro de fonction spécifiés. Le décalage et la longueur spécifiés déterminent la quantité d’informations à fournir. Certains membres de l’espace de configuration PCI ont des valeurs en lecture seule L’appelant est responsable de la conservation des valeurs fournies par le système des membres en lecture seule. Notez que pour un appareil PCI de type 1, HalSetBusDataByOffset empêche les écritures dans les enregistrements à l’intérieur de l’en-tête commun (256 premiers octets de l’espace de configuration).
[in] Offset
Décalage d’octet dans la structure PCI_COMMON_CONFIG où commencent les valeurs de configuration fournies par l’appelant. Les appelants peuvent utiliser la constante définie par le système PCI_COMMON_HDR_LENGTH pour spécifier la zone spécifique à l’appareil de PCI_COMMON_CONFIG.
[in] Length
Nombre d’octets dans La mémoire tampon.
Valeur retournée
La valeur de retour est la longueur réelle écrite dans l’espace de configuration.
Remarques
Un pilote peut appeler cette fonction ou HalSetBusData si des circonstances inhabituelles ou la nature de son appareil nécessitent un tel appel. Par exemple, un pilote peut appeler l’une de ces fonctions pour effacer un peu dans le pci status inscrire si son appareil signale un abandon cible lors de l’initialisation. En règle générale, le matériel ou le code de démarrage configure l’appareil de manière appropriée.
Lors de l’accès à la zone spécifique de l’appareil de l’espace de configuration PCI, HalSetBusDataByOffset garantit que cette fonction ne lit ni n’écrit jamais de données en dehors de la plage spécifiée par l’entrée Offset et Length et même si l’entrée Length est exactement un octet ou un mot de deux octets, cette fonction n’accède jamais aux données en dehors de la plage demandée.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | ntddk.h (inclure Ntddk.h) |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour