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