Share via


ACMFORMATCHOOSE 구조체(msacm.h)

ACMFORMATCHOOSE 구조체에는 ACM이 시스템 정의 파형 오디오 형식 선택 대화 상자를 초기화하는 데 사용하는 정보가 포함되어 있습니다. 사용자가 대화 상자를 닫은 후 시스템은 이 구조에서 사용자의 선택 항목에 대한 정보를 반환합니다.

구문

typedef struct tACMFORMATCHOOSE {
  DWORD                   cbStruct;
  DWORD                   fdwStyle;
  HWND                    hwndOwner;
  LPWAVEFORMATEX          pwfx;
  DWORD                   cbwfx;
  LPCSTR                  pszTitle;
  char                    szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
  char                    szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
  LPSTR                   pszName;
  DWORD                   cchName;
  DWORD                   fdwEnum;
  LPWAVEFORMATEX          pwfxEnum;
  HINSTANCE               hInstance;
  LPCSTR                  pszTemplateName;
  LPARAM                  lCustData;
  ACMFORMATCHOOSEHOOKPROC pfnHook;
} ACMFORMATCHOOSE, *PACMFORMATCHOOSE, *LPACMFORMATCHOOSE;

멤버

cbStruct

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

fdwStyle

acmFormatChoose 함수에 대한 선택적 스타일 플래그입니다. 애플리케이션이 acmFormatChoose 함수를 호출하기 전에 이 멤버를 다음 플래그의 유효한 조합으로 초기화해야 합니다.

Name Description
ACMFORMATCHOOSE_STYLEF_CONTEXTHELP
상황에 맞는 도움말은 대화 상자에서 사용할 수 있습니다. 이 기능을 사용하려면 애플리케이션이 RegisterWindowMessage 함수를 사용하여 ACMHELPMSGCONTEXTMENU 및 ACMHELPMSGCONTEXTHELP 상수를 등록해야 합니다. 사용자가 도움말을 호출하면 등록된 메시지가 소유 창에 게시됩니다. 메시지에는 원래 WM_CONTEXTMENU 또는 WM_CONTEXTHELP 메시지의 wParamlParam 매개 변수가 포함됩니다.
ACMFORMATCHOOSE_STYLEF_ENABLEHOOK
pfnHook 멤버가 가리키는 후크 함수를 사용하도록 설정합니다. 애플리케이션은 MM_ACM_FORMATCHOOSE 메시지에 응답하는 등 다양한 사용자 지정에 후크 함수를 사용할 수 있습니다.
ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE
ACM이 hInstancepszTemplateName으로 식별된 대화 상자 템플릿을 만들도록 합니다.
ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATEHANDLE
hInstance 멤버는 미리 로드된 대화 상자 템플릿이 포함된 데이터 블록을 식별합니다. 이 플래그를 지정하면 ACM은 pszTemplateName 멤버를 무시합니다.
ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT
pwfx가 가리키는 버퍼에는 대화 상자가 초기 선택 영역으로 사용할 유효한 WAVEFORMATEX 구조체가 포함되어 있습니다.
ACMFORMATCHOOSE_STYLEF_SHOWHELP
대화 상자에 도움말 단추가 나타납니다. 사용자 지정 도움말 파일을 사용하려면 애플리케이션이 ACMHELPMSGSTRING 상수를 RegisterWindowMessage 함수에 등록해야 합니다. 사용자가 도움말 단추를 누르면 등록된 메시지가 소유자에게 게시됩니다.

hwndOwner

대화 상자를 소유하는 창에 대한 핸들입니다. 이 멤버는 유효한 창 핸들이거나 대화 상자에 소유자가 없는 경우 NULL 일 수 있습니다. acmFormatChoose 함수를 호출하기 전에 이 멤버를 초기화해야 합니다.

pwfx

WAVEFORMATEX 구조체에 대한 포인터입니다. fdwStyle 멤버에 ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT 플래그를 지정하는 경우 이 구조체를 유효한 형식으로 초기화해야 합니다. acmFormatChoose 함수가 반환되면 이 버퍼에는 선택한 형식이 포함됩니다. 사용자가 대화 상자를 취소하면 이 버퍼가 변경되지 않습니다.

