Bagikan melalui


Struktur ACMFORMATCHOOSE (msacm.h)

Struktur ACMFORMATCHOOSE berisi informasi yang digunakan ACM untuk menginisialisasi kotak dialog pemilihan format waveform-audio yang ditentukan sistem. Setelah pengguna menutup kotak dialog, sistem mengembalikan informasi tentang pilihan pengguna dalam struktur ini.

Sintaks

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;

Anggota

cbStruct

Ukuran, dalam byte, dari struktur ACMFORMATCHOOSE . Anggota ini harus diinisialisasi sebelum aplikasi memanggil fungsi acmFormatChoose . Ukuran yang ditentukan dalam anggota ini harus cukup besar untuk memuat struktur ACMFORMATCHOOSE dasar.

fdwStyle

Bendera gaya opsional untuk fungsi acmFormatChoose . Anggota ini harus diinisialisasi ke kombinasi bendera berikut yang valid sebelum aplikasi memanggil fungsi acmFormatChoose :

Nama Deskripsi
ACMFORMATCHOOSE_STYLEF_CONTEXTHELP
Bantuan peka konteks akan tersedia dalam kotak dialog. Untuk menggunakan fitur ini, aplikasi harus mendaftarkan konstanta ACMHELPMSGCONTEXTMENU dan ACMHELPMSGCONTEXTHELP, menggunakan fungsi RegisterWindowMessage . Ketika pengguna memanggil bantuan, pesan terdaftar akan diposting ke jendela pemilik. Pesan akan berisi parameter wParam dan lParam dari WM_CONTEXTMENU asli atau pesan WM_CONTEXTHELP.
ACMFORMATCHOOSE_STYLEF_ENABLEHOOK
Mengaktifkan fungsi kait yang diarahkan oleh anggota pfnHook . Aplikasi dapat menggunakan fungsi kait untuk berbagai penyesuaian, termasuk menjawab pesan MM_ACM_FORMATCHOOSE .
ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE
Menyebabkan ACM membuat templat kotak dialog yang diidentifikasi oleh hInstance dan pszTemplateName.
ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATEHANDLE
Anggota hInstance mengidentifikasi blok data yang berisi templat kotak dialog yang dimuat sebelumnya. Jika bendera ini ditentukan, ACM mengabaikan anggota pszTemplateName .
ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT
Buffer yang diarahkan oleh pwfx berisi struktur WAVEFORMATEX yang valid yang akan digunakan kotak dialog sebagai pilihan awal.
ACMFORMATCHOOSE_STYLEF_SHOWHELP
Tombol bantuan akan muncul dalam kotak dialog. Untuk menggunakan file Bantuan kustom, aplikasi harus mendaftarkan konstanta ACMHELPMSGSTRING dengan fungsi RegisterWindowMessage . Ketika pengguna menekan tombol bantuan, pesan terdaftar akan diposting ke pemilik.

hwndOwner

Tangani ke jendela yang memiliki kotak dialog. Anggota ini bisa menjadi handel jendela yang valid, atau NULL jika kotak dialog tidak memiliki pemilik. Anggota ini harus diinisialisasi sebelum memanggil fungsi acmFormatChoose .

pwfx

Penunjuk ke struktur WAVEFORMATEX . Jika bendera ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT ditentukan dalam anggota fdwStyle , struktur ini harus diinisialisasi ke format yang valid. Saat fungsi acmFormatChoose kembali, buffer ini berisi format yang dipilih. Jika pengguna membatalkan kotak dialog, tidak ada perubahan yang akan dilakukan pada buffer ini.

cbwfx

Ukuran, dalam byte, dari buffer yang diarahkan oleh pwfx. Jika buffer terlalu kecil untuk memuat informasi format, fungsi acmFormatChoose mengembalikan ACMERR_NOTPOSSIBLE. Selain itu, ACM menyalin ukuran yang diperlukan ke dalam anggota ini. Aplikasi dapat menggunakan fungsi acmMetrics dan acmFormatTagDetails untuk menentukan ukuran terbesar yang diperlukan untuk buffer ini.

pszTitle

Penunjuk ke string yang akan ditempatkan di bilah judul kotak dialog. Jika anggota ini adalah NULL, ACM menggunakan judul default (yaitu, "Pilihan Suara").

szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS]

Buffer yang berisi string yang dihentikan null yang menjelaskan tag format pilihan format saat struktur ACMFORMATTAGDETAILS dikembalikan oleh fungsi acmFormatTagDetails . Jika pengguna membatalkan kotak dialog, anggota ini akan berisi string yang dihentikan null.

szFormat[ACMFORMATDETAILS_FORMAT_CHARS]

Buffer yang berisi string yang dihentikan null yang menjelaskan atribut format pilihan format saat struktur ACMFORMATDETAILS dikembalikan oleh fungsi acmFormatDetails . Jika pengguna membatalkan kotak dialog, anggota ini akan berisi string yang dihentikan null.

pszName

Penunjuk ke string untuk nama format yang ditentukan pengguna. Jika ini adalah string yang tidak dihentikan null, ACM akan mencoba mencocokkan nama dengan nama format yang ditentukan pengguna yang sebelumnya disimpan. Jika kecocokan ditemukan, kotak dialog diinisialisasi ke format tersebut. Jika kecocokan tidak ditemukan atau anggota ini adalah string yang dihentikan null, anggota ini diabaikan pada input. Saat fungsi acmFormatChoose kembali, buffer ini berisi string yang dihentikan null yang menjelaskan format yang ditentukan pengguna. Jika nama format tidak berjudul (yaitu, pengguna belum memberikan nama untuk format), anggota ini akan menjadi string yang dihentikan null saat dikembalikan. Jika pengguna membatalkan kotak dialog, tidak ada perubahan yang akan dilakukan pada buffer ini.

