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 |
---|---|
|
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. |
|
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 . |
|
Hace que el ACM cree la plantilla del cuadro de diálogo identificada por los miembros hInstance y pszTemplateName . |
|
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 . |
|
El búfer al que apunta pwfltr contiene una estructura WAVEFILTER válida que el cuadro de diálogo usará como selección inicial. |
|
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 |
---|---|
|
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
Administrador de compresión de audio