Share via


Estructura ACMFILTERCHOOSE (msacm.h)

La estructura ACMFILTERCHOOSE contiene información que ACM usa para inicializar el cuadro de diálogo de selección de filtro de forma de onda-audio definido por el sistema. Una vez que el usuario cierra el cuadro de diálogo, el sistema devuelve información sobre la selección del usuario en esta estructura.

Sintaxis

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;

Members

cbStruct

Tamaño, en bytes, de la estructura ACMFILTERCHOOSE . Este miembro debe inicializarse antes de que una aplicación llame a la función acmFilterChoose . El tamaño especificado en este miembro debe ser lo suficientemente grande como para contener la estructura base ACMFILTERCHOOSE .

fdwStyle

Marcas de estilo opcionales para la función acmFilterChoose . Este miembro debe inicializarse en una combinación válida de las marcas siguientes antes de que una aplicación llame a la función acmFilterChoose . Se definen los valores siguientes:

Nombre Descripción
ACMFILTERCHOOSE_STYLEF_CONTEXTHELP
La ayuda contextual estará disponible en el cuadro de diálogo. Para usar esta característica, una aplicación debe registrar las constantes ACMHELPMSGCONTEXTMENU y ACMHELPMSGCONTEXTHELP, mediante la función RegisterWindowMessage . Cuando el usuario invoca ayuda, el mensaje registrado se publicará en la ventana propietaria. El mensaje contendrá los parámetros wParam y lParam del WM_CONTEXTMENU original o WM_CONTEXTHELP mensaje.
ACMFILTERCHOOSE_STYLEF_ENABLEHOOK
Habilita la función de enlace especificada en el miembro pfnHook . Una aplicación puede usar funciones de enlace para una variedad de personalizaciones, incluida la respuesta al mensaje de MM_ACM_FILTERCHOOSE .
ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATE
Hace que el ACM cree la plantilla del cuadro de diálogo identificada por los miembros hInstance y pszTemplateName .
ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATEHANDLE
El miembro hInstance identifica un bloque de datos que contiene una plantilla de cuadro de diálogo precargada. Si se especifica esta marca, el ACM omite el miembro pszTemplateName .
ACMFILTERCHOOSE_STYLEF_INITTOFILTERSTRUCT
El búfer al que apunta pwfltr contiene una estructura WAVEFILTER válida que el cuadro de diálogo usará como selección inicial.
ACMFILTERCHOOSE_STYLEF_SHOWHELP
Aparecerá un botón de ayuda en el cuadro de diálogo. Para usar un archivo de Ayuda personalizado, una aplicación debe registrar el valor ACMHELPMSGSTRING con la función RegisterWindowMessage . Cuando el usuario presiona el botón de ayuda, el mensaje registrado se publica en el propietario.

hwndOwner

Identificador de la ventana que posee el cuadro de diálogo. Este miembro puede ser cualquier identificador de ventana válido o NULL si el cuadro de diálogo no tiene propietario. Este miembro debe inicializarse antes de llamar a la función acmFilterChoose .

pwfltr

Puntero a una estructura WAVEFILTER . Si se especifica la marca ACMFILTERCHOOSE_STYLEF_INITTOFILTERSTRUCT en el miembro fdwStyle , esta estructura debe inicializarse en un filtro válido. Cuando se devuelve la función acmFilterChoose , este búfer contiene el filtro seleccionado. Si el usuario cancela el cuadro de diálogo, no se realizarán cambios en este búfer.

cbwfltr

Tamaño, en bytes, del búfer al que apunta el miembro pwfltr . La función acmFilterChoose devuelve ACMERR_NOTPOSSIBLE si el búfer es demasiado pequeño para contener la información del filtro; el ACM también copia el tamaño necesario en este miembro. Una aplicación puede usar las funciones acmMetrics y acmFilterTagDetails para determinar el tamaño más grande necesario para este búfer.

pszTitle

Puntero a una cadena que se va a colocar en la barra de título del cuadro de diálogo. Si este miembro es NULL, el ACM usa el título predeterminado (es decir, "Selección de filtro").

szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS]

Búfer que contiene una cadena terminada en null que describe la etiqueta de filtro de la selección de filtro cuando la estructura ACMFILTERTAGDETAILS devuelta por acmFilterTagDetails. Si el usuario cancela el cuadro de diálogo, este miembro contendrá una cadena terminada en null.

