ACMFILTERCHOOSE-Struktur (msacm.h)

Die ACMFILTERCHOOSE-Struktur enthält Informationen, die ACM verwendet, um das systemdefinierte Dialogfeld für die Auswahl von Wellenform-Audiofiltern zu initialisieren. Nachdem der Benutzer das Dialogfeld geschlossen hat, gibt das System Informationen zur Auswahl des Benutzers in dieser Struktur zurück.

Syntax

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

Größe der ACMFILTERCHOOSE-Struktur in Bytes. Dieses Element muss initialisiert werden, bevor eine Anwendung die Funktion acmFilterChoose aufruft . Die in diesem Member angegebene Größe muss groß genug sein, um die ACMFILTERCHOOSE-Basisstruktur zu enthalten.

fdwStyle

Optionale Formatflags für die Funktion acmFilterChoose . Dieses Element muss mit einer gültigen Kombination der folgenden Flags initialisiert werden, bevor eine Anwendung die Funktion acmFilterChoose aufruft . Die folgenden Werte werden definiert:

Name BESCHREIBUNG
ACMFILTERCHOOSE_STYLEF_CONTEXTHELP
Kontextbezogene Hilfe ist im Dialogfeld verfügbar. Um dieses Feature verwenden zu können, muss eine Anwendung die Konstanten ACMHELPMSGCONTEXTMENU und ACMHELPMSGCONTEXTHELPHELP mithilfe der Funktion RegisterWindowMessage registrieren. Wenn der Benutzer Hilfe aufruft, wird die registrierte Nachricht an das Besitzerfenster gesendet. Die Nachricht enthält die Parameter wParam und lParam aus der ursprünglichen WM_CONTEXTMENU oder WM_CONTEXTHELP Nachricht.
ACMFILTERCHOOSE_STYLEF_ENABLEHOOK
Aktiviert die hook-Funktion, die im pfnHook-Member angegeben ist. Eine Anwendung kann Hookfunktionen für eine Vielzahl von Anpassungen verwenden, einschließlich der Beantwortung der MM_ACM_FILTERCHOOSE Nachricht.
ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATE
Bewirkt, dass der ACM die Von den Elementen hInstance und pszTemplateName identifizierte Dialogfeldvorlage erstellt.
ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATEHANDLE
Das hInstance-Element identifiziert einen Datenblock, der eine vorab geladene Dialogfeldvorlage enthält. Wenn dieses Flag angegeben ist, ignoriert der ACM das Element pszTemplateName .
ACMFILTERCHOOSE_STYLEF_INITTOFILTERSTRUCT
Der Puffer, auf den pwfltr verweist, enthält eine gültige WAVEFILTER-Struktur , die das Dialogfeld als Anfangsauswahl verwendet.
ACMFILTERCHOOSE_STYLEF_SHOWHELP
Im Dialogfeld wird eine Hilfeschaltfläche angezeigt. Um eine benutzerdefinierte Hilfedatei zu verwenden, muss eine Anwendung den Wert ACMHELPMSGSTRING bei der Funktion RegisterWindowMessage registrieren. Wenn der Benutzer die Hilfeschaltfläche drückt, wird die registrierte Nachricht an den Besitzer gesendet.

hwndOwner

Handle für das Fenster, das das Dialogfeld besitzt. Dieser Member kann ein beliebiges gültiges Fensterhandle oder NULL sein, wenn das Dialogfeld keinen Besitzer hat. Dieser Member muss initialisiert werden, bevor die Funktion acmFilterChoose aufgerufen wird.

pwfltr

Zeiger auf eine WAVEFILTER-Struktur . Wenn das flag ACMFILTERCHOOSE_STYLEF_INITTOFILTERSTRUCT im fdwStyle-Element angegeben ist, muss diese Struktur mit einem gültigen Filter initialisiert werden. Wenn die acmFilterChoose-Funktion zurückgibt, enthält dieser Puffer den ausgewählten Filter. Wenn der Benutzer das Dialogfeld abbricht, werden keine Änderungen an diesem Puffer vorgenommen.

cbwfltr

Größe des Puffers in Bytes, auf den das pwfltr-Element verweist. Die Funktion acmFilterChoose gibt ACMERR_NOTPOSSIBLE zurück, wenn der Puffer zu klein ist, um die Filterinformationen zu enthalten. der ACM kopiert auch die erforderliche Größe in dieses Element. Eine Anwendung kann die Funktionen acmMetrics und acmFilterTagDetails verwenden, um die größte größe zu bestimmen, die für diesen Puffer erforderlich ist.

pszTitle

Zeiger auf eine Zeichenfolge, die in der Titelleiste des Dialogfelds platziert werden soll. Wenn dieses Element NULL ist, verwendet der ACM den Standardtitel (d. a. "Filterauswahl").

szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS]

Puffer mit einer null-beendeten Zeichenfolge, die das Filtertag der Filterauswahl beschreibt, wenn die Struktur ACMFILTERTAGDETAILS von acmFilterTagDetails zurückgegeben wird. Wenn der Benutzer das Dialogfeld abbricht, enthält dieses Element eine NULL-Zeichenfolge.

szFilter[ACMFILTERDETAILS_FILTER_CHARS]

