ACMFILTERCHOOSE 構造体 (msacm.h)

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

構文

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;

メンバー

cbStruct

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

fdwStyle

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

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

hwndOwner

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

pwfltr

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

cbwfltr

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

pszTitle

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

szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS]

acmFilterTagDetails によって返される ACMFILTERTAGDETAILS 構造体の場合に、フィルター選択のフィルター タグを記述する null で終わる文字列含むバッファー。 ユーザーがダイアログ ボックスを取り消すと、このメンバーには null で終わる文字列が含まれます。

szFilter[ACMFILTERDETAILS_FILTER_CHARS]

acmFilterDetails によって返される ACMFILTERDETAILS 構造体の場合、フィルター選択のフィルター属性を記述する null で終わる文字列含むバッファー。 ユーザーがダイアログ ボックスを取り消すと、このメンバーには null で終わる文字列が含まれます。

pszName

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

ACMFILTERCHOOSE_STYLEF_INITTOFILTERSTRUCT フラグが fdwStyle メンバーによって指定されている場合、 pszName メンバーは入力メンバーとして無視されます。

cchName

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

fdwEnum

ダイアログ ボックスに表示されるフィルターの種類を制限するための省略可能なフラグ。 これらのフラグは、acmFilterEnum 関数の fdwEnum フラグと同じです。 pwfltrEnumNULL の場合、このメンバーは 0 である必要があります。

Name 説明
ACM_FILTERENUMF_DWFILTERTAG
pwfltrEnum メンバーが指す WAVEFILTER 構造体の dwFilterTag メンバーが有効です。 列挙子は、この属性に準拠するフィルターのみを列挙します。

pwfltrEnum

ダイアログ ボックスに表示されるフィルターを制限するために使用される WAVEFILTER 構造体へのポインター。 fdwEnum メンバーは、列挙の制限に使用する必要があるこの構造体のメンバーを定義します。 この WAVEFILTER構造体の cbStruct メンバーは、WAVEFILTER 構造体のサイズに初期化する必要があります。 特別な制限が必要ない場合は、このメンバーを NULL にすることができます

hInstance

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

pszTemplateName

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

lCustData

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

pfnHook

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

要件

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

関連項目

ACMFILTERDETAILS

ACMFILTERTAGDETAILS

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

オーディオ圧縮構造

MAKEINTRESOURCE

MM_ACM_FILTERCHOOSE

RegisterWindowMessage

WAVEFILTER

WM_INITDIALOG

acmFilterChoose

acmFilterDetails

acmFilterEnum

acmFilterTagDetails

acmMetrics