cchName

Ukuran, dalam karakter, dari buffer yang diidentifikasi oleh anggota pszName . Panjang buffer ini harus minimal 128 karakter. Jika anggota pszName adalah NULL, anggota ini diabaikan.

fdwEnum

Bendera opsional untuk membatasi jenis format yang tercantum dalam kotak dialog. Bendera ini identik dengan bendera fdwEnum untuk fungsi acmFormatEnum . Jika pwfxEnumadalah NULL, anggota ini harus nol. Nilai berikut didefinisikan:

Nama Deskripsi
ACM_FORMATENUMF_CONVERT
Struktur WAVEFORMATEX yang diarahkan oleh anggota pwfxEnum valid. Enumerator hanya akan menghitung format tujuan yang dapat dikonversi dari format pwfxEnum yang diberikan.
ACM_FORMATENUMF_HARDWARE
Enumerator harus menghitung hanya format yang didukung dalam perangkat keras oleh satu atau beberapa perangkat waveform-audio yang diinstal. Bendera ini menyediakan cara bagi aplikasi untuk memilih hanya format asli untuk perangkat waveform-audio yang diinstal.
ACM_FORMATENUMF_INPUT
Enumerator harus menghitung hanya format yang didukung untuk input (perekaman).
ACM_FORMATENUMF_NCHANNELS
Anggota nChannels dari struktur WAVEFORMATEX yang ditunjukkan oleh anggota pwfxEnum valid. Enumerator hanya akan menghitung format yang sesuai dengan atribut ini.
ACM_FORMATENUMF_NSAMPLESPERSEC
Anggota nSamplesPerSec dari struktur WAVEFORMATEX yang diarahkan oleh anggota pwfxEnum valid. Enumerator hanya akan menghitung format yang sesuai dengan atribut ini.
ACM_FORMATENUMF_OUTPUT
Enumerator harus menghitung hanya format yang didukung untuk output (pemutaran).
ACM_FORMATENUMF_SUGGEST
Struktur WAVEFORMATEX yang diarahkan oleh anggota pwfxEnum valid. Enumerator akan menghitung semua format tujuan yang disarankan untuk format pwfxEnum yang diberikan.
ACM_FORMATENUMF_WBITSPERSAMPLE
Anggota wBitsPerSample dari struktur WAVEFORMATEX yang diarahkan oleh anggota pwfxEnum valid. Enumerator hanya akan menghitung format yang sesuai dengan atribut ini.
ACM_FORMATENUMF_WFORMATTAG
Anggota wFormatTag dari struktur WAVEFORMATEX yang diarahkan oleh anggota pwfxEnum valid. Enumerator hanya akan menghitung format yang sesuai dengan atribut ini.

pwfxEnum

Penunjuk ke struktur WAVEFORMATEX yang akan digunakan untuk membatasi format yang tercantum dalam kotak dialog. Anggota fdwEnum mendefinisikan anggota struktur yang diarahkan oleh pwfxEnum yang harus digunakan untuk pembatasan enumerasi. Jika tidak ada batasan khusus yang diinginkan, anggota ini bisa NULL. Untuk persyaratan lain yang terkait dengan anggota pwfxEnum , lihat deskripsi untuk fungsi acmFormatEnum .

hInstance

Tangani ke blok data yang berisi templat kotak dialog yang ditentukan oleh anggota pszTemplateName . Anggota ini hanya digunakan jika anggota fdwStyle menentukan bendera ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE atau ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATEHANDLE; jika tidak, anggota ini harus NULL pada input.

pszTemplateName

Penunjuk ke string yang dihentikan null yang menentukan nama file sumber daya untuk templat kotak dialog yang akan diganti untuk templat kotak dialog di ACM. Aplikasi dapat menggunakan makro MAKEINTRESOURCE untuk sumber daya kotak dialog bernomor. Anggota ini hanya digunakan jika anggota fdwStyle menentukan bendera ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE; jika tidak, anggota ini harus NULL pada input.

lCustData

Data yang ditentukan aplikasi yang diteruskan ACM ke fungsi kait yang diidentifikasi oleh anggota pfnHook . Sistem meneruskan data dalam parameter lParam dari pesan WM_INITDIALOG .

pfnHook

Arahkan ke fungsi panggilan balik yang memproses pesan yang ditujukan untuk kotak dialog. Aplikasi harus menentukan bendera ACMFORMATCHOOSE_STYLEF_ENABLEHOOK di anggota fdwStyle untuk mengaktifkan hook; jika tidak, anggota ini harus NULL. Fungsi hook harus mengembalikan FALSE untuk meneruskan pesan ke prosedur kotak dialog standar atau TRUE untuk membuang pesan. Jenis fungsi panggilan balik adalah acmFormatChooseHookProc.

Persyaratan

   
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Header msacm.h

Lihat juga

ACMFORMATDETAILS

ACMFORMATTAGDETAILS

Pengelola Kompresi Audio

Struktur Kompresi Audio

MAKEINTRESOURCE

MM_ACM_FORMATCHOOSE

RegisterWindowMessage

WAVEFORMATEX

WM_INITDIALOG

acmFormatChoose

acmFormatDetails

acmFormatEnum

acmFormatTagDetails

acmMetrics