szFilter[ACMFILTERDETAILS_FILTER_CHARS]

Búfer que contiene una cadena terminada en null que describe los atributos de filtro de la selección de filtro cuando la estructura ACMFILTERDETAILS devuelta por acmFilterDetails. Si el usuario cancela el cuadro de diálogo, este miembro contendrá una cadena terminada en null.

pszName

Puntero a una cadena para un nombre de filtro definido por el usuario. Si se trata de una cadena no terminada en null, el ACM intenta hacer coincidir el nombre con un nombre de filtro definido por el usuario guardado anteriormente. Si se encuentra una coincidencia, el cuadro de diálogo se inicializa en ese filtro. Si no se encuentra una coincidencia o este miembro es una cadena terminada en null, este miembro se omite para la entrada. Cuando la función acmFilterChoose devuelve, este búfer contiene una cadena terminada en null que describe el filtro definido por el usuario. Si el nombre del filtro no tiene título (es decir, el usuario no ha asignado un nombre para el filtro), este miembro será una cadena terminada en null al devolver. Si el usuario cancela el cuadro de diálogo, no se realizarán cambios en este búfer.

Si el miembro fdwStyle especifica la marca ACMFILTERCHOOSE_STYLEF_INITTOFILTERSTRUCT, el miembro pszName se omite como miembro de entrada.

cchName

Tamaño, en caracteres, del búfer identificado por el miembro pszName . Este búfer debe tener al menos 128 caracteres. Si pszName es NULL, este miembro se omite.

fdwEnum

Marcas opcionales para restringir el tipo de filtros enumerados en el cuadro de diálogo. Estas marcas son idénticas a las marcas fdwEnum para la función acmFilterEnum . Si pwfltrEnum es NULL, este miembro debe ser cero.

Nombre Descripción
ACM_FILTERENUMF_DWFILTERTAG
El miembro dwFilterTag de la estructura WAVEFILTER a la que apunta el miembro pwfltrEnum es válido. El enumerador solo enumerará un filtro que se ajuste a este atributo.

pwfltrEnum

Puntero a una estructura WAVEFILTER que se usará para restringir los filtros enumerados en el cuadro de diálogo. El miembro fdwEnum define qué miembros de esta estructura se deben usar para las restricciones de enumeración. El miembro cbStruct de esta estructura WAVEFILTER debe inicializarse en el tamaño de la estructura WAVEFILTER . Si no se desea ninguna restricción especial, este miembro puede ser NULL.

hInstance

Controle a un bloque de datos que contenga una plantilla de cuadro de diálogo especificada por el miembro pszTemplateName . Este miembro solo se usa si el miembro fdwStyle especifica la marca ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATE o ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATEHANDLE; de lo contrario, este miembro debe ser NULL en la entrada.

pszTemplateName

Puntero a una cadena terminada en null que especifica el nombre del archivo de recursos para la plantilla de cuadro de diálogo que se va a sustituir por la plantilla del cuadro de diálogo en el ACM. Una aplicación puede usar la macro MAKEINTRESOURCE para los recursos de cuadro de diálogo numerados. Este miembro solo se usa si el miembro fdwStyle especifica la marca ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATE; de lo contrario, este miembro debe ser NULL en la entrada.

lCustData

Datos definidos por la aplicación que el ACM pasa a la función de enlace identificada por el miembro pfnHook . El sistema pasa los datos en el parámetro lParam del mensaje WM_INITDIALOG .

pfnHook

Puntero a una función de devolución de llamada que procesa los mensajes destinados al cuadro de diálogo. Una aplicación debe especificar la marca ACMFILTERCHOOSE_STYLEF_ENABLEHOOK en el miembro fdwStyle para habilitar el enlace; de lo contrario, este miembro debe ser NULL. La función de enlace debe devolver FALSE para pasar un mensaje al procedimiento del cuadro de diálogo estándar o TRUE para descartar el mensaje. El tipo de función de devolución de llamada es acmFilterChooseHookProc.

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Encabezado msacm.h

Consulte también

ACMFILTERDETAILS

ACMFILTERTAGDETAILS

Administrador de compresión de audio

Estructuras de compresión de audio

MAKEINTRESOURCE

MM_ACM_FILTERCHOOSE

RegisterWindowMessage

WAVEFILTER

WM_INITDIALOG

acmFilterChoose

acmFilterDetails

acmFilterEnum

acmFilterTagDetails

acmMetrics