Partager via


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.

Voir aussi

BUS_INTERFACE_STANDARD

IRP_MN_READ_CONFIG