GET_SET_DEVICE_DATA fonction de rappel (wdm.h)
La routine GetBusData lit les données de l’espace de configuration de l’appareil.
Syntaxe
GET_SET_DEVICE_DATA GetSetDeviceData;
ULONG GetSetDeviceData(
[in] PVOID Context,
[in] ULONG DataType,
[in] PVOID Buffer,
[in] ULONG Offset,
[in] ULONG Length
)
{...}
Paramètres
[in] Context
Pointeur vers des informations de contexte spécifiques à l’interface. L’appelant transmet la valeur qui est passée en tant que membre context de la structure BUS_INTERFACE_STANDARD pour l’interface.
[in] DataType
Type de données de bus à lire. Pour plus d’informations, consultez la discussion du paramètre WhichSpace dans IRP_MN_READ_CONFIG.
[in] Buffer
Pointeur vers la mémoire tampon qui contient les informations de configuration à lire à partir de l’espace de configuration de l’appareil.
[in] Offset
Décalage dans les données d’appareil spécifiques au bus à l’endroit où cette opération de lecture commence. Par exemple, si le paramètre DataType est PCI_WHICHSPACE_CONFIG, la valeur du paramètre Offset est le décalage dans l’espace de configuration PCI.
[in] Length
Longueur, en octets, des données à lire.
Valeur retournée
La routine GetBusData retourne la longueur, en octets, des données de configuration lues après une opération de lecture réussie. Si l’opération de lecture échoue, la valeur zéro est retournée.
Remarques
Selon la valeur du paramètre DataType , la routine GetBusData peut être appelée uniquement à partir des niveaux de demande d’interruption (IRQL) définis dans le tableau suivant.
Valeur DataType | IRQL |
---|---|
PCI_WHICHSPACE_CONFIG | <= DIRQL |
PCI_WHICHSPACE_ROM | <= APC_LEVEL |
PCCARD_COMMON_MEMORY
PCCARD_COMMON_MEMORY_INDIRECT |
<= DISPATCH_LEVEL |
PCCARD_ATTRIBUTE_MEMORY
PCCARD_ATTRIBUTE_MEMORY_INDIRECT |
<= DISPATCH_LEVEL |
PCCARD_PCI_CONFIGURATION_SPACE | <= DIRQL |
Les remarques suivantes s’appliquent aux pilotes pour les fonctions virtuelles (VFs) PCI Express (PCIe) sur les appareils qui prennent en charge l’interface de virtualisation d’E/S racine unique (SR-IOV) :
- Les pilotes pour les machines virtuelles PCIe doivent appeler la routine GetBusData à l’adresse IRQL <= APC_LEVEL.
- Pour lire les données de configuration PCI pour la VF à l’adresse IRQL = DISPATCH_LEVEL, le pilote doit émettre des demandes d’E/S de IRP_MN_READ_CONFIG.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | wdm.h (include Ntddk.h) |
IRQL | Consultez la section Notes. |