Bagikan melalui


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
PROFILE_READ
Membuka profil untuk akses baca.
PROFILE_READWRITE
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
FILE_SHARE_READ
Operasi terbuka lainnya dapat dilakukan pada profil untuk akses baca.
FILE_SHARE_WRITE
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
CREATE_NEW
Membuat profil baru. Gagal jika profil sudah ada.
CREATE_ALWAYS
Membuat profil baru. Menimpa profil jika ada.
OPEN_EXISTING
Membuka profil. Gagal jika tidak ada
OPEN_ALWAYS
Membuka profil jika ada. Untuk profil ICC, jika profil tidak ada, buat profil. Untuk profil XML WCS, jika profil tidak ada, mengembalikan kesalahan.
TRUNCATE_EXISTING
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

Lihat juga