Condividi tramite


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
ACMFILTERCHOOSE_STYLEF_CONTEXTHELP
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.
ACMFILTERCHOOSE_STYLEF_ENABLEHOOK
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 .
ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATE
Determina la creazione del modello di finestra di dialogo identificato dai membri hInstance e pszTemplateName .
ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATEHANDLE
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 .
ACMFILTERCHOOSE_STYLEF_INITTOFILTERSTRUCT
Il buffer a cui punta pwfltr contiene una struttura WAVEFILTER valida che verrà utilizzata dalla finestra di dialogo come selezione iniziale.
ACMFILTERCHOOSE_STYLEF_SHOWHELP
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
ACM_FILTERENUMF_DWFILTERTAG
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

Vedi anche

ACMFILTERDETAILS

ACMFILTERTAGDETAILS

Gestione compressione audio

Strutture di compressione audio

MAKEINTRESOURCE

MM_ACM_FILTERCHOOSE

RegisterWindowMessage

WAVEFILTER

WM_INITDIALOG

acmFilterChoose

acmFilterDetails

acmFilterEnum

acmFilterTagDetails

acmMetrics