Struttura ACMFORMATCHOOSE (msacm.h)

La struttura ACMFORMATCHOOSE contiene informazioni utilizzate da ACM per inizializzare la finestra di dialogo di selezione del formato audio waveform 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 tACMFORMATCHOOSE {
  DWORD                   cbStruct;
  DWORD                   fdwStyle;
  HWND                    hwndOwner;
  LPWAVEFORMATEX          pwfx;
  DWORD                   cbwfx;
  LPCSTR                  pszTitle;
  char                    szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
  char                    szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
  LPSTR                   pszName;
  DWORD                   cchName;
  DWORD                   fdwEnum;
  LPWAVEFORMATEX          pwfxEnum;
  HINSTANCE               hInstance;
  LPCSTR                  pszTemplateName;
  LPARAM                  lCustData;
  ACMFORMATCHOOSEHOOKPROC pfnHook;
} ACMFORMATCHOOSE, *PACMFORMATCHOOSE, *LPACMFORMATCHOOSE;

Members

cbStruct

Dimensioni, in byte, della struttura ACMFORMATCHOOSE . Questo membro deve essere inizializzato prima che un'applicazione chiami la funzione acmFormatChoose . Le dimensioni specificate in questo membro devono essere sufficienti per contenere la struttura ACMFORMATCHOOSE di base.

fdwStyle

Flag di stile facoltativi per la funzione acmFormatChoose . Questo membro deve essere inizializzato in una combinazione valida dei flag seguenti prima che un'applicazione chiami la funzione acmFormatChoose :

Nome Descrizione
ACMFORMATCHOOSE_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.
ACMFORMATCHOOSE_STYLEF_ENABLEHOOK
Abilita la funzione hook a cui punta il membro pfnHook . Un'applicazione può usare funzioni hook per un'ampia gamma di personalizzazioni, tra cui la risposta al messaggio MM_ACM_FORMATCHOOSE .
ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE
Determina la creazione del modello di finestra di dialogo identificato da hInstance e pszTemplateName.
ACMFORMATCHOOSE_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 .
ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT
Il buffer a cui punta pwfx contiene una struttura WAVEFORMATEX valida che verrà usata dalla finestra di dialogo come selezione iniziale.
ACMFORMATCHOOSE_STYLEF_SHOWHELP
Nella finestra di dialogo verrà visualizzato un pulsante della Guida. Per usare un file della Guida personalizzato, un'applicazione deve registrare la costante ACMHELPMSGSTRING con la funzione RegisterWindowMessage . Quando l'utente preme il pulsante della Guida, il messaggio registrato verrà 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 acmFormatChoose .

pwfx

Puntatore a una struttura WAVEFORMATEX . Se il flag ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT viene specificato nel membro fdwStyle , questa struttura deve essere inizializzata in un formato valido. Quando viene restituita la funzione acmFormatChoose , questo buffer contiene il formato selezionato. Se l'utente annulla la finestra di dialogo, non verranno apportate modifiche al buffer.

cbwfx

Dimensioni, in byte, del buffer a cui punta pwfx. Se il buffer è troppo piccolo per contenere le informazioni sul formato, la funzione acmFormatChoose restituisce ACMERR_NOTPOSSIBLE. Inoltre, ACM copia le dimensioni necessarie in questo membro. Un'applicazione può usare le funzioni acmMetrics e acmFormatTagDetails 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 "Selezione audio".

szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS]

Buffer contenente una stringa con terminazione Null che descrive il tag di formato della selezione del formato quando la struttura ACMFORMATTAGDETAILS restituita dalla funzione acmFormatTagDetails . Se l'utente annulla la finestra di dialogo, questo membro conterrà una stringa con terminazione Null.

szFormat[ACMFORMATDETAILS_FORMAT_CHARS]

