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 de l’interface.
[in] DataType
Type de données de bus à lire. Pour plus d’informations, consultez la discussion sur le 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 où commence cette opération de lecture. 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 de retour
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
En fonction de 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 de 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 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 au
- Pour lire les données de configuration PCI pour la machine virtuelle à IRQL = DISPATCH_LEVEL, le pilote doit émettre des demandes d’E/S de IRP_MN_READ_CONFIG.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Bureau |
d’en-tête | wdm.h (include Ntddk.h) |
IRQL | Voir la section Remarques. |