KsDeviceGetBusData 함수(ks.h)
KsDeviceGetBusData 함수는 지정된 AVStream 디바이스가 있는 버스에서 데이터를 읽습니다.
구문
KSDDKAPI ULONG KsDeviceGetBusData(
[in] PKSDEVICE Device,
[in] ULONG DataType,
[in] PVOID Buffer,
[in] ULONG Offset,
[in] ULONG Length
);
매개 변수
[in] Device
버스에서 데이터를 읽어야 하는 지정된 AVStream 디바이스를 나타내는 KSDEVICE 구조체에 대한 포인터입니다.
[in] DataType
이 매개 변수는 읽을 버스 데이터의 형식을 나타냅니다. 0은 구성 공간에 해당합니다. 자세한 내용은 IRP_MN_READ_CONFIG 대한 참조 페이지에서 WhichSpace에 대한 설명을 참조하세요.
[in] Buffer
버스에서 읽은 데이터를 수신하는 버퍼에 대한 포인터입니다. 길이만큼 커야 합니다.
[in] Offset
이 매개 변수는 데이터를 읽는 DataType 에 지정된 공간의 바이트 오프셋을 포함합니다.
[in] Length
이 매개 변수는 Buffer로 읽을 바이트 수를 지정합니다.
반환 값
KsDeviceGetBusData 는 버스에서 실제로 읽은 바이트 수를 반환합니다. 오류가 발생하면 이 값은 0입니다.
설명
지정된 디바이스가 있는 버스의 드라이버에 따라 이 함수에 대해 두 가지 가능한 동작과 제한 집합이 있습니다. 지정된 버스 드라이버가 버스 인터페이스 표준(일반적으로 PCI)을 지원하는 경우 IRQL = PASSIVE_LEVEL 또는 DISPATCH_LEVEL 이 함수를 호출합니다. 이러한 호출 후 KsDeviceGetBusData 는 요청된 공간에서 읽은 실제 바이트 수를 반환합니다. 그러나 지정된 버스 드라이버가 버스 인터페이스 표준을 지원하지 않는 경우 AVStream은 IoCallDriver를 통해 버스 드라이버와 통신합니다. 이렇게 하면 KsDeviceGetBusData 의 사용이 IRQL = PASSIVE_LEVEL 제한되며 반환 값이 실패할 경우 0이거나 데이터 취득에 성공한 경우 Length 와 같음도 의미합니다.
호환성을 보장하기 위해 미니드라이버 작성기는 KsDeviceGetBusData 의 사용을 IRQL = PASSIVE_LEVEL 제한할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Microsoft Windows XP 이상 운영 체제 및 DirectX 8.0 이상 DirectX 버전에서 사용할 수 있습니다. |
대상 플랫폼 | 유니버설 |
헤더 | ks.h(Ks.h 포함) |
라이브러리 | Ks.lib |
IRQL | PASSIVE_LEVEL(설명 섹션 참조) |