Partager via


KsDeviceGetBusData, fonction (ks.h)

La fonction KsDeviceGetBusData lit les données du bus où réside l’appareil AVStream donné.

Syntaxe

KSDDKAPI ULONG KsDeviceGetBusData(
  [in] PKSDEVICE Device,
  [in] ULONG     DataType,
  [in] PVOID     Buffer,
  [in] ULONG     Offset,
  [in] ULONG     Length
);

Paramètres

[in] Device

Pointeur vers la structure KSDEVICE représentant l’appareil AVStream donné pour lequel les données du bus doivent être lues.

[in] DataType

Ce paramètre indique le type de données de bus à lire. Zéro correspond à l’espace de configuration. Pour plus d’informations, consultez la discussion sur WhichSpace dans la page de référence pour IRP_MN_READ_CONFIG.

[in] Buffer

Pointeur vers une mémoire tampon qui reçoit les données lues à partir du bus. Doit être au moins aussi grand que Length.

[in] Offset

Ce paramètre contient le décalage d’octets dans l’espace spécifié par DataType à partir duquel les données sont lues.

[in] Length

Ce paramètre spécifie le nombre d’octets à lire dans Buffer.

Valeur retournée

KsDeviceGetBusData retourne le nombre d’octets réellement lus à partir du bus. Si une erreur se produit, cette valeur est égale à zéro.

Remarques

Selon le pilote du bus où réside l’appareil spécifié, il existe deux comportements et ensembles de restrictions possibles sur cette fonction. Si le pilote de bus donné prend en charge la norme d’interface de bus (généralement PCI), appelez cette fonction à l’adresse IRQL = PASSIVE_LEVEL ou DISPATCH_LEVEL. Après un tel appel, KsDeviceGetBusData retourne le nombre réel d’octets lus à partir de l’espace demandé. Si, toutefois, le pilote de bus donné ne prend pas en charge la norme d’interface de bus, AVStream communique avec le pilote de bus via IoCallDriver. Notez que cela limite l’utilisation de KsDeviceGetBusData à IRQL = PASSIVE_LEVEL et signifie également que la valeur de retour est 0, en cas d’échec, ou égale à Length si l’acquisition de données a réussi.

Pour garantir la compatibilité, les enregistreurs de minidriver peuvent vouloir limiter l’utilisation de KsDeviceGetBusData à IRQL = PASSIVE_LEVEL.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Microsoft Windows XP et les systèmes d’exploitation ultérieurs et DirectX 8.0 et versions ultérieures de DirectX.
Plateforme cible Universal
En-tête ks.h (inclure Ks.h)
Bibliothèque Ks.lib
IRQL PASSIVE_LEVEL (voir la section Remarques)

Voir aussi

IoCallDriver

KsDeviceSetBusData