Fungsi OpenColorProfileA (icm.h)
Membuat handel ke profil warna tertentu. Handel kemudian dapat digunakan dalam fungsi manajemen profil lainnya.
Sintaks
HPROFILE OpenColorProfileA(
PPROFILE pProfile,
DWORD dwDesiredAccess,
DWORD dwShareMode,
DWORD dwCreationMode
);
Parameter
pProfile
Penunjuk ke struktur profil warna yang menentukan profil. Penunjuk pProfile dapat dibebaskan segera setelah handel dibuat.
dwDesiredAccess
Menentukan cara mengakses profil yang diberikan. Parameter ini harus mengambil salah satu nilai konstanta berikut.
Nilai | Makna |
---|---|
|
Membuka profil untuk akses baca. |
|
Membuka profil untuk akses baca dan tulis. Tidak berpengaruh pada profil XML WCS. |
dwShareMode
Menentukan bagaimana profil harus dibagikan, jika profil terkandung dalam file. Nilai nol mencegah profil dibagikan sama sekali. Parameter dapat berisi satu atau kedua konstanta berikut (digabungkan dengan penambahan atau logis OR).
Nilai | Makna |
---|---|
|
Operasi terbuka lainnya dapat dilakukan pada profil untuk akses baca. |
|
Operasi terbuka lainnya dapat dilakukan pada profil untuk akses tulis. Tidak berpengaruh pada profil XML WCS. |
dwCreationMode
Menentukan tindakan mana yang harus diambil pada profil saat membukanya, jika terdapat dalam file. Parameter ini harus mengambil salah satu nilai konstanta berikut.
Nilai | Makna |
---|---|
|
Membuat profil baru. Gagal jika profil sudah ada. |
|
Membuat profil baru. Menimpa profil jika ada. |
|
Membuka profil. Gagal jika tidak ada |
|
Membuka profil jika ada. Untuk profil ICC, jika profil tidak ada, buat profil. Untuk profil XML WCS, jika profil tidak ada, mengembalikan kesalahan. |
|
Membuka profil, dan memotongnya menjadi nol byte, mengembalikan profil ICC kosong. Gagal jika profil tidak ada. |
Nilai kembali
Jika fungsi ini berhasil, nilai yang dikembalikan adalah handel profil warna yang dibuka. Untuk profil ICC dan WCS, CAMP dan GMMP disediakan oleh fungsi berdasarkan CAMP dan GMMP default saat ini di registri.
Ketika OpenColorProfile menemukan profil ICC dengan profil WCS yang disematkan, dan jika anggota dwType dalam struktur Profil tidak mengambil nilai DONT_USE_EMBEDDED_WCS_PROFILES, profil tersebut harus mengekstrak dan menggunakan profil WCS yang terkandung dalam WcsProfilesTag ini. HPROFILE yang dikembalikan adalah WCS HPROFILE.
Jika fungsi ini gagal, nilai yang dikembalikan adalah NULL. Untuk informasi kesalahan yang diperluas, hubungi GetLastError.
Keterangan
Jika data profil tidak ditentukan menggunakan nama file, dwShareMode dan dwCreationMode diabaikan.
dwCreationMode menandai CREATE_NEW, CREATE_ALWAYS, dan TRUNCATE_EXISTING, akan selalu mengembalikan ICC HPROFILEs kosong. Jika ada bendera dwCreationMode lainnya, InternalOpenColorProfile dipanggil (menggunakan bendera sebagaimana disediakan oleh API) untuk menentukan apakah profil tersebut adalah ICC atau WCS XML.
Dalam jalur kode ICC, ICC HPROFILE dikembalikan menggunakan bendera berbagi, akses, dan pembuatan yang diminta seperti yang ditentukan dalam tabel di atas.
Dalam jalur WCS, bendera dwCreationMode OPEN_ALWAYS akan gagal jika profil tidak ada, karena profil WCS tidak dapat dibuat atau diedit dalam arsitektur WCS (mereka harus diedit di luarnya, menggunakan MSXML6). Untuk alasan yang sama, bendera dwShareMode FILE_SHARE_WRITE, dan bendera dwDesiredAccess PROFILE_READWRITE diabaikan dalam jalur WCS.
Ketika fungsi membuka profil ICC, fungsi tersebut akan mencari WcsProfilesTag dan, jika ada, fungsi tersebut akan mengekstrak dan menggunakan profil WCS asli yang terkandung di dalamnya. (Lihat WcsCreateIccProfile.)
HPROFILE dengan informasi profil WCS berasal dari DMP dengan memperoleh CAMP default dan GMMP default dari registri. HPROFILE adalah komposisi DMP, CAMP, dan GMMP.
Setelah handel ke profil warna dibuat, informasi apa pun yang digunakan untuk membuat handel tersebut dapat dihapus.
Gunakan fungsi CloseColorProfile untuk menutup handel objek yang dikembalikan oleh OpenColorProfile.
Persyaratan
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Header | icm.h |
Pustaka | Mscms.lib |
DLL | Mscms.dll |