cbwfx

pwfx가 가리키는 버퍼의 크기(바이트)입니다. 버퍼가 너무 작아서 형식 정보를 포함할 수 없는 경우 acmFormatChoose 함수는 ACMERR_NOTPOSSIBLE 반환합니다. 또한 ACM은 필요한 크기를 이 멤버에 복사합니다. 애플리케이션은 acmMetricsacmFormatTagDetails 함수를 사용하여 이 버퍼에 필요한 가장 큰 크기를 결정할 수 있습니다.

pszTitle

대화 상자의 제목 표시줄에 배치할 문자열에 대한 포인터입니다. 이 멤버가 NULL인 경우 ACM은 기본 제목(즉, "소리 선택")을 사용합니다.

szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS]

acmFormatTagDetails 함수에서 반환된 ACMFORMATTAGDETAILS 구조체가 반환될 때 형식 선택 영역의 형식 태그를 설명하는 null로 끝나는 문자열을 포함하는 버퍼입니다. 사용자가 대화 상자를 취소하면 이 멤버는 null로 끝나는 문자열을 포함합니다.

szFormat[ACMFORMATDETAILS_FORMAT_CHARS]

acmFormatDetails 함수에서 반환된 ACMFORMATDETAILS 구조체가 반환될 때 형식 선택의 형식 특성을 설명하는 null로 끝나는 문자열을 포함하는 버퍼입니다. 사용자가 대화 상자를 취소하면 이 멤버는 null로 끝나는 문자열을 포함합니다.

pszName

사용자 정의 형식 이름의 문자열에 대한 포인터입니다. null로 종료되지 않은 문자열인 경우 ACM은 이전에 저장된 사용자 정의 형식 이름과 이름을 일치시키려고 시도합니다. 일치 항목이 발견되면 대화 상자가 해당 형식으로 초기화됩니다. 일치 항목을 찾을 수 없거나 이 멤버가 null로 끝나는 문자열인 경우 이 멤버는 입력에서 무시됩니다. acmFormatChoose 함수가 반환되면 이 버퍼에는 사용자 정의 형식을 설명하는 null로 끝나는 문자열이 포함됩니다. 형식 이름이 제목이 지정되지 않은 경우(즉, 사용자가 형식의 이름을 지정하지 않은 경우) 이 멤버는 반환될 때 null로 끝나는 문자열이 됩니다. 사용자가 대화 상자를 취소하면 이 버퍼가 변경되지 않습니다.

cchName

pszName 멤버로 식별된 버퍼의 크기(문자)입니다. 이 버퍼의 길이는 128자 이상이어야 합니다. pszName 멤버가 NULL이면 이 멤버는 무시됩니다.

fdwEnum

대화 상자에 나열된 형식 유형을 제한하기 위한 선택적 플래그입니다. 이러한 플래그는 acmFormatEnum 함수의 fdwEnum 플래그와 동일합니다. pwfxEnumNULL이면 이 멤버는 0이어야 합니다. 다음 값이 정의됩니다.

