Baca dalam bahasa Inggris

Bagikan melalui


Fungsi DdeInitializeA (ddeml.h)

Mendaftarkan aplikasi dengan Pustaka Manajemen Pertukaran Data Dinamis (DDEML) . Aplikasi harus memanggil fungsi ini sebelum memanggil fungsi Dynamic Data Exchange Management Library (DDEML) lainnya.

Sintaksis

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 aplikasi pemantauan DDE. Menggunakan bendera ini meningkatkan performa aplikasi DDE dengan menghilangkan panggilan yang tidak perlu ke fungsi panggilan balik.

Parameter ini bisa berupa satu atau beberapa nilai berikut.

Nilai Arti
APPCLASS_MONITOR
0x00000001L
Memungkinkan aplikasi 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 Komentar berikut ini.
APPCLASS_STANDARD
0x00000000L
Mendaftarkan aplikasi sebagai aplikasi DDEML standar (nonmonitoring).
APPCMD_CLIENTONLY
0x00000010L
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.
APPCMD_FILTERINITS
0x00000020L
Mencegah DDEML mengirim transaksi XTYP_CONNECT dan XTYP_WILDCONNECT ke aplikasi hingga aplikasi membuat handel string dan mendaftarkan nama layanannya atau telah menonaktifkan pemfilteran dengan panggilan berikutnya ke DdeNameService atau DdeInitialize. Bendera ini selalu berlaku ketika aplikasi memanggil DdeInitialize untuk pertama kalinya, terlepas dari apakah aplikasi menentukan bendera. Pada panggilan berikutnya untuk DdeInitialize, tidak menentukan bendera ini menonaktifkan filter nama layanan aplikasi, tetapi menentukannya mengaktifkan filter nama layanan aplikasi.
CBF_FAIL_ALLSVRXACTIONS
0x0003f000
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_.
CBF_FAIL_ADVISES
0x00004000
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.
CBF_FAIL_CONNECTIONS
0x00002000
Mencegah fungsi panggilan balik menerima transaksi XTYP_CONNECT dan XTYP_WILDCONNECT.
CBF_FAIL_EXECUTES
0x00008000
Mencegah fungsi panggilan balik menerima transaksi XTYP_EXECUTE. Sistem mengembalikan DDE_FNOTPROCESSED ke klien yang mengirim transaksi XTYP_EXECUTE ke server.
CBF_FAIL_POKES
0x00010000
Mencegah fungsi panggilan balik menerima transaksi XTYP_POKE. Sistem mengembalikan DDE_FNOTPROCESSED ke klien yang mengirim transaksi XTYP_POKE ke server.
CBF_FAIL_REQUESTS
0x00020000
Mencegah fungsi panggilan balik menerima transaksi XTYP_REQUEST. Sistem mengembalikan DDE_FNOTPROCESSED ke klien yang mengirim transaksi XTYP_REQUEST ke server.
CBF_FAIL_SELFCONNECTIONS
0x00001000
Mencegah fungsi panggilan balik menerima transaksi XTYP_CONNECT dari instans aplikasi 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.
CBF_SKIP_ALLNOTIFICATIONS
0x003c0000
Mencegah fungsi panggilan balik menerima pemberitahuan apa pun. Bendera ini setara dengan menggabungkan semua bendera CBF_SKIP_.
CBF_SKIP_CONNECT_CONFIRMS
0x00040000
Mencegah fungsi panggilan balik menerima pemberitahuan XTYP_CONNECT_CONFIRM.
CBF_SKIP_DISCONNECTS
0x00200000
Mencegah fungsi panggilan balik menerima pemberitahuan XTYP_DISCONNECT.
CBF_SKIP_REGISTRATIONS
0x00080000
Mencegah fungsi panggilan balik menerima pemberitahuan XTYP_REGISTER.
CBF_SKIP_UNREGISTRATIONS
0x00100000
Mencegah fungsi panggilan balik menerima pemberitahuan XTYP_UNREGISTER.
MF_CALLBACKS
0x08000000
Memberi tahu fungsi panggilan balik setiap kali transaksi dikirim ke fungsi panggilan balik DDE apa pun dalam sistem.
MF_CONV
0x40000000
Memberi tahu fungsi panggilan balik setiap kali percakapan dibuat atau dihentikan.
MF_ERRORS
0x10000000
Memberi tahu fungsi panggilan balik setiap kali terjadi kesalahan DDE.
MF_HSZ_INFO
0x01000000
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.
MF_LINKS
0x20000000
Memberi tahu fungsi panggilan balik setiap kali perulangan saran dimulai atau berakhir.
MF_POSTMSGS
0x04000000
Memberi tahu fungsi panggilan balik setiap kali sistem atau aplikasi memposting pesan DDE.
MF_SENDMSGS
0x02000000
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 pengembalian DMLERR_NO_ERROR.

Jika fungsi gagal, nilai yang dikembalikan adalah salah satu nilai berikut:

Komentar

Aplikasi yang menggunakan beberapa instans DDEML tidak boleh meneruskan objek DDEML antar instans.

Aplikasi pemantauan DDE tidak boleh mencoba melakukan operasi DDE (membuat percakapan, menerbitkan transaksi, dan sebagainya) dalam konteks instans aplikasi yang sama.

Transaksi sinkron gagal dengan kesalahan DMLERR_REENTRANCY jika ada instans tugas yang sama 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 untuk DdeInitialize.

Ada versi ANSI dan versi Unicode DdeInitialize. Versi yang disebut menentukan jenis prosedur jendela yang digunakan untuk mengontrol percakapan DDE (ANSI atau Unicode), dan nilai default untuk iCodePage anggota 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 praprosem 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

Syarat Nilai
klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Platform Target Windows
Header ddeml.h (termasuk Windows.h)
Pustaka User32.lib
DLL User32.dll

Lihat juga

Gambaran Umum Pustaka Manajemen Data Exchange Dinamis