다음을 통해 공유


ACMSTREAMHEADER 구조체(msacm.h)

ACMSTREAMHEADER 구조체는 변환 스트림에 대한 ACM 변환 원본 및 대상 버퍼 쌍을 식별하는 데 사용되는 헤더를 정의합니다.

구문

typedef struct tACMSTREAMHEADER {
  DWORD     cbStruct;
  DWORD     fdwStatus;
  DWORD_PTR dwUser;
  LPBYTE    pbSrc;
  DWORD     cbSrcLength;
  DWORD     cbSrcLengthUsed;
  DWORD_PTR dwSrcUser;
  LPBYTE    pbDst;
  DWORD     cbDstLength;
  DWORD     cbDstLengthUsed;
  DWORD_PTR dwDstUser;
  DWORD     dwReservedDriver[_DRVRESERVED];
} ACMSTREAMHEADER, *PACMSTREAMHEADER, *LPACMSTREAMHEADER;

멤버

cbStruct

ACMSTREAMHEADER 구조체의 크기(바이트)입니다. 애플리케이션이 이 구조를 사용하여 ACM 스트림 함수를 호출하기 전에 이 멤버를 초기화해야 합니다. 이 멤버에 지정된 크기는 기본 ACMSTREAMHEADER 구조를 포함할 수 있을 만큼 커야 합니다.

fdwStatus

변환 버퍼에 대한 정보를 제공하는 플래그입니다. 애플리케이션이 acmStreamPrepareHeader 함수를 호출하기 전에 이 멤버를 0으로 초기화해야 하며 스트림 헤더가 준비된 상태로 유지되는 동안 애플리케이션에서 수정해서는 안 됩니다.

Name 설명
ACMSTREAMHEADER_STATUSF_DONE
변환이 완료되고 버퍼를 애플리케이션에 반환함을 나타내기 위해 ACM 또는 드라이버에서 설정합니다.
ACMSTREAMHEADER_STATUSF_INQUEUE
변환을 위해 버퍼가 큐에 대기 중임을 나타내기 위해 ACM 또는 드라이버에서 설정합니다.
ACMSTREAMHEADER_STATUSF_PREPARED
acmStreamPrepareHeader 함수를 사용하여 버퍼가 준비되었음을 나타내기 위해 ACM에서 설정합니다.

dwUser

사용자 데이터. 애플리케이션에서 지정한 모든 instance 데이터일 수 있습니다.

pbSrc

원본 버퍼에 대한 포인터입니다. 스트림 헤더가 준비된 상태로 유지된 상태에서 이 포인터는 항상 동일한 위치를 참조해야 합니다. 애플리케이션에서 원본 위치를 변경해야 하는 경우 헤더를 준비 취소하고 대체 위치로 다시 준비해야 합니다.

cbSrcLength

pbSrc가 가리키는 원본 버퍼의 길이(바이트)입니다. 헤더가 준비되면 이 멤버는 원본 버퍼에 사용할 최대 크기를 지정해야 합니다. 원래 준비된 크기보다 작거나 같은 원본 길이에서 변환을 수행할 수 있습니다. 그러나 애플리케이션에서 헤더를 준비하지 않은 경우 이 멤버를 원래 크기로 다시 설정해야 합니다.

cbSrcLengthUsed

변환에 사용되는 데이터 양(바이트)입니다. 이 멤버는 변환이 완료될 때까지 유효하지 않습니다. 이 값은 cbSrcLength보다 작거나 같을 수 있습니다. 변환 스트림에 대한 원본 데이터의 다음 부분으로 전환할 때 애플리케이션은 cbSrcLengthUsed 멤버를 사용해야 합니다.

dwSrcUser

사용자 데이터. 애플리케이션에서 지정한 모든 instance 데이터일 수 있습니다.

pbDst

대상 버퍼에 대한 포인터입니다. 스트림 헤더가 준비된 상태로 유지된 상태에서 이 포인터는 항상 동일한 위치를 참조해야 합니다. 애플리케이션이 대상 위치를 변경해야 하는 경우 헤더를 준비 취소하고 대체 위치로 다시 준비해야 합니다.

cbDstLength

pbDst가 가리키는 대상 버퍼의 길이(바이트)입니다. 헤더가 준비되면 이 멤버는 대상 버퍼에 사용할 최대 크기를 지정해야 합니다.

cbDstLengthUsed

변환에서 반환되는 데이터 양(바이트)입니다. 이 멤버는 변환이 완료될 때까지 유효하지 않습니다. 이 값은 cbDstLength보다 작거나 같을 수 있습니다. 변환 스트림의 다음 대상 위치로 전환할 때 애플리케이션은 cbDstLengthUsed 멤버를 사용해야 합니다.

dwDstUser

사용자 데이터. 애플리케이션에서 지정한 모든 instance 데이터일 수 있습니다.

dwReservedDriver[_DRVRESERVED]

예약되어 있으므로 사용하지 마세요. 이 멤버는 애플리케이션에서 초기화할 필요가 없으며 헤더가 준비된 상태로 유지되는 동안에는 수정해서는 안 됩니다.

설명

변환에 ACMSTREAMHEADER 구조를 사용하려면 먼저 acmStreamPrepareHeader 함수를 사용하여 준비해야 합니다. 애플리케이션이 ACMSTREAMHEADER 구조로 완료되면 원본 및 대상 버퍼를 해제하기 전에 acmStreamUnprepareHeader 함수를 호출해야 합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
머리글 msacm.h

참고 항목

오디오 압축 관리자

오디오 압축 구조

acmStreamPrepareHeader

acmStreamUnprepareHeader