Name Description
ACM_FORMATENUMF_CONVERT
pwfxEnum 멤버가 가리키는 WAVEFORMATEX 구조체가 유효합니다. 열거자는 지정된 pwfxEnum 형식에서 변환할 수 있는 대상 형식만 열거합니다.
ACM_FORMATENUMF_HARDWARE
열거자는 설치된 파형 오디오 디바이스 중 하나 이상에서 하드웨어에서 지원되는 형식만 열거해야 합니다. 이 플래그는 애플리케이션이 설치된 파형 오디오 디바이스에 네이티브 형식만 선택할 수 있는 방법을 제공합니다.
ACM_FORMATENUMF_INPUT
열거자는 입력(녹음)에 지원되는 형식만 열거해야 합니다.
ACM_FORMATENUMF_NCHANNELS
pwfxEnum 멤버가 가리키는 WAVEFORMATEX 구조체의 nChannels 멤버가 유효합니다. 열거자는 이 특성을 준수하는 형식만 열거합니다.
ACM_FORMATENUMF_NSAMPLESPERSEC
pwfxEnum 멤버가 가리키는 WAVEFORMATEX 구조체의 nSamplesPerSec 멤버가 유효합니다. 열거자는 이 특성을 준수하는 형식만 열거합니다.
ACM_FORMATENUMF_OUTPUT
열거자는 출력(재생)에 지원되는 형식만 열거해야 합니다.
ACM_FORMATENUMF_SUGGEST
pwfxEnum 멤버가 가리키는 WAVEFORMATEX 구조체가 유효합니다. 열거자는 지정된 pwfxEnum 형식에 대해 제안된 모든 대상 형식을 열거합니다.
ACM_FORMATENUMF_WBITSPERSAMPLE
pwfxEnum 멤버가 가리키는 WAVEFORMATEX 구조체의 wBitsPerSample 멤버가 유효합니다. 열거자는 이 특성을 준수하는 형식만 열거합니다.
ACM_FORMATENUMF_WFORMATTAG
pwfxEnum 멤버가 가리키는 WAVEFORMATEX 구조체의 wFormatTag 멤버가 유효합니다. 열거자는 이 특성을 준수하는 형식만 열거합니다.

pwfxEnum

대화 상자에 나열된 형식을 제한하는 데 사용할 WAVEFORMATEX 구조체에 대한 포인터입니다. fdwEnum 멤버는 열거형 제한에 사용해야 하는 pwfxEnum이 가리키는 구조체의 멤버를 정의합니다. 특별한 제한이 없으면 이 멤버는 NULL일 수 있습니다. pwfxEnum 멤버와 관련된 다른 요구 사항은 acmFormatEnum 함수에 대한 설명을 참조하세요.

hInstance

pszTemplateName 멤버가 지정한 대화 상자 템플릿이 포함된 데이터 블록에 대한 핸들입니다. 이 멤버는 fdwStyle 멤버가 ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE 또는 ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATEHANDLE 플래그를 지정하는 경우에만 사용됩니다. 그렇지 않으면 이 멤버는 입력에서 NULL 이어야 합니다.

pszTemplateName

ACM의 대화 상자 템플릿으로 대체될 대화 상자 템플릿의 리소스 파일 이름을 지정하는 null로 끝나는 문자열에 대한 포인터입니다. 애플리케이션은 번호가 매겨진 대화 상자 리소스에 MAKEINTRESOURCE 매크로를 사용할 수 있습니다. 이 멤버는 fdwStyle 멤버가 ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE 플래그를 지정하는 경우에만 사용됩니다. 그렇지 않으면 이 멤버는 입력에서 NULL 이어야 합니다.

lCustData

ACM이 pfnHook 멤버로 식별된 후크 함수에 전달하는 애플리케이션 정의 데이터입니다. 시스템은 WM_INITDIALOG 메시지의 lParam 매개 변수에 있는 데이터를 전달합니다.

pfnHook

대화 상자용 메시지를 처리하는 콜백 함수에 대한 포인터입니다. 애플리케이션은 후크를 사용하도록 설정하려면 fdwStyle 멤버에서 ACMFORMATCHOOSE_STYLEF_ENABLEHOOK 플래그를 지정해야 합니다. 그렇지 않으면 이 멤버는 NULL이어야 합니다. 후크 함수는 메시지를 표준 대화 상자 프로시저에 전달하려면 FALSE 를 반환하고 메시지를 삭제하려면 TRUE 를 반환해야 합니다. 콜백 함수 형식은 acmFormatChooseHookProc입니다.

요구 사항

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

참고 항목

ACMFORMATDETAILS

ACMFORMATTAGDETAILS

오디오 압축 관리자

오디오 압축 구조

MAKEINTRESOURCE

MM_ACM_FORMATCHOOSE

RegisterWindowMessage

WAVEFORMATEX

WM_INITDIALOG

acmFormatChoose

acmFormatDetails

acmFormatEnum

acmFormatTagDetails

acmMetrics