Buffer contenente una stringa con terminazione Null che descrive gli attributi di formato della selezione del formato quando la struttura ACMFORMATDETAILS restituita dalla funzione acmFormatDetails . 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 formato definito dall'utente. Se si tratta di una stringa senza terminazione Null, ACM tenterà di corrispondere al nome con un nome di formato definito dall'utente salvato in precedenza. Se viene trovata una corrispondenza, la finestra di dialogo viene inizializzata in tale formato. Se non viene trovata una corrispondenza o questo membro è una stringa con terminazione Null, questo membro viene ignorato nell'input. Quando viene restituita la funzione acmFormatChoose , questo buffer contiene una stringa con terminazione Null che descrive il formato definito dall'utente. Se il nome del formato è senza titolo, ovvero l'utente non ha assegnato un nome per il formato, 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.

cchName

Dimensioni, in caratteri, del buffer identificato dal membro pszName . Questo buffer deve contenere almeno 128 caratteri. Se il membro pszName è NULL, questo membro viene ignorato.

fdwEnum

Flag facoltativi per limitare il tipo di formati elencati nella finestra di dialogo. Questi flag sono identici ai flag fdwEnum per la funzione acmFormatEnum . Se pwfxEnum è NULL, questo membro deve essere zero. Vengono definiti i valori seguenti:

Nome Descrizione
ACM_FORMATENUMF_CONVERT
La struttura WAVEFORMATEX a cui punta il membro pwfxEnum è valida. L'enumeratore enumera solo i formati di destinazione che possono essere convertiti dal formato pwfxEnum specificato.
ACM_FORMATENUMF_HARDWARE
L'enumeratore deve enumerare solo i formati supportati nell'hardware da uno o più dispositivi waveform-audio installati. Questo flag consente a un'applicazione di scegliere solo formati nativi in un dispositivo audio waveform installato.
ACM_FORMATENUMF_INPUT
L'enumeratore deve enumerare solo i formati supportati per l'input (registrazione).
ACM_FORMATENUMF_NCHANNELS
Il membro nChannels della struttura WAVEFORMATEX a cui punta il membro pwfxEnum è valido. L'enumeratore enumera solo un formato conforme a questo attributo.
ACM_FORMATENUMF_NSAMPLESPERSEC
Il membro nSamplesPerSec della struttura WAVEFORMATEX a cui punta il membro pwfxEnum è valido. L'enumeratore enumera solo un formato conforme a questo attributo.
ACM_FORMATENUMF_OUTPUT
L'enumeratore deve enumerare solo i formati supportati per l'output (riproduzione).
ACM_FORMATENUMF_SUGGEST
La struttura WAVEFORMATEX a cui punta il membro pwfxEnum è valida. L'enumeratore enumera tutti i formati di destinazione suggeriti per il formato pwfxEnum specificato.
ACM_FORMATENUMF_WBITSPERSAMPLE
Il membro wBitsPerSample della struttura WAVEFORMATEX a cui punta il membro pwfxEnum è valido. L'enumeratore enumera solo un formato conforme a questo attributo.
ACM_FORMATENUMF_WFORMATTAG
Il membro wFormatTag della struttura WAVEFORMATEX a cui punta il membro pwfxEnum è valido. L'enumeratore enumera solo un formato conforme a questo attributo.

pwfxEnum

Puntatore a una struttura WAVEFORMATEX che verrà utilizzata per limitare i formati elencati nella finestra di dialogo. Il membro fdwEnum definisce i membri della struttura a cui punta pwfxEnum che devono essere utilizzati per le restrizioni di enumerazione. Se non si desiderano restrizioni speciali, questo membro può essere NULL. Per altri requisiti associati al membro pwfxEnum , vedere la descrizione per la funzione acmFormatEnum .

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 ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE o ACMFORMATCHOOSE_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 di ACMFORMATCHOOSE_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 ACMFORMATCHOOSE_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 è acmFormatChooseHookProc.

Requisiti

   
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Intestazione msacm.h

Vedi anche

ACMFORMATDETAILS

ACMFORMATTAGDETAILS

Gestione compressione audio

Strutture di compressione audio

MAKEINTRESOURCE

MM_ACM_FORMATCHOOSE

RegisterWindowMessage

WAVEFORMATEX

WM_INITDIALOG

acmFormatChoose

acmFormatDetails

acmFormatEnum

acmFormatTagDetails

acmMetrics