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(설명 섹션 참조)

추가 정보

IoCallDriver

KsDeviceSetBusData