Freigeben über


KsDeviceSetBusData-Funktion (ks.h)

Die KsDeviceSetBusData-Funktion schreibt Daten in den Bus, auf dem sich das angegebene AVStream-Gerät befindet.

Syntax

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

Parameter

[in] Device

Ein Zeiger auf eine KSDEVICE-Struktur . Diese Routine versucht, Daten in den Bus zu schreiben, in dem sich dieses Gerät befindet.

[in] DataType

Dieser Parameter gibt den Typ der zu schreibenden Busdaten an. 0 (Null) entspricht dem Konfigurationsraum. Weitere Informationen finden Sie in der Diskussion zu WhichSpace auf der Referenzseite für IRP_MN_READ_CONFIG.

[in] Buffer

Ein Zeiger auf einen Puffer, der die Daten enthält, die in den Bus geschrieben werden sollen. Die Anzahl der Bytes im Puffer muss gleich oder größer als Length sein.

[in] Offset

Dieser Parameter enthält den Byteoffset in den durch DataType angegebenen Bereich, in den Daten geschrieben werden.

[in] Length

Dieser Parameter gibt die Anzahl der Datenbytes an, die aus Buffer in den Bus geschrieben werden sollen.

Rückgabewert

KsDeviceSetBusData gibt die Anzahl der Bytes zurück, die tatsächlich in den Bus geschrieben wurden. Im Falle eines Fehlers gibt die Routine null zurück. Weitere Informationen finden Sie weiter unten im Abschnitt Hinweise.

Hinweise

Diese Funktion funktioniert je nach Treiber für den Bus, auf dem sich das angegebene Gerät befindet, unterschiedlich. Wenn der Bustreiber den Busschnittstellenstandard (in der Regel PCI) unterstützt, rufen Sie diese Funktion entweder unter IRQL = PASSIVE_LEVEL oder DISPATCH_LEVEL auf. Nach einem solchen Aufruf gibt KsDeviceSetBusData die tatsächliche Anzahl von Bytes zurück, die in den angeforderten Speicherplatz geschrieben wurden.

Wenn der Bustreiber den Busschnittstellenstandard nicht unterstützt, kommuniziert AVStream mithilfe von IoCallDriver mit dem Bustreiber. Rufen Sie in diesem Fall KsDeviceSetBusData unter IRQL = PASSIVE_LEVEL auf. Der Rückgabewert ist im Falle eines Fehlers entweder null oder gleich Length , wenn die Daten erfolgreich geschrieben wurden.

Treiber, die unter Windows 2000 und höher ausgeführt werden, können diesen Aufruf unter IRQL = DISPATCH_LEVEL. Um die Kompatibilität zu gewährleisten, möchten Minidriver-Writer jedoch möglicherweise die Verwendung von KsDeviceSetBusData auf IRQL = PASSIVE_LEVEL beschränken.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in Microsoft Windows XP und höheren Betriebssystemen sowie DirectX 8.0 und höher DirectX-Versionen.
Zielplattform Universell
Header ks.h (ks.h einschließen)
Bibliothek Ks.lib
IRQL Weitere Informationen finden Sie im Abschnitt mit den Hinweisen.

Weitere Informationen

IoCallDriver

KsDeviceGetBusData