Partager via


KsDeviceSetBusData, fonction (ks.h)

La fonction KsDeviceSetBusData écrit des données dans le bus sur lequel réside l’appareil AVStream spécifié.

Syntaxe

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

Paramètres

[in] Device

Pointeur vers une structure KSDEVICE . Cette routine tente d’écrire des données dans le bus sur lequel réside cet appareil.

[in] DataType

Ce paramètre indique le type de données de bus à écrire. 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 contient les données à écrire dans le bus. Le nombre d’octets dans la mémoire tampon doit être égal ou supérieur à Length.

[in] Offset

Ce paramètre contient le décalage d’octet dans l’espace spécifié par DataType où les données sont écrites.

[in] Length

Ce paramètre spécifie le nombre d’octets de données à écrire dans le bus à partir de Buffer.

Valeur retournée

KsDeviceSetBusData retourne le nombre d’octets réellement écrits dans le bus. En cas d’erreur, la routine retourne zéro. Consultez les détails ci-dessous dans la section Remarques.

Remarques

Cette fonction fonctionne différemment en fonction du pilote du bus sur lequel réside l’appareil spécifié. Si le pilote de bus prend en charge l’interface de bus standard (généralement PCI), appelez cette fonction à l’adresse IRQL = PASSIVE_LEVEL ou DISPATCH_LEVEL. Après un tel appel, KsDeviceSetBusData retourne le nombre réel d’octets écrits dans l’espace demandé.

Si le pilote de bus ne prend pas en charge l’interface de bus standard, AVStream communique avec le pilote de bus à l’aide d’IoCallDriver. Dans ce cas, appelez KsDeviceSetBusData à IRQL = PASSIVE_LEVEL. La valeur de retour est soit zéro, en cas d’échec, soit égale à Length si les données ont été écrites avec succès.

Les pilotes s’exécutant sur Windows 2000 et versions ultérieures peuvent effectuer cet appel à l’adresse IRQL = DISPATCH_LEVEL. Toutefois, pour garantir la compatibilité, les enregistreurs de minidriver peuvent vouloir limiter l’utilisation de KsDeviceSetBusData à 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 Consultez la section Notes.

Voir aussi

IoCallDriver

KsDeviceGetBusData