KSRTAUDIO_HWREGISTER 구조체(ksmedia.h)

KSRTAUDIO_HWREGISTER 구조는 클라이언트에서 요청한 하드웨어 레지스터에 대한 주소 및 추가 정보를 지정합니다. KSPROPERTY_RTAUDIO_POSITIONREGISTER KSPROPERTY_RTAUDIO_CLOCKREGISTER 통해 등록 요청에 대한 응답으로 드라이버에 의해 채워집니다.

구문

typedef struct {
  PVOID     Register;
  ULONG     Width;
  ULONGLONG Numerator;
  ULONGLONG Denominator;
  ULONG     Accuracy;
} KSRTAUDIO_HWREGISTER, *PKSRTAUDIO_HWREGISTER;

멤버

Register

레지스터에 대한 포인터입니다. 이 멤버는 레지스터가 매핑되는 가상 주소를 지정합니다.

Width

레지스터의 너비를 비트 단위로 지정합니다. 이 멤버의 값은 32 또는 64일 수 있습니다.

Numerator

클록이 증분되는 빈도의 숫자자를 지정합니다. 다음 설명을 참조하세요. 섹션을 참조하세요.

Denominator

클록이 증분되는 빈도의 분모를 지정합니다. 다음 설명을 참조하세요. 섹션을 참조하세요.

Accuracy

클록 또는 위치 레지스터의 정확도를 지정합니다. 다음 설명 섹션을 참조하세요.

설명

KSPROPERTY_RTAUDIO_POSITIONREGISTER 통해 하드웨어 위치 레지스터 요청의 경우 다른 멤버는 클록 레지스터와 관련이 있기 때문에 드라이버가 레지스터, 너비정확도 멤버를 채웁니다. KSPROPERTY_RTAUDIO_CLOCKREGISTER 통해 하드웨어 클록 레지스터 요청의 경우 드라이버는 전체 구조를 채웁니다.

클록 레지스터는 오디오 디바이스의 내부 버스를 구동하는 내부 하드웨어 시계의 빈도로 증가되는 카운터입니다. 레지스터는 클록의 각 틱을 사용하여 하나씩 증가합니다. 레지스터는 디바이스의 전원이 켜지고 디바이스가 꺼져 있을 때까지 계속 실행될 때 계산을 시작합니다. 시계 레지스터는 소프트웨어에서 두 개 이상의 디바이스를 독립 하드웨어 클록과 동기화하는 데 사용됩니다.

멤버 숫자와분모 는 함께 클록이 증분되는 빈도를 지정합니다. 빈도는 분자 를 분모로 나누어 계산 합니다.

클록 레지스터는 오디오 디바이스의 내부 클록 빈도로 증가합니다. 이는 오디오 디바이스가 일반적으로 내부 버스 또는 외부 코덱 링크에서 이벤트를 클록하는 데 사용하는 빈도입니다. 하드웨어는 내부 클록 주파수를 낮추어 오디오 샘플 주파수를 파생합니다.

오디오 디바이스는 온칩 크리스탈 진동기 또는 외부 클록 신호에서 내부 클록을 파생시킬 수 있습니다. 예를 들어 디바이스가 33MHz 외부 클록을 2로 나누어 16.5MHz 내부 클록을 파생하는 경우, 분자와 분모는 각각 33,000,000 및 2로 지정할 수 있습니다.

Accuracy 매개 변수는 위치 또는 클록 레지스터 읽기의 최대 오류를 지정합니다. 이는 기본적으로 레지스터에 대한 업데이트 속도의 표현입니다. 클록 레지스터의 경우 Accuracy 매개 변수는 레지스터 업데이트 사이의 클록 틱 수를 나타냅니다. 앞의 16.5MHz 내부 클록 예제에서 클록 레지스터가 4 클록마다 업데이트되는 경우 레지스터가 클록 틱 단위로 클록 레지스터의 정확도를 나타내야 하므로 정확도 매개 변수는 4로 설정됩니다.

위치 레지스터의 경우 Accuracy 매개 변수는 위치 레지스터의 정확도를 바이트 단위로 나타냅니다. 예를 들어 2 채널, 16비트 PCM 스트림의 오디오 프레임 크기는 4바이트입니다. 위치 레지스터가 샘플 클록의 초당 틱마다 2배씩 증가하면 정확도 값은 8바이트입니다. 위치 레지스터가 샘플 클록의 네 번째 틱마다 한 번씩(프레임 크기의 4배) 증가하면 정확도 값은 16바이트입니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista 이상 Windows 운영 체제에서 사용할 수 있습니다.
머리글 ksmedia.h

추가 정보

KSPROPERTY_RTAUDIO_CLOCKREGISTER

KSPROPERTY_RTAUDIO_POSITIONREGISTER

KSRTAUDIO_HWREGISTER_PROPERTY