다음을 통해 공유


ACMFILTERCHOOSE 구조체(msacm.h)

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

구문

typedef struct tACMFILTERCHOOSE {
  DWORD                   cbStruct;
  DWORD                   fdwStyle;
  HWND                    hwndOwner;
  LPWAVEFILTER            pwfltr;
  DWORD                   cbwfltr;
  LPCSTR                  pszTitle;
  char                    szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
  char                    szFilter[ACMFILTERDETAILS_FILTER_CHARS];
  LPSTR                   pszName;
  DWORD                   cchName;
  DWORD                   fdwEnum;
  LPWAVEFILTER            pwfltrEnum;
  HINSTANCE               hInstance;
  LPCSTR                  pszTemplateName;
  LPARAM                  lCustData;
  ACMFILTERCHOOSEHOOKPROC pfnHook;
} ACMFILTERCHOOSE, *PACMFILTERCHOOSE, *LPACMFILTERCHOOSE;

멤버

cbStruct

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

fdwStyle

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

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

hwndOwner

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

pwfltr

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

cbwfltr

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

pszTitle

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

szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS]

acmFilterTagDetails에서 반환된 ACMFILTERTAGDETAILS 구조체가 반환될 때 필터 선택 항목의 필터 태그를 설명하는 null로 끝나는 문자열을 포함하는 버퍼입니다. 사용자가 대화 상자를 취소하면 이 멤버는 null로 끝나는 문자열을 포함합니다.

szFilter[ACMFILTERDETAILS_FILTER_CHARS]

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

pszName

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

fdwStyle 멤버가 ACMFILTERCHOOSE_STYLEF_INITTOFILTERSTRUCT 플래그를 지정하면 pszName 멤버가 입력 멤버로 무시됩니다.

cchName

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

fdwEnum

대화 상자에 나열된 필터 유형을 제한하기 위한 선택적 플래그입니다. 이러한 플래그는 acmFilterEnum 함수의 fdwEnum 플래그와 동일합니다. pwfltrEnumNULL이면 이 멤버는 0이어야 합니다.

Name 설명
ACM_FILTERENUMF_DWFILTERTAG
pwfltrEnum 멤버가 가리키는 WAVEFILTER 구조체의 dwFilterTag 멤버가 유효합니다. 열거자는 이 특성을 준수하는 필터만 열거합니다.

pwfltrEnum

대화 상자에 나열된 필터를 제한하는 데 사용할 WAVEFILTER 구조체에 대한 포인터입니다. fdwEnum 멤버는 열거형 제한에 사용할 이 구조체의 멤버를 정의합니다. 이 WAVEFILTER 구조체의 cbStruct 멤버는 WAVEFILTER 구조체의 크기로 초기화되어야 합니다. 특별한 제한이 없으면 이 멤버는 NULL일 수 있습니다.

hInstance

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

pszTemplateName

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

lCustData

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

pfnHook

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

요구 사항

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

참고 항목

ACMFILTERDETAILS

ACMFILTERTAGDETAILS

오디오 압축 관리자

오디오 압축 구조

MAKEINTRESOURCE

MM_ACM_FILTERCHOOSE

RegisterWindowMessage

WAVEFILTER

WM_INITDIALOG

acmFilterChoose

acmFilterDetails

acmFilterEnum

acmFilterTagDetails

acmMetrics