ACMFORMATCHOOSE 構造体 (msacm.h)

ACMFORMATCHOOSE 構造体には、ACM がシステム定義の波形オーディオ形式の選択ダイアログ ボックスを初期化するために使用する情報が含まれています。 ユーザーがダイアログ ボックスを閉じると、システムはこの構造でユーザーの選択に関する情報を返します。

構文

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;

メンバー

cbStruct

ACMFORMATCHOOSE 構造体のサイズ (バイト単位)。 このメンバーは、アプリケーションが acmFormatChoose 関数を呼び出す前に初期化する必要があります。 このメンバーで指定するサイズは、基本 ACMFORMATCHOOSE 構造体を格納するのに十分な大きさである必要があります。

fdwStyle

acmFormatChoose 関数のオプションのスタイル フラグ。 このメンバーは、アプリケーションが acmFormatChoose 関数を呼び出す前に、次のフラグの有効な組み合わせに初期化する必要があります。

Name 説明
ACMFORMATCHOOSE_STYLEF_CONTEXTHELP
状況依存のヘルプは、ダイアログ ボックスで使用できます。 この機能を使用するには、アプリケーションで RegisterWindowMessage 関数を使用して、ACMHELPMSGCONTEXTMENU および ACMHELPMSGCONTEXTHELP 定数を登録する必要があります。 ユーザーがヘルプを呼び出すと、登録済みのメッセージが所有ウィンドウに投稿されます。 メッセージには、元のWM_CONTEXTMENUまたはWM_CONTEXTHELP メッセージの wParam パラメーターと lParam パラメーターが含まれます。
ACMFORMATCHOOSE_STYLEF_ENABLEHOOK
pfnHook メンバーが指すフック関数を有効にします。 アプリケーションでは、 MM_ACM_FORMATCHOOSE メッセージへの応答など、さまざまなカスタマイズにフック関数を使用できます。
ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE
ACM に hInstance および pszTemplateName で識別されるダイアログ ボックス テンプレートを作成させます。
ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATEHANDLE
hInstance メンバーは、事前に読み込まれたダイアログ ボックス テンプレートを含むデータ ブロックを識別します。 このフラグを指定すると、ACM は pszTemplateName メンバーを無視します。
ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT
pwfx が指すバッファーには、ダイアログ ボックスが最初の選択として使用する有効な WAVEFORMATEX 構造体が含まれています。
ACMFORMATCHOOSE_STYLEF_SHOWHELP
ダイアログ ボックスにヘルプ ボタンが表示されます。 カスタム ヘルプ ファイルを使用するには、アプリケーションで ACMHELPMSGSTRING 定数を RegisterWindowMessage 関数に登録する必要があります。 ユーザーがヘルプ ボタンを押すと、登録されたメッセージが所有者に投稿されます。

hwndOwner

ダイアログ ボックスを所有するウィンドウを識別するハンドル。 このメンバーには、任意の有効なウィンドウ ハンドルを指定できます。ダイアログ ボックスに所有者がない場合は NULL を 指定できます。 このメンバーは、 acmFormatChoose 関数を呼び出す前に初期化する必要があります。

pwfx

WAVEFORMATEX 構造体へのポインター。 fdwStyle メンバーでACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT フラグが指定されている場合、この構造体は有効な形式に初期化する必要があります。 acmFormatChoose 関数が返されると、このバッファーには選択した形式が含まれます。 ユーザーがダイアログ ボックスをキャンセルした場合、このバッファーは変更されません。

cbwfx

pwfx が指すバッファーのサイズ (バイト単位)。 バッファーが小さすぎて書式情報を含めなければ、 acmFormatChoose 関数はACMERR_NOTPOSSIBLEを返します。 また、ACM は必要なサイズをこのメンバーにコピーします。 アプリケーションでは 、acmMetrics 関数と acmFormatTagDetails 関数を使用して、このバッファーに必要な最大サイズを決定できます。

pszTitle

ダイアログ ボックスのタイトル バーに配置する文字列へのポインター。 このメンバーが NULL の場合、ACM は既定のタイトル ("サウンド選択" ) を使用します。

szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS]

acmFormatTagDetails 関数によって返される ACMFORMATTAGDETAILS 構造体の場合、書式選択の書式タグを記述する null で終わる文字列を含むバッファー。 ユーザーがダイアログ ボックスをキャンセルすると、このメンバーには null で終わる文字列が含まれます。

szFormat[ACMFORMATDETAILS_FORMAT_CHARS]

acmFormatDetails 関数によって返される ACMFORMATDETAILS 構造体の場合、書式選択の書式属性を記述する null で終わる文字列を含むバッファー。 ユーザーがダイアログ ボックスをキャンセルすると、このメンバーには null で終わる文字列が含まれます。

pszName

ユーザー定義の書式名の文字列へのポインター。 これが null で終わる以外の文字列の場合、ACM は、以前に保存したユーザー定義の形式名と名前の照合を試みます。 一致するものが見つかった場合、ダイアログ ボックスはその形式に初期化されます。 一致が見つからない場合、またはこのメンバーが null で終わる文字列の場合、このメンバーは入力時に無視されます。 acmFormatChoose 関数が返されると、このバッファーには、ユーザー定義の形式を記述する null で終わる文字列が含まれます。 書式名が無題の場合 (つまり、ユーザーが書式の名前を指定していない場合)、このメンバーは戻り時に null で終わる文字列になります。 ユーザーがダイアログ ボックスをキャンセルした場合、このバッファーは変更されません。

