Struttura ACMFILTERCHOOSE (msacm.h)
La struttura ACMFILTERCHOOSE contiene informazioni usate da ACM per inizializzare la finestra di dialogo di selezione del filtro waveform-audio definita dal sistema. Dopo che l'utente chiude la finestra di dialogo, il sistema restituisce informazioni sulla selezione dell'utente in questa struttura.
Sintassi
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
Dimensioni, in byte, della struttura ACMFILTERCHOOSE . Questo membro deve essere inizializzato prima che un'applicazione chiami la funzione acmFilterChoose . Le dimensioni specificate in questo membro devono essere sufficienti per contenere la struttura ACMFILTERCHOOSE di base.
fdwStyle
Flag di stile facoltativi per la funzione acmFilterChoose . Questo membro deve essere inizializzato in una combinazione valida dei flag seguenti prima che un'applicazione chiami la funzione acmFilterChoose . Vengono definiti i valori seguenti:
Nome | Descrizione |
---|---|
|
La Guida sensibile al contesto sarà disponibile nella finestra di dialogo. Per usare questa funzionalità, un'applicazione deve registrare le costanti ACMHELPMSGCONTEXTMENU e ACMHELPMSGCONTEXTHELP usando la funzione RegisterWindowMessage . Quando l'utente richiama la Guida, il messaggio registrato verrà inviato alla finestra proprietaria. Il messaggio conterrà i parametri wParam e lParam dal WM_CONTEXTMENU originale o WM_CONTEXTHELP messaggio. |
|
Abilita la funzione hook specificata nel membro pfnHook . Un'applicazione può usare funzioni hook per un'ampia gamma di personalizzazioni, tra cui la risposta al messaggio di MM_ACM_FILTERCHOOSE . |
|
Determina la creazione del modello di finestra di dialogo identificato dai membri hInstance e pszTemplateName . |
|
Il membro hInstance identifica un blocco di dati che contiene un modello di finestra di dialogo precaricato. Se questo flag viene specificato, ACM ignora il membro pszTemplateName . |
|
Il buffer a cui punta pwfltr contiene una struttura WAVEFILTER valida che verrà utilizzata dalla finestra di dialogo come selezione iniziale. |
|
Nella finestra di dialogo verrà visualizzato un pulsante della Guida. Per usare un file della Guida personalizzato, un'applicazione deve registrare il valore ACMHELPMSGSTRING con la funzione RegisterWindowMessage . Quando l'utente preme il pulsante della Guida, il messaggio registrato viene inviato al proprietario. |
hwndOwner
Handle per la finestra proprietaria della finestra di dialogo. Questo membro può essere qualsiasi handle di finestra valido o NULL se la finestra di dialogo non ha proprietario. Questo membro deve essere inizializzato prima di chiamare la funzione acmFilterChoose .
pwfltr
Puntatore a una struttura WAVEFILTER . Se il flag ACMFILTERCHOOSE_STYLEF_INITTOFILTERSTRUCT viene specificato nel membro fdwStyle , questa struttura deve essere inizializzata in un filtro valido. Quando viene restituita la funzione acmFilterChoose , questo buffer contiene il filtro selezionato. Se l'utente annulla la finestra di dialogo, non verranno apportate modifiche al buffer.
cbwfltr
Dimensioni, in byte, del buffer a cui punta il membro pwfltr . La funzione acmFilterChoose restituisce ACMERR_NOTPOSSIBLE se il buffer è troppo piccolo per contenere le informazioni sul filtro; ACM copia anche le dimensioni necessarie in questo membro. Un'applicazione può usare le funzioni acmMetrics e acmFilterTagDetails per determinare le dimensioni maggiori necessarie per questo buffer.
pszTitle
Puntatore a una stringa da inserire nella barra del titolo della finestra di dialogo. Se questo membro è NULL, ACM usa il titolo predefinito , ovvero "Filter Selection".
szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS]
Buffer contenente una stringa con terminazione Null che descrive il tag di filtro della selezione del filtro quando la struttura ACMFILTERTAGDETAILS restituita da acmFilterTagDetails. Se l'utente annulla la finestra di dialogo, questo membro conterrà una stringa con terminazione Null.
szFilter[ACMFILTERDETAILS_FILTER_CHARS]
Buffer contenente una stringa con terminazione Null che descrive gli attributi del filtro della selezione del filtro quando la struttura ACMFILTERDETAILS restituita da acmFilterDetails. Se l'utente annulla la finestra di dialogo, questo membro conterrà una stringa con terminazione Null.
pszName
Puntatore a una stringa per un nome di filtro definito dall'utente. Se si tratta di una stringa con terminazione non Null, ACM tenta di corrispondere al nome con un nome di filtro definito dall'utente salvato in precedenza. Se viene trovata una corrispondenza, la finestra di dialogo viene inizializzata per tale filtro. Se non viene trovata una corrispondenza o questo membro è una stringa con terminazione Null, questo membro viene ignorato per l'input. Quando viene restituita la funzione acmFilterChoose , questo buffer contiene una stringa con terminazione Null che descrive il filtro definito dall'utente. Se il nome del filtro è senza titolo, ovvero l'utente non ha assegnato un nome per il filtro, questo membro sarà una stringa con terminazione Null al momento della restituzione. Se l'utente annulla la finestra di dialogo, non verranno apportate modifiche al buffer.
Se il flag ACMFILTERCHOOSE_STYLEF_INITTOFILTERSTRUCT viene specificato dal membro fdwStyle , il membro pszName viene ignorato come membro di input.
cchName
Dimensioni, in caratteri, del buffer identificato dal membro pszName . Questo buffer deve contenere almeno 128 caratteri. Se pszName è NULL, questo membro viene ignorato.
fdwEnum
Flag facoltativi per limitare il tipo di filtri elencati nella finestra di dialogo. Questi flag sono identici ai flag fdwEnum per la funzione acmFilterEnum . Se pwfltrEnum è NULL, questo membro deve essere zero.
Nome | Descrizione |
---|---|
|
Il membro dwFilterTag della struttura WAVEFILTER a cui punta il membro pwfltrEnum è valido. L'enumeratore enumera solo un filtro conforme a questo attributo. |
pwfltrEnum
Puntatore a una struttura WAVEFILTER che verrà usata per limitare i filtri elencati nella finestra di dialogo. Il membro fdwEnum definisce i membri di questa struttura da utilizzare per le restrizioni di enumerazione. Il membro cbStruct di questa struttura WAVEFILTER deve essere inizializzato alle dimensioni della struttura WAVEFILTER . Se non si desiderano restrizioni speciali, questo membro può essere NULL.
hInstance
Handle in un blocco di dati contenente un modello di finestra di dialogo specificato dal membro pszTemplateName . Questo membro viene utilizzato solo se il membro fdwStyle specifica il flag ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATE o ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATEHANDLE; in caso contrario, questo membro deve essere NULL all'input.
pszTemplateName
Puntatore a una stringa con terminazione Null che specifica il nome del file di risorse per il modello di finestra di dialogo da sostituire con il modello di finestra di dialogo in ACM. Un'applicazione può usare la macro MAKEINTRESOURCE per le risorse della finestra di dialogo numerate. Questo membro viene utilizzato solo se il membro fdwStyle specifica il flag ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATE; in caso contrario, questo membro deve essere NULL all'input.
lCustData
Dati definiti dall'applicazione passati da ACM alla funzione hook identificata dal membro pfnHook . Il sistema passa i dati nel parametro lParam del messaggio di WM_INITDIALOG .
pfnHook
Puntatore a una funzione di callback che elabora i messaggi destinati alla finestra di dialogo. Un'applicazione deve specificare il flag ACMFILTERCHOOSE_STYLEF_ENABLEHOOK nel membro fdwStyle per abilitare l'hook; in caso contrario, questo membro deve essere NULL. La funzione hook deve restituire FALSE per passare un messaggio alla routine della finestra di dialogo standard o TRUE per ignorare il messaggio. Il tipo di funzione di callback è acmFilterChooseHookProc.
Requisiti
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Intestazione | msacm.h |