KSRTAUDIO_BUFFER_PROPERTY 구조체
KSRTAUDIO_BUFFER_PROPERTY 구조체는 버퍼 기본 주소와 요청된 버퍼 크기를 KSPROPERTY 구조체에 추가합니다. 이 구조는 클라이언트가 KSPROPERTY_RTAUDIO_BUFFER 통해 오디오 버퍼의 할당을 요청하는 데 사용됩니다.
구문
typedef struct {
KSPROPERTY Property;
PVOID BaseAddress;
ULONG RequestedBufferSize;
} KSRTAUDIO_BUFFER_PROPERTY, *PKSRTAUDIO_BUFFER_PROPERTY;
멤버
속성
KSPROPERTY_RTAUDIO_BUFFER 호출하기 전에 클라이언트가 적절하게 초기화하는 KSPROPERTY 구조체입니다.
BaseAddress
원하는 버퍼 기본 주소를 지정합니다. 클라이언트가 기본 주소를 지정하지 않는 한 이 매개 변수는 NULL로 설정됩니다.
RequestedBufferSize
원하는 버퍼 크기를 바이트 단위로 지정합니다. 드라이버는 반환하는 KSRTAUDIO_BUFFER 구조에서 할당된 버퍼의 실제 크기를 반환합니다.
설명
KSPROPERTY_RTAUDIO_BUFFER 요청은 KSRTAUDIO_BUFFER_PROPERTY 구조를 사용하여 클라이언트가 요청하는 순환 버퍼를 설명합니다. 드라이버는 실제로 할당된 버퍼를 설명하는 KSRTAUDIO_BUFFER 구조를 반환합니다.
클라이언트가 RequestedBufferSize 멤버에 쓰는 값은 드라이버에 바인딩되지 않습니다. 그러나 드라이버는 드라이버 자체의 버퍼 크기 제약 조건을 고려하여 요청된 크기에 최대한 가까운 버퍼 크기를 지정해야 합니다. 하드웨어가 요청된 크기를 처리할 수 없거나 시스템이 메모리가 부족한 경우 드라이버는 다른 크기의 버퍼를 할당합니다. 예를 들어 드라이버는 메모리 페이지보다 작지 않은 버퍼를 할당하거나 버퍼 크기를 다음 전체 샘플 블록으로 반올림합니다. 또한 시스템에서 메모리가 부족한 경우 드라이버는 요청된 크기보다 작은 버퍼를 할당합니다.
요구 사항
Version |
Windows Vista 이상 Windows 운영 체제에서 사용할 수 있습니다. |
헤더 |
Ksmedia.h |