Freigeben über


KsDeviceGetBusData-Funktion (ks.h)

Die KsDeviceGetBusData--Funktion liest Daten aus dem Bus, in dem sich das angegebene AVStream-Gerät befindet.

Syntax

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

Parameter

[in] Device

Ein Zeiger auf die KSDEVICE- Struktur, die das angegebene AVStream-Gerät darstellt, für das Daten aus dem Bus gelesen werden sollen.

[in] DataType

Dieser Parameter gibt den Typ der zu lesenden Busdaten an. Null entspricht dem Konfigurationsraum. Weitere Informationen finden Sie in der Erläuterung von WhichSpace auf der Referenzseite für IRP_MN_READ_CONFIG.

[in] Buffer

Ein Zeiger auf einen Puffer, der die vom Bus gelesenen Daten empfängt. Muss mindestens so groß sein wie Länge.

[in] Offset

Dieser Parameter enthält den Byteoffset im durch DataType angegebenen Leerzeichen, aus dem Daten gelesen werden.

[in] Length

Dieser Parameter gibt die Anzahl der Bytes an, die in Buffergelesen werden sollen.

Rückgabewert

KsDeviceGetBusData gibt die Anzahl der Bytes zurück, die tatsächlich aus dem Bus gelesen werden. Wenn ein Fehler auftritt, ist dieser Wert null.

Bemerkungen

Je nach Treiber für den Bus, in dem sich das angegebene Gerät befindet, gibt es zwei mögliche Verhaltensweisen und Einschränkungssätze für diese Funktion. Wenn der angegebene Bustreiber den Busschnittstellenstandard (in der Regel PCI) unterstützt, rufen Sie diese Funktion entweder bei IRQL = PASSIVE_LEVEL oder DISPATCH_LEVEL auf. Nach einem solchen Aufruf gibt KsDeviceGetBusData die tatsächliche Anzahl von Bytes zurück, die aus dem angeforderten Leerzeichen gelesen werden. Wenn der angegebene Bustreiber jedoch den Busschnittstellenstandard nicht unterstützt, kommuniziert AVStream mit dem Bustreiber über IoCallDriver. Beachten Sie, dass dies die Verwendung von KsDeviceGetBusData- auf IRQL = PASSIVE_LEVEL einschränkt und auch bedeutet, dass der Rückgabewert entweder 0 ist, im Falle eines Fehlers oder gleich Länge, wenn der Datenerwerb erfolgreichwar.

Um die Kompatibilität zu gewährleisten, möchten Minidriver-Autoren möglicherweise die Verwendung von KsDeviceGetBusData- auf IRQL = PASSIVE_LEVEL einschränken.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar in Microsoft Windows XP und höheren Betriebssystemen und DirectX 8.0 und höher directX-Versionen.
Zielplattform- Universal
Header- ks.h (enthalten Ks.h)
Library Ks.lib
IRQL- PASSIVE_LEVEL (Siehe Abschnitt "Hinweise")

Siehe auch

IoCallDriver-

KsDeviceSetBusData