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. 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 vom Bus gelesenen Daten empfängt. Muss mindestens so groß wie Die Länge sein.
[in] Offset
Dieser Parameter enthält den Byteoffset in dem durch DataType angegebenen Bereich, aus dem Daten gelesen werden.
[in] Length
Dieser Parameter gibt die Anzahl der Bytes an, die in Buffer gelesen 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.
Hinweise
Abhängig vom 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 unter 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 Bereich gelesen werden. Wenn der angegebene Bustreiber jedoch den Busschnittstellenstandard nicht unterstützt, kommuniziert AVStream über IoCallDriver mit dem Bustreiber. Beachten Sie, dass dies die Verwendung von KsDeviceGetBusData auf IRQL = PASSIVE_LEVEL beschränkt und auch bedeutet, dass der Rückgabewert im Falle eines Fehlers entweder 0 oder gleich Length ist, wenn die Datenerfassung erfolgreich war.
Um die Kompatibilität sicherzustellen, möchten Minidriver-Writer möglicherweise die Verwendung von KsDeviceGetBusData 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 | PASSIVE_LEVEL (siehe Abschnitt "Hinweise") |