Fungsi DdeInitializeA (ddeml.h)
Mendaftarkan aplikasi dengan Dynamic Data Exchange Management Library (DDEML). Aplikasi harus memanggil fungsi ini sebelum memanggil fungsi Dynamic Data Exchange Management Library (DDEML) lainnya.
Sintaks
UINT DdeInitializeA(
[in, out] LPDWORD pidInst,
[in] PFNCALLBACK pfnCallback,
[in] DWORD afCmd,
DWORD ulRes
);
Parameter
[in, out] pidInst
Jenis: LPDWORD
Pengidentifikasi instans aplikasi. Pada inisialisasi, parameter ini harus menunjuk ke 0. Jika fungsi berhasil, parameter ini menunjuk ke pengidentifikasi instans untuk aplikasi. Nilai ini harus diteruskan sebagai parameter idInst di semua fungsi DDEML lainnya yang memerlukannya. Jika aplikasi menggunakan beberapa instans pustaka tautan dinamis (DLL) DDEML, aplikasi harus menyediakan fungsi panggilan balik yang berbeda untuk setiap instans.
Jika pidInst menunjuk ke nilai bukan nol, reinisialisasi DDEML tersirat. Dalam hal ini, pidInst harus menunjuk ke pengidentifikasi instans aplikasi yang valid.
[in] pfnCallback
Jenis: PFNCALLBACK
Penunjuk ke fungsi panggilan balik DDE yang ditentukan aplikasi. Fungsi ini memproses transaksi DDE yang dikirim oleh sistem. Untuk informasi selengkapnya, lihat fungsi panggilan balik DdeCallback .
[in] afCmd
Jenis: DWORD
Satu set bendera APPCMD_, CBF_, dan MF_ . Bendera APPCMD_ memberikan instruksi khusus untuk DdeInitialize. Bendera CBF_ menentukan filter yang mencegah jenis transaksi tertentu mencapai fungsi panggilan balik. Bendera MF_ menentukan jenis aktivitas DDE yang dipantau oleh aplikasi pemantauan DDE. Menggunakan bendera ini meningkatkan performa aplikasi DDE dengan menghilangkan panggilan yang tidak perlu ke fungsi panggilan balik.
Parameter ini bisa menjadi satu atau beberapa nilai berikut.
Nilai | Makna |
---|---|
|
Memungkinkan aplikasi untuk memantau aktivitas DDE dalam sistem. Bendera ini untuk digunakan oleh aplikasi pemantauan DDE. Aplikasi menentukan jenis aktivitas DDE untuk dipantau dengan menggabungkan satu atau beberapa bendera monitor dengan bendera APPCLASS_MONITOR . Untuk detailnya, lihat bagian Keterangan berikut ini. |
|
Mendaftarkan aplikasi sebagai aplikasi DDEML standar (nonmonitoring). |
|
Mencegah aplikasi menjadi server dalam percakapan DDE. Aplikasi hanya dapat menjadi klien. Bendera ini mengurangi konsumsi sumber daya oleh DDEML. Ini termasuk fungsionalitas bendera CBF_FAIL_ALLSVRXACTIONS . |
|
Mencegah DDEML mengirim XTYP_CONNECT dan XTYP_WILDCONNECT transaksi ke aplikasi sampai aplikasi telah membuat handel string-nya dan mendaftarkan nama layanannya atau telah menonaktifkan pemfilteran dengan panggilan berikutnya ke fungsi DdeNameService atau DdeInitialize . Bendera ini selalu berlaku ketika aplikasi memanggil DdeInitialize untuk pertama kalinya, terlepas dari apakah aplikasi menentukan bendera. Pada panggilan berikutnya ke DdeInitialize, tidak menentukan bendera ini menonaktifkan filter nama layanan aplikasi, tetapi menentukannya akan mengaktifkan filter nama layanan aplikasi. |
|
Mencegah fungsi panggilan balik menerima transaksi server. Sistem mengembalikan DDE_FNOTPROCESSED ke setiap klien yang mengirim transaksi ke aplikasi ini. Bendera ini setara dengan menggabungkan semua bendera CBF_FAIL_. |
|
Mencegah fungsi panggilan balik menerima transaksi XTYP_ADVSTART dan XTYP_ADVSTOP . Sistem mengembalikan DDE_FNOTPROCESSED ke setiap klien yang mengirim transaksi XTYP_ADVSTART atau XTYP_ADVSTOP ke server. |
|
Mencegah fungsi panggilan balik menerima transaksi XTYP_CONNECT dan XTYP_WILDCONNECT . |
|
Mencegah fungsi panggilan balik menerima transaksi XTYP_EXECUTE . Sistem mengembalikan DDE_FNOTPROCESSED ke klien yang mengirim transaksi XTYP_EXECUTE ke server. |
|
Mencegah fungsi panggilan balik menerima transaksi XTYP_POKE . Sistem mengembalikan DDE_FNOTPROCESSED ke klien yang mengirim transaksi XTYP_POKE ke server. |
|
Mencegah fungsi panggilan balik menerima transaksi XTYP_REQUEST . Sistem mengembalikan DDE_FNOTPROCESSED ke klien yang mengirim transaksi XTYP_REQUEST ke server. |
|
Mencegah fungsi panggilan balik menerima transaksi XTYP_CONNECT dari instans aplikasi itu sendiri. Bendera ini mencegah aplikasi membuat percakapan DDE dengan instansnya sendiri. Aplikasi harus menggunakan bendera ini jika perlu berkomunikasi dengan instans lain itu sendiri tetapi tidak dengan dirinya sendiri. |
|
Mencegah fungsi panggilan balik menerima pemberitahuan apa pun. Bendera ini setara dengan menggabungkan semua bendera CBF_SKIP_. |
|
Mencegah fungsi panggilan balik menerima pemberitahuan XTYP_CONNECT_CONFIRM . |
|
Mencegah fungsi panggilan balik menerima pemberitahuan XTYP_DISCONNECT . |
|
Mencegah fungsi panggilan balik menerima pemberitahuan XTYP_REGISTER . |
|
Mencegah fungsi panggilan balik menerima pemberitahuan XTYP_UNREGISTER . |
|
Memberi tahu fungsi panggilan balik setiap kali transaksi dikirim ke fungsi panggilan balik DDE apa pun dalam sistem. |
|
Memberi tahu fungsi panggilan balik setiap kali percakapan dibuat atau dihentikan. |
|
Memberi tahu fungsi panggilan balik setiap kali terjadi kesalahan DDE. |
|
Memberi tahu fungsi panggilan balik setiap kali aplikasi DDE membuat, membebaskan, atau menaikkan jumlah penggunaan handel string atau setiap kali handel string dibebaskan sebagai akibat dari panggilan ke fungsi DdeUninitialize . |
|
Memberi tahu fungsi panggilan balik setiap kali perulangan saran dimulai atau berakhir. |
|
Memberi tahu fungsi panggilan balik setiap kali sistem atau aplikasi memposting pesan DDE. |
|
Memberi tahu fungsi panggilan balik setiap kali sistem atau aplikasi mengirim pesan DDE. |
ulRes
Jenis: DWORD
Dipesan; harus diatur ke nol.
Mengembalikan nilai
Jenis: UINT
Jika fungsi berhasil, nilai yang dikembalikan adalah DMLERR_NO_ERROR.
Jika fungsi gagal, nilai yang dikembalikan adalah salah satu nilai berikut:
Keterangan
Aplikasi yang menggunakan beberapa instans DDEML tidak boleh melewati objek DDEML antar instans.
Aplikasi pemantauan DDE tidak boleh mencoba melakukan operasi DDE (membuat percakapan, mengeluarkan transaksi, dan sebagainya) dalam konteks instans aplikasi yang sama.
Transaksi sinkron gagal dengan kesalahan DMLERR_REENTRANCY jika ada instans tugas yang sama yang memiliki transaksi sinkron yang sudah berlangsung.
Bendera CBF_FAIL_ALLSVRXACTIONS menyebabkan DDEML memfilter semua transaksi server dan dapat diubah dengan panggilan berikutnya ke DdeInitialize. Bendera APPCMD_CLIENTONLY mencegah DDEML membuat sumber daya utama untuk server dan tidak dapat diubah oleh panggilan berikutnya ke DdeInitialize.
Ada versi ANSI dan versi Unicode dari DdeInitialize. Versi yang disebut menentukan jenis prosedur jendela yang digunakan untuk mengontrol percakapan DDE (ANSI atau Unicode), dan nilai default untuk anggota iCodePage dari struktur CONVCONTEXT (CP_WINANSI atau CP_WINUNICODE).
Catatan
Header ddeml.h mendefinisikan DdeInitialize sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | ddeml.h (termasuk Windows.h) |
Pustaka | User32.lib |
DLL | User32.dll |