Partager via


Structure ACMFORMATCHOOSE (msacm.h)

La structure ACMFORMATCHOOSE contient des informations que L’ACM utilise pour initialiser la boîte de dialogue de sélection du format audio de forme d’onde définie par le système. Une fois que l’utilisateur ferme la boîte de dialogue, le système retourne des informations sur la sélection de l’utilisateur dans cette structure.

Syntaxe

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;

Membres

cbStruct

Taille, en octets, de la structure ACMFORMATCHOOSE . Ce membre doit être initialisé avant qu’une application appelle la fonction acmFormatChoose . La taille spécifiée dans ce membre doit être suffisamment grande pour contenir la structure ACMFORMATCHOOSE de base.

fdwStyle

Indicateurs de style facultatifs pour la fonction acmFormatChoose . Ce membre doit être initialisé avec une combinaison valide des indicateurs suivants avant qu’une application appelle la fonction acmFormatChoose :

Name Description
ACMFORMATCHOOSE_STYLEF_CONTEXTHELP
L’aide contextuelle sera disponible dans la boîte de dialogue. Pour utiliser cette fonctionnalité, une application doit inscrire les constantes ACMHELPMSGCONTEXTMENU et ACMHELPMSGCONTEXTHELP, à l’aide de la fonction RegisterWindowMessage . Lorsque l’utilisateur appelle l’aide, le message inscrit est publié dans la fenêtre propriétaire. Le message contient les paramètres wParam et lParam du message WM_CONTEXTMENU ou WM_CONTEXTHELP d’origine.
ACMFORMATCHOOSE_STYLEF_ENABLEHOOK
Active la fonction hook pointée vers le membre pfnHook . Une application peut utiliser des fonctions de crochet pour diverses personnalisations, y compris répondre au message MM_ACM_FORMATCHOOSE .
ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE
Permet à ACM de créer le modèle de boîte de dialogue identifié par hInstance et pszTemplateName.
ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATEHANDLE
Le membre hInstance identifie un bloc de données qui contient un modèle de boîte de dialogue préchargé. Si cet indicateur est spécifié, ACM ignore le membre pszTemplateName .
ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT
La mémoire tampon pointée par pwfx contient une structure WAVEFORMATEX valide que la boîte de dialogue utilisera comme sélection initiale.
ACMFORMATCHOOSE_STYLEF_SHOWHELP
Un bouton d’aide s’affiche dans la boîte de dialogue. Pour utiliser un fichier d’aide personnalisé, une application doit inscrire la constante ACMHELPMSGSTRING avec la fonction RegisterWindowMessage . Lorsque l’utilisateur appuie sur le bouton d’aide, le message inscrit est publié vers le propriétaire.

hwndOwner

Handle de la fenêtre propriétaire de la boîte de dialogue. Ce membre peut être n’importe quel handle de fenêtre valide ou NULL si la boîte de dialogue n’a pas de propriétaire. Ce membre doit être initialisé avant d’appeler la fonction acmFormatChoose .

pwfx

Pointeur vers une structure WAVEFORMATEX . Si l’indicateur ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT est spécifié dans le membre fdwStyle , cette structure doit être initialisée dans un format valide. Lorsque la fonction acmFormatChoose retourne, cette mémoire tampon contient le format sélectionné. Si l’utilisateur annule la boîte de dialogue, aucune modification n’est apportée à cette mémoire tampon.

cbwfx

Taille, en octets, de la mémoire tampon pointée vers pwfx. Si la mémoire tampon est trop petite pour contenir les informations de format, la fonction acmFormatChoose retourne ACMERR_NOTPOSSIBLE. En outre, ACM copie la taille requise dans ce membre. Une application peut utiliser les fonctions acmMetrics et acmFormatTagDetails pour déterminer la plus grande taille requise pour cette mémoire tampon.

pszTitle

Pointeur vers une chaîne à placer dans la barre de titre de la boîte de dialogue. Si ce membre a la valeur NULL, L’ACM utilise le titre par défaut (c’est-à-dire, « Sélection du son »).

szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS]

Mémoire tampon contenant une chaîne terminée par null décrivant la balise de format de la sélection de format lorsque la structure ACMFORMATTAGDETAILS retournée par la fonction acmFormatTagDetails . Si l’utilisateur annule la boîte de dialogue, ce membre contient une chaîne null terminée.

szFormat[ACMFORMATDETAILS_FORMAT_CHARS]

Mémoire tampon contenant une chaîne terminée par null décrivant les attributs de format de la sélection de format lorsque la structure ACMFORMATDETAILS renvoyée par la fonction acmFormatDetails . Si l’utilisateur annule la boîte de dialogue, ce membre contient une chaîne null terminée.

pszName

Pointeur vers une chaîne pour un nom de format défini par l’utilisateur. S’il s’agit d’une chaîne non terminée par null, L’ACM tente de faire correspondre le nom à un nom de format défini par l’utilisateur précédemment enregistré. Si une correspondance est trouvée, la boîte de dialogue est initialisée dans ce format. Si une correspondance est introuvable ou si ce membre est une chaîne terminée par null, ce membre est ignoré lors de l’entrée. Lorsque la fonction acmFormatChoose retourne, cette mémoire tampon contient une chaîne terminée par null décrivant le format défini par l’utilisateur. Si le nom de format n’est pas titré (c’est-à-dire que l’utilisateur n’a pas donné de nom pour le format), ce membre sera une chaîne null terminée au retour. Si l’utilisateur annule la boîte de dialogue, aucune modification n’est apportée à cette mémoire tampon.

