CALLCONV Enum
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengidentifikasi konvensi panggilan yang digunakan oleh metode yang dijelaskan dalam struktur METHODDATA .
public enum class CALLCONV
public enum CALLCONV
[System.Serializable]
public enum CALLCONV
type CALLCONV =
[<System.Serializable>]
type CALLCONV =
Public Enum CALLCONV
- Warisan
- Atribut
Bidang
CC_CDECL | 1 | Menunjukkan bahwa konvensi panggilan deklarasi C (CDECL) digunakan untuk metode . |
CC_MACPASCAL | 3 | Menunjukkan bahwa konvensi panggilan Macintosh Pascal (MACPASCAL) digunakan untuk metode . |
CC_MAX | 9 | Menunjukkan akhir CALLCONV enumerasi. |
CC_MPWCDECL | 7 | Menunjukkan bahwa konvensi panggilan CDECL Macintosh Programmers' Workbench (MPW) digunakan untuk metode . |
CC_MPWPASCAL | 8 | Menunjukkan bahwa konvensi panggilan PASCAL Macintosh Programmers' Workbench (MPW) digunakan untuk metode . |
CC_MSCPASCAL | 2 | Menunjukkan bahwa konvensi panggilan MSC Pascal (MSCPASCAL) digunakan untuk metode . |
CC_PASCAL | 2 | Menunjukkan bahwa konvensi panggilan Pascal digunakan untuk metode . |
CC_RESERVED | 5 | Nilai ini dicadangkan untuk digunakan di masa mendatang. |
CC_STDCALL | 4 | Menunjukkan bahwa konvensi panggilan standar (STDCALL) digunakan untuk metode . |
CC_SYSCALL | 6 | Menunjukkan bahwa konvensi panggilan SYSCALL standar digunakan untuk metode . |
Keterangan
Konvensi panggilan di kelas ini menjelaskan bagaimana fungsi meneruskan argumen dan mengembalikan nilai. Mereka menentukan urutan di mana parameter disiapkan untuk fungsi yang disebut, di mana parameter disimpan (dalam register atau dalam memori), dan siapa (pemanggil atau fungsi yang dipanggil) bertanggung jawab untuk membersihkan tumpukan setelah fungsi kembali. Contohnya:
CC_CDECL menggunakan konvensi penamaan dan panggilan bahasa C. Penelepon mendorong parameter ke tumpukan dalam urutan terbalik (kanan-ke-kiri), dan membersihkan tumpukan setelah fungsi kembali. Konvensi panggilan ini memungkinkan Anda memanggil fungsi dengan
varargs
, yang membuatnya sesuai untuk digunakan dengan metode yang menerima jumlah variabel parameter, seperti fungsi run-time C printf, _printf_l, wprintf, _wprintf_l.CC_PASCAL menggunakan konvensi panggilan Pascal. Penelepon mendorong parameter ke tumpukan dalam urutan kiri ke kanan. Fungsi yang dipanggil membersihkan tumpukan sebelum kembali.
CC_STDCALL adalah konvensi panggilan standar untuk fungsi Win32. Ini adalah konvensi default untuk memanggil fungsi yang tidak dikelola dengan pemanggilan platform. Pemanggil mendorong parameter ke tumpukan dalam urutan terbalik (kanan ke kiri), dan fungsi yang disebut membersihkan tumpukan sebelum kembali.
CC_SYSCALL mirip dengan CDECL karena argumen didorong dari kanan ke kiri. Register EAX, ECX, dan EDX tidak dipertahankan.
Pengidentifikasi konvensi panggilan ini digunakan oleh .NET Framework, platform CE Windows Embedded, dan oleh Automation.
Runtime bahasa umum memberikan pengecualian saat metode COM dalam kode asli mengembalikan HRESULT. Untuk informasi selengkapnya, lihat Cara: Memetakan HRESULT dan Pengecualian.