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 |
---|---|
|
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. |
|
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. |
|
Bewirkt, dass der ACM die Von den Elementen hInstance und pszTemplateName identifizierte Dialogfeldvorlage erstellt. |
|
Das hInstance-Element identifiziert einen Datenblock, der eine vorab geladene Dialogfeldvorlage enthält. Wenn dieses Flag angegeben ist, ignoriert der ACM das Element pszTemplateName . |
|
Der Puffer, auf den pwfltr verweist, enthält eine gültige WAVEFILTER-Struktur , die das Dialogfeld als Anfangsauswahl verwendet. |
|
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 |
---|---|
|
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 |