cchName

pszName メンバーによって識別されるバッファーのサイズ (文字単位)。 このバッファーの長さが 128 文字以上である必要があります。 pszName メンバーが NULL の場合、このメンバーは無視されます。

fdwEnum

ダイアログ ボックスに表示される書式の種類を制限するための省略可能なフラグ。 これらのフラグは、acmFormatEnum 関数の fdwEnum フラグと同じです。 pwfxEnumNULL の場合、このメンバーは 0 である必要があります。 次の値が定義されています。

Name 説明
ACM_FORMATENUMF_CONVERT
pwfxEnum メンバーが指す WAVEFORMATEX 構造体が有効です。 列挙子は、指定された pwfxEnum 形式から変換できる変換先の形式のみを列挙します。
ACM_FORMATENUMF_HARDWARE
列挙子は、インストールされている 1 つ以上の波形オーディオ デバイスによってハードウェアでサポートされている形式のみを列挙する必要があります。 このフラグは、インストールされている波形オーディオ デバイスにネイティブな形式のみを選択する方法をアプリケーションに提供します。
ACM_FORMATENUMF_INPUT
列挙子は、入力 (記録) でサポートされている形式のみを列挙する必要があります。
ACM_FORMATENUMF_NCHANNELS
pwfxEnum メンバーが指す WAVEFORMATEX 構造体の nChannels メンバーが有効です。 列挙子は、この属性に準拠する形式のみを列挙します。
ACM_FORMATENUMF_NSAMPLESPERSEC
pwfxEnum メンバーが指す WAVEFORMATEX 構造体の nSamplesPerSec メンバーが有効です。 列挙子は、この属性に準拠する形式のみを列挙します。
ACM_FORMATENUMF_OUTPUT
列挙子は、出力 (再生) でサポートされている形式のみを列挙する必要があります。
ACM_FORMATENUMF_SUGGEST
pwfxEnum メンバーが指す WAVEFORMATEX 構造体が有効です。 列挙子は、指定された pwfxEnum 形式のすべての推奨される変換先の形式を列挙します。
ACM_FORMATENUMF_WBITSPERSAMPLE
pwfxEnum メンバーが指す WAVEFORMATEX 構造体の wBitsPerSample メンバーが有効です。 列挙子は、この属性に準拠する形式のみを列挙します。
ACM_FORMATENUMF_WFORMATTAG
pwfxEnum メンバーが指す WAVEFORMATEX 構造体の wFormatTag メンバーが有効です。 列挙子は、この属性に準拠する形式のみを列挙します。

pwfxEnum

ダイアログ ボックスに表示される形式を制限するために使用される WAVEFORMATEX 構造体へのポインター。 fdwEnum メンバーは、列挙の制限に使用する必要がある pwfxEnum によって指される構造体のメンバーを定義します。 特別な制限が必要ない場合は、このメンバーを NULL にすることができますpwfxEnum メンバーに関連付けられているその他の要件については、acmFormatEnum 関数の説明を参照してください。

hInstance

pszTemplateName メンバーによって指定されたダイアログ ボックス テンプレートを含むデータ ブロックを処理します。 このメンバーは、 fdwStyle メンバーがACMFORMATCHOOSE_STYLEF_ENABLETEMPLATEまたはACMFORMATCHOOSE_STYLEF_ENABLETEMPLATEHANDLE フラグを指定する場合にのみ使用されます。それ以外の場合、このメンバーは入力時に NULL である必要があります。

pszTemplateName

ACM 内のダイアログ ボックス テンプレートの代わりに使用するダイアログ ボックス テンプレートのリソース ファイルの名前を指定する null で終わる文字列へのポインター。 アプリケーションでは、番号付きダイアログ ボックス リソースに MAKEINTRESOURCE マクロを使用できます。 このメンバーは、 fdwStyle メンバーがACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE フラグを指定する場合にのみ使用されます。それ以外の場合、このメンバーは入力時に NULL である必要があります。

lCustData

ACM が pfnHook メンバーによって識別されるフック関数に渡すアプリケーション定義データ。 システムは、WM_INITDIALOG メッセージの lParam パラメーターにデータを渡します。

pfnHook

ダイアログ ボックス用のメッセージを処理するコールバック関数へのポインター。 アプリケーションでは、フックを有効にするには、 fdwStyle メンバーに ACMFORMATCHOOSE_STYLEF_ENABLEHOOK フラグを指定する必要があります。それ以外の場合、このメンバーは NULL である必要があります。 フック関数は、標準のダイアログ ボックス プロシージャにメッセージを渡すには FALSE を 返し、メッセージを破棄するには TRUE を返す必要があります。 コールバック関数の種類は acmFormatChooseHookProc です

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
Header msacm.h

関連項目

ACMFORMATDETAILS

ACMFORMATTAGDETAILS

オーディオ圧縮マネージャー

オーディオ圧縮構造

MAKEINTRESOURCE

MM_ACM_FORMATCHOOSE

RegisterWindowMessage

WAVEFORMATEX

WM_INITDIALOG

acmFormatChoose

acmFormatDetails

acmFormatEnum

acmFormatTagDetails

acmMetrics