Puffer mit einer null-beendeten Zeichenfolge, die die Filterattribute der Filterauswahl beschreibt, wenn die Struktur ACMFILTERDETAILS von acmFilterDetails zurückgegeben wird. Wenn der Benutzer das Dialogfeld abbricht, enthält dieses Element eine NULL-Zeichenfolge.

pszName

Zeiger auf eine Zeichenfolge für einen benutzerdefinierten Filternamen. Wenn es sich hierbei um eine Zeichenfolge ohne NULL-Beendigung handelt, versucht der ACM, den Namen mit einem zuvor gespeicherten benutzerdefinierten Filternamen abzugleichen. Wenn eine Übereinstimmung gefunden wird, wird das Dialogfeld mit diesem Filter initialisiert. Wenn keine Übereinstimmung gefunden wird oder es sich bei diesem Member um eine NULL-beendete Zeichenfolge handelt, wird dieser Member für die Eingabe ignoriert. Wenn die acmFilterChoose-Funktion zurückgibt, enthält dieser Puffer eine null-beendete Zeichenfolge, die den benutzerdefinierten Filter beschreibt. Wenn der Filtername unbenannt ist (d. h. der Benutzer hat keinen Namen für den Filter angegeben), ist dieser Member bei der Rückgabe eine NULL-beendete Zeichenfolge. Wenn der Benutzer das Dialogfeld abbricht, werden keine Änderungen an diesem Puffer vorgenommen.

Wenn das ACMFILTERCHOOSE_STYLEF_INITTOFILTERSTRUCT-Flag vom fdwStyle-Member angegeben wird, wird das pszName-Element als Eingabemember ignoriert.

cchName

Größe des Puffers, der vom element pszName identifiziert wird, in Zeichen. Dieser Puffer sollte mindestens 128 Zeichen lang sein. Wenn pszNameNULL ist, wird dieses Element ignoriert.

fdwEnum

Optionale Flags zum Einschränken des Typs der im Dialogfeld aufgeführten Filter. Diese Flags sind mit den fdwEnum-Flags für die Funktion acmFilterEnum identisch. Wenn pwfltrEnumNULL ist, sollte dieser Member 0 sein.

Name BESCHREIBUNG
ACM_FILTERENUMF_DWFILTERTAG
Das dwFilterTag-Element der WAVEFILTER-Struktur , auf die vom pwfltrEnum-Element verwiesen wird, ist gültig. Der Enumerator listet nur einen Filter auf, der diesem Attribut entspricht.

pwfltrEnum

Zeiger auf eine WAVEFILTER-Struktur , die verwendet wird, um die im Dialogfeld aufgeführten Filter einzuschränken. Das fdwEnum-Element definiert, welche Member dieser Struktur für die Enumerationseinschränkungen verwendet werden sollen. Das cbStruct-Element dieser WAVEFILTER-Struktur muss auf die Größe der WAVEFILTER-Struktur initialisiert werden. Wenn keine besonderen Einschränkungen gewünscht sind, kann dieser Member NULL sein.

hInstance

Behandeln Sie einen Datenblock, der eine Dialogfeldvorlage enthält, die vom Element pszTemplateName angegeben wird. Dieses Element wird nur verwendet, wenn das fdwStyle-Element das flag ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATE oder ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATEHANDLE angibt. Andernfalls sollte dieser Member bei der Eingabe NULL sein.

pszTemplateName

Zeiger auf eine NULL-Zeichenfolge, die den Namen der Ressourcendatei für die Dialogfeldvorlage angibt, die durch die Dialogfeldvorlage im ACM ersetzt werden soll. Eine Anwendung kann das MAKEINTRESOURCE-Makro für nummerierte Dialogfeldressourcen verwenden. Dieses Element wird nur verwendet, wenn das fdwStyle-Element das ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATE-Flag angibt. Andernfalls sollte dieser Member bei der Eingabe NULL sein.

lCustData

Anwendungsdefinierte Daten, die der ACM an die Vom pfnHook-Member identifizierte Hookfunktion übergibt. Das System übergibt die Daten im lParam-Parameter der WM_INITDIALOG Nachricht.

pfnHook

Zeiger auf eine Rückruffunktion, die nachrichten verarbeitet, die für das Dialogfeld vorgesehen sind. Eine Anwendung muss das ACMFILTERCHOOSE_STYLEF_ENABLEHOOK-Flag im fdwStyle-Member angeben, um den Hook zu aktivieren. Andernfalls sollte dieser Member NULL sein. Die Hookfunktion sollte FALSE zurückgeben, um eine Nachricht an die Standarddialogfeldprozedur zu übergeben, oder TRUE , um die Nachricht zu verwerfen. Der Rückruffunktionstyp ist acmFilterChooseHookProc.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Kopfzeile msacm.h

Weitere Informationen

ACMFILTERDETAILS

ACMFILTERTAGDETAILS

Audiokomprimierungs-Manager

Audiokomprimierungsstrukturen

MAKEINTRESOURCE

MM_ACM_FILTERCHOOSE

RegisterWindowMessage

WAVEFILTER

WM_INITDIALOG

acmFilterChoose

acmFilterDetails

acmFilterEnum

acmFilterTagDetails

acmMetrics