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) |