cchName

Taille, en caractères, de la mémoire tampon identifiée par le membre pszName . Cette mémoire tampon doit comporter au moins 128 caractères. Si le membre pszName a la valeur NULL, ce membre est ignoré.

fdwEnum

Indicateurs facultatifs pour restreindre le type de formats répertoriés dans la boîte de dialogue. Ces indicateurs sont identiques aux indicateurs fdwEnum pour la fonction acmFormatEnum . Si pwfxEnum a la valeur NULL, ce membre doit être égal à zéro. Les valeurs suivantes sont définies :

Nom Description
ACM_FORMATENUMF_CONVERT
La structure WAVEFORMATEX pointée par le membre pwfxEnum est valide. L’énumérateur énumère uniquement les formats de destination qui peuvent être convertis à partir du format pwfxEnum donné.
ACM_FORMATENUMF_HARDWARE
L’énumérateur doit énumérer uniquement les formats pris en charge dans le matériel par un ou plusieurs des appareils audio de forme d’onde installés. Cet indicateur permet à une application de choisir uniquement les formats natifs d’un périphérique audio de forme d’onde installé.
ACM_FORMATENUMF_INPUT
L’énumérateur doit énumérer uniquement les formats pris en charge pour l’entrée (enregistrement).
ACM_FORMATENUMF_NCHANNELS
Le membre nChannels de la structure WAVEFORMATEX pointée par le membre pwfxEnum est valide. L’énumérateur énumère uniquement un format conforme à cet attribut.
ACM_FORMATENUMF_NSAMPLESPERSEC
Le membre nSamplesPerSec de la structure WAVEFORMATEX pointée par le membre pwfxEnum est valide. L’énumérateur énumère uniquement un format conforme à cet attribut.
ACM_FORMATENUMF_OUTPUT
L’énumérateur doit énumérer uniquement les formats pris en charge pour la sortie (lecture).
ACM_FORMATENUMF_SUGGEST
La structure WAVEFORMATEX pointée par le membre pwfxEnum est valide. L’énumérateur énumère tous les formats de destination suggérés pour le format pwfxEnum donné.
ACM_FORMATENUMF_WBITSPERSAMPLE
Le membre wBitsPerSample de la structure WAVEFORMATEX pointée par le membre pwfxEnum est valide. L’énumérateur énumère uniquement un format conforme à cet attribut.
ACM_FORMATENUMF_WFORMATTAG
Le membre wFormatTag de la structure WAVEFORMATEX pointée par le membre pwfxEnum est valide. L’énumérateur énumère uniquement un format conforme à cet attribut.

pwfxEnum

Pointeur vers une structure WAVEFORMATEX qui sera utilisée pour restreindre les formats répertoriés dans la boîte de dialogue. Le membre fdwEnum définit les membres de la structure pointée vers pwfxEnum qui doivent être utilisés pour les restrictions d’énumération. Si aucune restriction spéciale n’est souhaitée, ce membre peut avoir la valeur NULL. Pour connaître les autres exigences associées au membre pwfxEnum , consultez la description de la fonction acmFormatEnum .

hInstance

Gérez vers un bloc de données qui contient un modèle de boîte de dialogue spécifié par le membre pszTemplateName . Ce membre est utilisé uniquement si le membre fdwStyle spécifie l’indicateur ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE ou ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATEHANDLE ; sinon, ce membre doit avoir la valeur NULL lors de l’entrée.

pszTemplateName

Pointeur vers une chaîne terminée par null qui spécifie le nom du fichier de ressources pour le modèle de boîte de dialogue qui doit être remplacé par le modèle de boîte de dialogue dans aCM. Une application peut utiliser la macro MAKEINTRESOURCE pour les ressources de boîte de dialogue numérotées. Ce membre est utilisé uniquement si le membre fdwStyle spécifie l’indicateur ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE ; sinon, ce membre doit avoir la valeur NULL lors de l’entrée.

lCustData

Données définies par l’application que le gestionnaire ACM transmet à la fonction hook identifiée par le membre pfnHook . Le système transmet les données dans le paramètre lParam du message WM_INITDIALOG .

pfnHook

Pointeur vers une fonction de rappel qui traite les messages destinés à la boîte de dialogue. Une application doit spécifier l’indicateur ACMFORMATCHOOSE_STYLEF_ENABLEHOOK dans le membre fdwStyle pour activer le hook ; dans le cas contraire, ce membre doit avoir la valeur NULL. La fonction hook doit retourner FALSE pour passer un message à la procédure de boîte de dialogue standard ou TRUE pour ignorer le message. Le type de fonction de rappel est acmFormatChooseHookProc.

Spécifications

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
En-tête msacm.h

Voir aussi

ACMFORMATDETAILS

ACMFORMATTAGDETAILS

Gestionnaire de compression audio

Audio Compression Structures

MAKEINTRESOURCE

MM_ACM_FORMATCHOOSE

RegisterWindowMessage

WAVEFORMATEX

WM_INITDIALOG

acmFormatChoose

acmFormatDetails

acmFormatEnum

acmFormatTagDetails

acmMetrics