Headers diff for icmui.dll between 6.0.6000.16386-Windows 6.0 and 6.1.7600.16385-Windows 7.0 versions



 icm.h (6.0.6000.16386-Windows 6.0)   icm.h (6.1.7600.16385-Windows 7.0) 
skipping to change at line 174 skipping to change at line 174
// + INTENT_ABSOLUTE_COLORIMETRIC = LCS_GM_ABS_COLORIMETRIC for LOGCOLORSPACE // + INTENT_ABSOLUTE_COLORIMETRIC = LCS_GM_ABS_COLORIMETRIC for LOGCOLORSPACE
// = DMICM_ABS_COLORIMETRIC for DEVMODE // = DMICM_ABS_COLORIMETRIC for DEVMODE
// = "Match" for SetupColorMatching/Printer UI // = "Match" for SetupColorMatching/Printer UI
// //
#define INTENT_PERCEPTUAL 0 #define INTENT_PERCEPTUAL 0
#define INTENT_RELATIVE_COLORIMETRIC 1 #define INTENT_RELATIVE_COLORIMETRIC 1
#define INTENT_SATURATION 2 #define INTENT_SATURATION 2
#define INTENT_ABSOLUTE_COLORIMETRIC 3 #define INTENT_ABSOLUTE_COLORIMETRIC 3
#if NTDDI_VERSION >= NTDDI_LONGHORN #if NTDDI_VERSION >= NTDDI_VISTA
typedef enum { typedef enum {
CPT_ICC, CPT_ICC,
CPT_DMP, CPT_DMP,
CPT_CAMP, CPT_CAMP,
CPT_GMMP CPT_GMMP
} COLORPROFILETYPE; } COLORPROFILETYPE;
typedef COLORPROFILETYPE *PCOLORPROFILETYPE, *LPCOLORPROFILETYPE; typedef COLORPROFILETYPE *PCOLORPROFILETYPE, *LPCOLORPROFILETYPE;
typedef enum { typedef enum {
skipping to change at line 207 skipping to change at line 207
} COLORPROFILESUBTYPE; } COLORPROFILESUBTYPE;
typedef COLORPROFILESUBTYPE *PCOLORPROFILESUBTYPE, *LPCOLORPROFILESUBTYPE; typedef COLORPROFILESUBTYPE *PCOLORPROFILESUBTYPE, *LPCOLORPROFILESUBTYPE;
// //
// Device color data type // Device color data type
// //
typedef enum { typedef enum {
COLOR_BYTE = 1, // BYTE per channel. data range [0, 255] COLOR_BYTE = 1, // BYTE per channel. data range [0, 255]
COLOR_WORD, // WORD per channel. data range [0, 65535] COLOR_WORD, // WORD per channel. data range [0, 65535]
COLOR_FLOAT, // FLOAT per channel. IEEE 32-bit floating point COLOR_FLOAT, // FLOAT per channel. IEEE 32-bit floating point
COLOR_S2DOT13FIXED // WORD per channel. data range [-4, +4] using s COLOR_S2DOT13FIXED, // WORD per channel. data range [-4, +4] using
2.13 s2.13
//#if NTDDI_VERSION >= NTDDI_WIN7
COLOR_10b_R10G10B10A2, // Packed WORD per channel. data range [0, 1
]
COLOR_10b_R10G10B10A2_XR, // Packed extended range WORD per channel. data
range [-1, 3]
// using 4.0 scale and -1.0 bias.
COLOR_FLOAT16 // FLOAT16 per channel.
//#endif //NTDDI_VERSION >= NTDDI_WIN7
} COLORDATATYPE; } COLORDATATYPE;
typedef COLORDATATYPE *PCOLORDATATYPE, *LPCOLORDATATYPE; typedef COLORDATATYPE *PCOLORDATATYPE, *LPCOLORDATATYPE;
#endif // NTDDI_VERSION >= NTDDI_LONGHORN #endif // NTDDI_VERSION >= NTDDI_VISTA
// //
// Bitmap formats supported // Bitmap formats supported
// //
typedef enum { typedef enum {
// //
// 16bpp - 5 bits per channel. The most significant bit is ignored. // 16bpp - 5 bits per channel. The most significant bit is ignored.
// //
skipping to change at line 291 skipping to change at line 299
BM_16b_Lab, BM_16b_Lab,
BM_16b_G3CH, BM_16b_G3CH,
BM_16b_GRAY, BM_16b_GRAY,
// //
// 16 bpp - 5 bits for Red & Blue, 6 bits for Green // 16 bpp - 5 bits for Red & Blue, 6 bits for Green
// //
BM_565RGB = 0x0001, BM_565RGB = 0x0001,
//#if NTDDI_VERSION >= NTDDI_LONGHORN //#if NTDDI_VERSION >= NTDDI_VISTA
// //
// scRGB - 32 bits per channel floating point // scRGB - 32 bits per channel floating point
// 16 bits per channel floating point // 16 bits per channel floating point
// //
BM_32b_scRGB = 0x0601, BM_32b_scRGB = 0x0601,
BM_32b_scARGB = 0x0602, BM_32b_scARGB = 0x0602,
BM_S2DOT13FIXED_scRGB = 0x0603, BM_S2DOT13FIXED_scRGB = 0x0603,
BM_S2DOT13FIXED_scARGB = 0x0604 BM_S2DOT13FIXED_scARGB = 0x0604,
//#endif // NTDDI_VERSION >= NTDDI_LONGHORN //#endif // NTDDI_VERSION >= NTDDI_VISTA
//#if NTDDI_VERSION >= NTDDI_WIN7
BM_R10G10B10A2 = 0x0701,
BM_R10G10B10A2_XR = 0x0702,
BM_R16G16B16A16_FLOAT = 0x0703
//#endif // NTDDI_VERSION >= NTDDI_WIN7
} BMFORMAT; } BMFORMAT;
typedef BMFORMAT *PBMFORMAT, *LPBMFORMAT; typedef BMFORMAT *PBMFORMAT, *LPBMFORMAT;
// //
// Callback function definition // Callback function definition
// //
typedef BOOL (WINAPI *PBMCALLBACKFN)(ULONG, ULONG, LPARAM); typedef BOOL (WINAPI *PBMCALLBACKFN)(ULONG, ULONG, LPARAM);
typedef PBMCALLBACKFN LPBMCALLBACKFN; typedef PBMCALLBACKFN LPBMCALLBACKFN;
skipping to change at line 349 skipping to change at line 363
// Profile class values // Profile class values
// //
#define CLASS_MONITOR 'mntr' #define CLASS_MONITOR 'mntr'
#define CLASS_PRINTER 'prtr' #define CLASS_PRINTER 'prtr'
#define CLASS_SCANNER 'scnr' #define CLASS_SCANNER 'scnr'
#define CLASS_LINK 'link' #define CLASS_LINK 'link'
#define CLASS_ABSTRACT 'abst' #define CLASS_ABSTRACT 'abst'
#define CLASS_COLORSPACE 'spac' #define CLASS_COLORSPACE 'spac'
#define CLASS_NAMED 'nmcl' #define CLASS_NAMED 'nmcl'
#if NTDDI_VERSION >= NTDDI_LONGHORN #if NTDDI_VERSION >= NTDDI_VISTA
#define CLASS_CAMP 'camp' #define CLASS_CAMP 'camp'
#define CLASS_GMMP 'gmmp' #define CLASS_GMMP 'gmmp'
#endif // NTDDI_VERSION >= NTDDI_LONGHORN #endif // NTDDI_VERSION >= NTDDI_VISTA
// //
// Color space values // Color space values
// //
#define SPACE_XYZ 'XYZ ' #define SPACE_XYZ 'XYZ '
#define SPACE_Lab 'Lab ' #define SPACE_Lab 'Lab '
#define SPACE_Luv 'Luv ' #define SPACE_Luv 'Luv '
#define SPACE_YCbCr 'YCbr' #define SPACE_YCbCr 'YCbr'
#define SPACE_Yxy 'Yxy ' #define SPACE_Yxy 'Yxy '
skipping to change at line 388 skipping to change at line 402
// Profile flag bitfield values // Profile flag bitfield values
// //
#define FLAG_EMBEDDEDPROFILE 0x00000001 #define FLAG_EMBEDDEDPROFILE 0x00000001
#define FLAG_DEPENDENTONDATA 0x00000002 #define FLAG_DEPENDENTONDATA 0x00000002
// //
// Profile flag bits for vendor extensions (bytes 44..45 of the ICC profile head er). // Profile flag bits for vendor extensions (bytes 44..45 of the ICC profile head er).
// //
#if NTDDI_VERSION >= NTDDI_LONGHORN #if NTDDI_VERSION >= NTDDI_VISTA
// //
// Enable support for chromatic adaptation. // Enable support for chromatic adaptation.
// //
#define FLAG_ENABLE_CHROMATIC_ADAPTATION 0x02000000 #define FLAG_ENABLE_CHROMATIC_ADAPTATION 0x02000000
#endif // NTDDI_VERSION >= NTDDI_LONGHORN #endif // NTDDI_VERSION >= NTDDI_VISTA
// //
// Profile attributes bitfield values // Profile attributes bitfield values
// //
#define ATTRIB_TRANSPARENCY 0x00000001 #define ATTRIB_TRANSPARENCY 0x00000001
#define ATTRIB_MATTE 0x00000002 #define ATTRIB_MATTE 0x00000002
// //
// Profile data structure // Profile data structure
skipping to change at line 527 skipping to change at line 541
#define ET_SIGNATURE 0x00000100 #define ET_SIGNATURE 0x00000100
#define ET_PLATFORM 0x00000200 #define ET_PLATFORM 0x00000200
#define ET_PROFILEFLAGS 0x00000400 #define ET_PROFILEFLAGS 0x00000400
#define ET_MANUFACTURER 0x00000800 #define ET_MANUFACTURER 0x00000800
#define ET_MODEL 0x00001000 #define ET_MODEL 0x00001000
#define ET_ATTRIBUTES 0x00002000 #define ET_ATTRIBUTES 0x00002000
#define ET_RENDERINGINTENT 0x00004000 #define ET_RENDERINGINTENT 0x00004000
#define ET_CREATOR 0x00008000 #define ET_CREATOR 0x00008000
#define ET_DEVICECLASS 0x00010000 #define ET_DEVICECLASS 0x00010000
#if NTDDI_VERSION >= NTDDI_LONGHORN #if NTDDI_VERSION >= NTDDI_VISTA
// //
// WCS profile management scope - system-wide and current-user // WCS profile management scope - system-wide and current-user
// //
typedef enum typedef enum
{ {
WCS_PROFILE_MANAGEMENT_SCOPE_SYSTEM_WIDE, WCS_PROFILE_MANAGEMENT_SCOPE_SYSTEM_WIDE,
WCS_PROFILE_MANAGEMENT_SCOPE_CURRENT_USER WCS_PROFILE_MANAGEMENT_SCOPE_CURRENT_USER
} WCS_PROFILE_MANAGEMENT_SCOPE; } WCS_PROFILE_MANAGEMENT_SCOPE;
#endif // NTDDI_VERSION >= NTDDI_LONGHORN #endif // NTDDI_VERSION >= NTDDI_VISTA
// //
// Flags for creating color transforms // Flags for creating color transforms
// //
#define PROOF_MODE 0x00000001 #define PROOF_MODE 0x00000001
#define NORMAL_MODE 0x00000002 #define NORMAL_MODE 0x00000002
#define BEST_MODE 0x00000003 #define BEST_MODE 0x00000003
#define ENABLE_GAMUT_CHECKING 0x00010000 #define ENABLE_GAMUT_CHECKING 0x00010000
#define USE_RELATIVE_COLORIMETRIC 0x00020000 #define USE_RELATIVE_COLORIMETRIC 0x00020000
#define FAST_TRANSLATE 0x00040000 #define FAST_TRANSLATE 0x00040000
#if NTDDI_VERSION >= NTDDI_LONGHORN #if NTDDI_VERSION >= NTDDI_VISTA
#define PRESERVEBLACK 0x00100000 #define PRESERVEBLACK 0x00100000
#define WCS_ALWAYS 0x00200000 #define WCS_ALWAYS 0x00200000
#endif // NTDDI_VERSION >= NTDDI_LONGHORN #define SEQUENTIAL_TRANSFORM 0x80800000
#endif // NTDDI_VERSION >= NTDDI_VISTA
#define RESERVED 0x80000000 #define RESERVED 0x80000000
// //
// Parameter for GetPS2ColorSpaceArray // Parameter for GetPS2ColorSpaceArray
// //
#define CSA_A 1 #define CSA_A 1
#define CSA_ABC 2 #define CSA_ABC 2
#define CSA_DEF 3 #define CSA_DEF 3
#define CSA_DEFG 4 #define CSA_DEFG 4
skipping to change at line 705 skipping to change at line 720
} COLORMATCHSETUPA, *PCOLORMATCHSETUPA, *LPCOLORMATCHSETUPA; } COLORMATCHSETUPA, *PCOLORMATCHSETUPA, *LPCOLORMATCHSETUPA;
// //
// Windows API definitions // Windows API definitions
// //
HPROFILE WINAPI OpenColorProfileA(__in PPROFILE pProfile, DWORD dwDesiredAcces s, DWORD dwShareMode, DWORD dwCreationMode); HPROFILE WINAPI OpenColorProfileA(__in PPROFILE pProfile, DWORD dwDesiredAcces s, DWORD dwShareMode, DWORD dwCreationMode);
HPROFILE WINAPI OpenColorProfileW(__in PPROFILE pProfile, DWORD dwDesiredAcces s, DWORD dwShareMode, DWORD dwCreationMode); HPROFILE WINAPI OpenColorProfileW(__in PPROFILE pProfile, DWORD dwDesiredAcces s, DWORD dwShareMode, DWORD dwCreationMode);
BOOL WINAPI CloseColorProfile(__in_opt HPROFILE hProfile); BOOL WINAPI CloseColorProfile(__in_opt HPROFILE hProfile);
BOOL WINAPI GetColorProfileFromHandle(__in HPROFILE hProfile, __out_bcount BOOL WINAPI GetColorProfileFromHandle(__in HPROFILE hProfile, __out_bcount
_opt(*pcbProfile) PBYTE pProfile, PDWORD pcbProfile); _opt(*pcbProfile) PBYTE pProfile, __inout PDWORD pcbProfile);
BOOL WINAPI IsColorProfileValid(__in HPROFILE hProfile, PBOOL pbValid); BOOL WINAPI IsColorProfileValid(__in HPROFILE hProfile, __out PBOOL pbVali
BOOL WINAPI CreateProfileFromLogColorSpaceA(__in LPLOGCOLORSPACEA pLogColo d);
rSpace, __deref_out PBYTE* pProfile); BOOL WINAPI CreateProfileFromLogColorSpaceA(__in LPLOGCOLORSPACEA pLogColo
BOOL WINAPI CreateProfileFromLogColorSpaceW(__in LPLOGCOLORSPACEW pLogColo rSpace, __deref_out_xcount(GlobalSize(*pProfile)) PBYTE* pProfile);
rSpace, __deref_out PBYTE* pProfile); BOOL WINAPI CreateProfileFromLogColorSpaceW(__in LPLOGCOLORSPACEW pLogColo
BOOL WINAPI GetCountColorProfileElements(__in HPROFILE hProfile, PDWORD pn rSpace, __deref_out_xcount(GlobalSize(*pProfile)) PBYTE* pProfile);
ElementCount); BOOL WINAPI GetCountColorProfileElements(__in HPROFILE hProfile, __out PDW
ORD pnElementCount);
BOOL WINAPI GetColorProfileHeader(__in HPROFILE hProfile, __out PPROFILEHE ADER pHeader); BOOL WINAPI GetColorProfileHeader(__in HPROFILE hProfile, __out PPROFILEHE ADER pHeader);
BOOL WINAPI GetColorProfileElementTag(__in HPROFILE hProfile, DWORD dwInde x, __out PTAGTYPE pTag); BOOL WINAPI GetColorProfileElementTag(__in HPROFILE hProfile, DWORD dwInde x, __out PTAGTYPE pTag);
BOOL WINAPI IsColorProfileTagPresent(__in HPROFILE hProfile, TAGTYPE tag, __out PBOOL pbPresent); BOOL WINAPI IsColorProfileTagPresent(__in HPROFILE hProfile, TAGTYPE tag, __out PBOOL pbPresent);
BOOL WINAPI GetColorProfileElement(__in HPROFILE hProfile, TAGTYPE tag, DW ORD dwOffset, PDWORD pcbElement, __out_bcount_opt(*pcbElement) PVOID pElement, _ _out PBOOL pbReference); BOOL WINAPI GetColorProfileElement(__in HPROFILE hProfile, TAGTYPE tag, DW ORD dwOffset, __inout PDWORD pcbElement, __out_bcount_opt(*pcbElement) PVOID pEl ement, __out PBOOL pbReference);
BOOL WINAPI SetColorProfileHeader(__in HPROFILE hProfile, __in_bcount(size of(PROFILEHEADER)) PPROFILEHEADER pHeader); BOOL WINAPI SetColorProfileHeader(__in HPROFILE hProfile, __in_bcount(size of(PROFILEHEADER)) PPROFILEHEADER pHeader);
BOOL WINAPI SetColorProfileElementSize(__in HPROFILE hProfile, TAGTYPE tag Type, DWORD pcbElement); BOOL WINAPI SetColorProfileElementSize(__in HPROFILE hProfile, TAGTYPE tag Type, DWORD pcbElement);
BOOL WINAPI SetColorProfileElement(__in HPROFILE hProfile, TAGTYPE tag, DW ORD dwOffset, PDWORD pcbElement, __in_ecount(*pcbElement) PVOID pElement); BOOL WINAPI SetColorProfileElement(__in HPROFILE hProfile, TAGTYPE tag, DW ORD dwOffset, __in PDWORD pcbElement, __in_ecount(*pcbElement) PVOID pElement);
BOOL WINAPI SetColorProfileElementReference(__in HPROFILE hProfile, TAGTYP E newTag, TAGTYPE refTag); BOOL WINAPI SetColorProfileElementReference(__in HPROFILE hProfile, TAGTYP E newTag, TAGTYPE refTag);
BOOL WINAPI GetPS2ColorSpaceArray(__in HPROFILE hProfile, DWORD dwIntent, BOOL WINAPI GetPS2ColorSpaceArray(__in HPROFILE hProfile, DWORD dwIntent,
DWORD dwCSAType, __out_opt PBYTE pPS2ColorSpaceArray, PDWORD pcbPS2ColorSpaceArr DWORD dwCSAType, __out_bcount_opt(*pcbPS2ColorSpaceArray) PBYTE pPS2ColorSpaceAr
ay, __out PBOOL pbBinary); ray, __inout PDWORD pcbPS2ColorSpaceArray, __out PBOOL pbBinary);
BOOL WINAPI GetPS2ColorRenderingIntent(__in HPROFILE hProfile, DWORD dwInt BOOL WINAPI GetPS2ColorRenderingIntent(__in HPROFILE hProfile, DWORD dwInt
ent, __out_bcount_opt(*pcbPS2ColorRenderingIntent) PBYTE pBuffer, PDWORD pcbPS2C ent, __out_bcount_opt(*pcbPS2ColorRenderingIntent) PBYTE pBuffer, __inout PDWORD
olorRenderingIntent); pcbPS2ColorRenderingIntent);
BOOL WINAPI GetPS2ColorRenderingDictionary(__in HPROFILE hProfile, DWORD d BOOL WINAPI GetPS2ColorRenderingDictionary(__in HPROFILE hProfile, DWORD d
wIntent, __out_bcount_opt(*pcbPS2ColorRenderingDictionary) PBYTE pPS2ColorRender wIntent, __out_bcount_opt(*pcbPS2ColorRenderingDictionary) PBYTE pPS2ColorRender
ingDictionary, PDWORD pcbPS2ColorRenderingDictionary, PBOOL pbBinary); ingDictionary, __inout PDWORD pcbPS2ColorRenderingDictionary, __inout PBOOL pbBi
nary);
BOOL WINAPI GetNamedProfileInfo(__in HPROFILE hProfile, __inout_bcount(siz eof(NAMED_PROFILE_INFO)) PNAMED_PROFILE_INFO pNamedProfileInfo); BOOL WINAPI GetNamedProfileInfo(__in HPROFILE hProfile, __inout_bcount(siz eof(NAMED_PROFILE_INFO)) PNAMED_PROFILE_INFO pNamedProfileInfo);
BOOL WINAPI ConvertColorNameToIndex(__in HPROFILE hProfile, __in_ecount(dw Count) PCOLOR_NAME paColorName, __out_ecount(dwCount) PDWORD paIndex, DWORD dwCo unt); BOOL WINAPI ConvertColorNameToIndex(__in HPROFILE hProfile, __in_ecount(dw Count) PCOLOR_NAME paColorName, __out_ecount(dwCount) PDWORD paIndex, DWORD dwCo unt);
BOOL WINAPI ConvertIndexToColorName(__in HPROFILE hProfile, __in_ecount(dw Count) PDWORD paIndex, __out_ecount(dwCount) PCOLOR_NAME paColorName, DWORD dwCo unt); BOOL WINAPI ConvertIndexToColorName(__in HPROFILE hProfile, __in_ecount(dw Count) PDWORD paIndex, __out_ecount(dwCount) PCOLOR_NAME paColorName, DWORD dwCo unt);
BOOL WINAPI CreateDeviceLinkProfile(__in_ecount(nProfiles) PHPROFILE hProf ile, DWORD nProfiles, __in_ecount(nIntents) PDWORD padwIntent, DWORD nIntents, D WORD dwFlags, __out PBYTE* pProfileData, DWORD indexPreferredCMM); BOOL WINAPI CreateDeviceLinkProfile(__in_ecount(nProfiles) PHPROFILE hProf ile, DWORD nProfiles, __in_ecount(nIntents) PDWORD padwIntent, DWORD nIntents, D WORD dwFlags, __deref_out_xcount(GlobalSize(*pProfileData)) PBYTE* pProfileData, DWORD indexPreferredCMM);
HTRANSFORM WINAPI CreateColorTransformA(__in LPLOGCOLORSPACEA pLogColorSpace, __ in HPROFILE hDestProfile, __in HPROFILE hTargetProfile, DWORD dwFlags); HTRANSFORM WINAPI CreateColorTransformA(__in LPLOGCOLORSPACEA pLogColorSpace, __ in HPROFILE hDestProfile, __in HPROFILE hTargetProfile, DWORD dwFlags);
HTRANSFORM WINAPI CreateColorTransformW(__in LPLOGCOLORSPACEW pLogColorSpace, __ in HPROFILE hDestProfile, __in HPROFILE hTargetProfile, DWORD dwFlags); HTRANSFORM WINAPI CreateColorTransformW(__in LPLOGCOLORSPACEW pLogColorSpace, __ in HPROFILE hDestProfile, __in HPROFILE hTargetProfile, DWORD dwFlags);
HTRANSFORM WINAPI CreateMultiProfileTransform(__in_ecount(nProfiles) PHPROFILE p ahProfiles, DWORD nProfiles, __in_ecount(nIntents) PDWORD padwIntent, DWORD nInt ents, DWORD dwFlags, DWORD indexPreferredCMM); HTRANSFORM WINAPI CreateMultiProfileTransform(__in_ecount(nProfiles) PHPROFILE p ahProfiles, DWORD nProfiles, __in_ecount(nIntents) PDWORD padwIntent, DWORD nInt ents, DWORD dwFlags, DWORD indexPreferredCMM);
BOOL WINAPI DeleteColorTransform(__inout HTRANSFORM hxform); BOOL WINAPI DeleteColorTransform(__inout HTRANSFORM hxform);
BOOL WINAPI TranslateBitmapBits(__in HTRANSFORM hColorTransform, __in PVOI D pSrcBits, BMFORMAT bmInput, DWORD dwWidth, DWORD dwHeight, DWORD dwInputStride , __out PVOID pDestBits, BMFORMAT bmOutput, DWORD dwOutputStride, __in_opt __cal lback PBMCALLBACKFN pfnCallBack, __in_opt LPARAM ulCallbackData); BOOL WINAPI TranslateBitmapBits(__in HTRANSFORM hColorTransform, __in PVOI D pSrcBits, BMFORMAT bmInput, DWORD dwWidth, DWORD dwHeight, DWORD dwInputStride , __out PVOID pDestBits, BMFORMAT bmOutput, DWORD dwOutputStride, __in_opt __cal lback PBMCALLBACKFN pfnCallBack, __in_opt LPARAM ulCallbackData);
BOOL WINAPI CheckBitmapBits(__in HTRANSFORM hColorTransform, __in PVOID pS rcBits, BMFORMAT bmInput, DWORD dwWidth, DWORD dwHeight, DWORD dwStride, __out_e count(dwWidth * dwHeight) PBYTE paResult, __in_opt __callback PBMCALLBACKFN pfnC allback, __in_opt LPARAM lpCallbackData); BOOL WINAPI CheckBitmapBits(__in HTRANSFORM hColorTransform, __in PVOID pS rcBits, BMFORMAT bmInput, DWORD dwWidth, DWORD dwHeight, DWORD dwStride, __out_e count(dwWidth * dwHeight) PBYTE paResult, __in_opt __callback PBMCALLBACKFN pfnC allback, __in_opt LPARAM lpCallbackData);
BOOL WINAPI TranslateColors(__in HTRANSFORM hColorTransform, __in_ecount(n Colors) PCOLOR paInputColors, DWORD nColors, COLORTYPE ctInput, __out_ecount(nCo lors) PCOLOR paOutputColors, COLORTYPE ctOutput); BOOL WINAPI TranslateColors(__in HTRANSFORM hColorTransform, __in_ecount(n Colors) PCOLOR paInputColors, DWORD nColors, COLORTYPE ctInput, __out_ecount(nCo lors) PCOLOR paOutputColors, COLORTYPE ctOutput);
BOOL WINAPI CheckColors(__in HTRANSFORM hColorTransform, __in_ecount(nColo rs) PCOLOR paInputColors, DWORD nColors, COLORTYPE ctInput, __out_ecount(nColors ) PBYTE paResult); BOOL WINAPI CheckColors(__in HTRANSFORM hColorTransform, __in_ecount(nColo rs) PCOLOR paInputColors, DWORD nColors, COLORTYPE ctInput, __out_ecount(nColors ) PBYTE paResult);
DWORD WINAPI GetCMMInfo(__in HTRANSFORM hColorTransform, __in DWORD); DWORD WINAPI GetCMMInfo(__in HTRANSFORM hColorTransform, __in DWORD);
BOOL WINAPI RegisterCMMA(__in_opt PCSTR pMachineName, __in DWORD cmmID, __ in PCSTR pCMMdll); BOOL WINAPI RegisterCMMA(__in_opt PCSTR pMachineName, __in DWORD cmmID, __ in PCSTR pCMMdll);
skipping to change at line 790 skipping to change at line 805
__inout PDWORD pcbSize __inout PDWORD pcbSize
); );
BOOL WINAPI AssociateColorProfileWithDeviceA(__in_opt PCSTR pMachineName, __in PCSTR pProfileName, __in PCSTR pDeviceName); BOOL WINAPI AssociateColorProfileWithDeviceA(__in_opt PCSTR pMachineName, __in PCSTR pProfileName, __in PCSTR pDeviceName);
BOOL WINAPI AssociateColorProfileWithDeviceW(__in_opt PCWSTR pMachineName, __in PCWSTR pProfileName, __in PCWSTR pDeviceName); BOOL WINAPI AssociateColorProfileWithDeviceW(__in_opt PCWSTR pMachineName, __in PCWSTR pProfileName, __in PCWSTR pDeviceName);
BOOL WINAPI DisassociateColorProfileFromDeviceA(__in_opt PCSTR pMachineNam e, __in PCSTR pProfileName, __in PCSTR pDeviceName); BOOL WINAPI DisassociateColorProfileFromDeviceA(__in_opt PCSTR pMachineNam e, __in PCSTR pProfileName, __in PCSTR pDeviceName);
BOOL WINAPI DisassociateColorProfileFromDeviceW(__in_opt PCWSTR pMachineNa me, __in PCWSTR pProfileName, __in PCWSTR pDeviceName); BOOL WINAPI DisassociateColorProfileFromDeviceW(__in_opt PCWSTR pMachineNa me, __in PCWSTR pProfileName, __in PCWSTR pDeviceName);
BOOL WINAPI SetupColorMatchingW(__inout_bcount(sizeof(COLORMATCHSETUPW)) P COLORMATCHSETUPW pcms); BOOL WINAPI SetupColorMatchingW(__inout_bcount(sizeof(COLORMATCHSETUPW)) P COLORMATCHSETUPW pcms);
BOOL WINAPI SetupColorMatchingA(__inout_bcount(sizeof(COLORMATCHSETUPA)) P COLORMATCHSETUPA pcms); BOOL WINAPI SetupColorMatchingA(__inout_bcount(sizeof(COLORMATCHSETUPA)) P COLORMATCHSETUPA pcms);
#if NTDDI_VERSION >= NTDDI_LONGHORN #if NTDDI_VERSION >= NTDDI_VISTA
BOOL BOOL
WINAPI WINAPI
WcsAssociateColorProfileWithDevice( WcsAssociateColorProfileWithDevice(
__in WCS_PROFILE_MANAGEMENT_SCOPE scope, __in WCS_PROFILE_MANAGEMENT_SCOPE scope,
__in PCWSTR pProfileName, __in PCWSTR pProfileName,
__in PCWSTR pDeviceName __in PCWSTR pDeviceName
); );
BOOL BOOL
skipping to change at line 925 skipping to change at line 940
); );
// //
// The APIs SetupColorMatchingA and SetupColorMatchingW are // The APIs SetupColorMatchingA and SetupColorMatchingW are
// deprecated as of Windows Vista. The implementations in icmui.dll // deprecated as of Windows Vista. The implementations in icmui.dll
// now SetLastError to ERROR_NOT_SUPPORTED, and return FALSE. // now SetLastError to ERROR_NOT_SUPPORTED, and return FALSE.
// //
#pragma deprecated (SetupColorMatchingA) #pragma deprecated (SetupColorMatchingA)
#pragma deprecated (SetupColorMatchingW) #pragma deprecated (SetupColorMatchingW)
#endif // NTDDI_VERSION >= NTDDI_LONGHORN #endif // NTDDI_VERSION >= NTDDI_VISTA
#ifdef UNICODE #ifdef UNICODE
#define ENUMTYPE ENUMTYPEW #define ENUMTYPE ENUMTYPEW
#define PENUMTYPE PENUMTYPEW #define PENUMTYPE PENUMTYPEW
#define COLORMATCHSETUP COLORMATCHSETUPW #define COLORMATCHSETUP COLORMATCHSETUPW
#define PCOLORMATCHSETUP PCOLORMATCHSETUPW #define PCOLORMATCHSETUP PCOLORMATCHSETUPW
#define LPCOLORMATCHSETUP LPCOLORMATCHSETUPW #define LPCOLORMATCHSETUP LPCOLORMATCHSETUPW
#define PCMSCALLBACK PCMSCALLBACKW #define PCMSCALLBACK PCMSCALLBACKW
#define CreateColorTransform CreateColorTransformW #define CreateColorTransform CreateColorTransformW
skipping to change at line 949 skipping to change at line 964
#define UnregisterCMM UnregisterCMMW #define UnregisterCMM UnregisterCMMW
#define GetColorDirectory GetColorDirectoryW #define GetColorDirectory GetColorDirectoryW
#define InstallColorProfile InstallColorProfileW #define InstallColorProfile InstallColorProfileW
#define UninstallColorProfile UninstallColorProfileW #define UninstallColorProfile UninstallColorProfileW
#define AssociateColorProfileWithDevice AssociateColorProfileWithDeviceW #define AssociateColorProfileWithDevice AssociateColorProfileWithDeviceW
#define DisassociateColorProfileFromDevice DisassociateColorProfileFromDeviceW #define DisassociateColorProfileFromDevice DisassociateColorProfileFromDeviceW
#define EnumColorProfiles EnumColorProfilesW #define EnumColorProfiles EnumColorProfilesW
#define SetStandardColorSpaceProfile SetStandardColorSpaceProfileW #define SetStandardColorSpaceProfile SetStandardColorSpaceProfileW
#define GetStandardColorSpaceProfile GetStandardColorSpaceProfileW #define GetStandardColorSpaceProfile GetStandardColorSpaceProfileW
#define SetupColorMatching SetupColorMatchingW #define SetupColorMatching SetupColorMatchingW
#if NTDDI_VERSION >= NTDDI_LONGHORN #if NTDDI_VERSION >= NTDDI_VISTA
#define WcsOpenColorProfile WcsOpenColorProfileW #define WcsOpenColorProfile WcsOpenColorProfileW
#endif // NTDDI_VERSION >= NTDDI_LONGHORN #endif // NTDDI_VERSION >= NTDDI_VISTA
#else #else
#define ENUMTYPE ENUMTYPEA #define ENUMTYPE ENUMTYPEA
#define PENUMTYPE PENUMTYPEA #define PENUMTYPE PENUMTYPEA
#define COLORMATCHSETUP COLORMATCHSETUPA #define COLORMATCHSETUP COLORMATCHSETUPA
#define PCOLORMATCHSETUP PCOLORMATCHSETUPA #define PCOLORMATCHSETUP PCOLORMATCHSETUPA
#define LPCOLORMATCHSETUP LPCOLORMATCHSETUPA #define LPCOLORMATCHSETUP LPCOLORMATCHSETUPA
#define PCMSCALLBACK PCMSCALLBACKA #define PCMSCALLBACK PCMSCALLBACKA
#define CreateColorTransform CreateColorTransformA #define CreateColorTransform CreateColorTransformA
skipping to change at line 975 skipping to change at line 990
#define UnregisterCMM UnregisterCMMA #define UnregisterCMM UnregisterCMMA
#define GetColorDirectory GetColorDirectoryA #define GetColorDirectory GetColorDirectoryA
#define InstallColorProfile InstallColorProfileA #define InstallColorProfile InstallColorProfileA
#define UninstallColorProfile UninstallColorProfileA #define UninstallColorProfile UninstallColorProfileA
#define AssociateColorProfileWithDevice AssociateColorProfileWithDeviceA #define AssociateColorProfileWithDevice AssociateColorProfileWithDeviceA
#define DisassociateColorProfileFromDevice DisassociateColorProfileFromDeviceA #define DisassociateColorProfileFromDevice DisassociateColorProfileFromDeviceA
#define EnumColorProfiles EnumColorProfilesA #define EnumColorProfiles EnumColorProfilesA
#define SetStandardColorSpaceProfile SetStandardColorSpaceProfileA #define SetStandardColorSpaceProfile SetStandardColorSpaceProfileA
#define GetStandardColorSpaceProfile GetStandardColorSpaceProfileA #define GetStandardColorSpaceProfile GetStandardColorSpaceProfileA
#define SetupColorMatching SetupColorMatchingA #define SetupColorMatching SetupColorMatchingA
#if NTDDI_VERSION >= NTDDI_LONGHORN #if NTDDI_VERSION >= NTDDI_VISTA
#define WcsOpenColorProfile WcsOpenColorProfileA #define WcsOpenColorProfile WcsOpenColorProfileA
#endif // NTDDI_VERSION >= NTDDI_LONGHORN #endif // NTDDI_VERSION >= NTDDI_VISTA
#endif // !UNICODE #endif // !UNICODE
// //
// Transform returned by CMM // Transform returned by CMM
// //
typedef HANDLE HCMTRANSFORM; typedef HANDLE HCMTRANSFORM;
// //
// Pointer to ICC color profile data. // Pointer to ICC color profile data.
// //
typedef PVOID LPDEVCHARACTER; typedef PVOID LPDEVCHARACTER;
// //
// CMM API definition // CMM API definition
// //
BOOL WINAPI CMCheckColors( BOOL WINAPI CMCheckColors(
__in HCMTRANSFORM hcmTransform, // transform handle __in HCMTRANSFORM hcmTransform, // transform handle
__in_ecount(nColors) LPCOLOR lpaInputColors, // array of COLORs __in_ecount(nColors) LPCOLOR lpaInputColors, // array of COLORs
DWORD nColors, // COLOR array size DWORD nColors, // COLOR array size
COLORTYPE ctInput, // input color type COLORTYPE ctInput, // input color type
LPBYTE lpaResult // buffer for results __out_ecount(nColors) LPBYTE lpaResult // buffer for results
);
BOOL WINAPI CMCheckColorsInGamut(
__in HCMTRANSFORM hcmTransform, // transform handle
__in_ecount(nCount) RGBTRIPLE *lpaRGBTriple, // RGB triple array
__out_bcount(nCount) LPBYTE lpaResult, // buffer for results
UINT nCount // result buffer size
); );
BOOL WINAPI CMCheckRGBs( BOOL WINAPI CMCheckRGBs(
__in HCMTRANSFORM hcmTransform, // transform handle __in HCMTRANSFORM hcmTransform, // transform
__in LPVOID lpSrcBits, // source bitmap bits handle
BMFORMAT bmInput, // source bitmap format __in LPVOID lpSrcBits, // source bi
DWORD dwWidth, // source bitmap width tmap bits
DWORD dwHeight, // source bitmap hight BMFORMAT bmInput, // source bi
DWORD dwStride, // source bitmap delta tmap format
__out LPBYTE lpaResult, // buffer for results DWORD dwWidth, // source bi
__callback PBMCALLBACKFN pfnCallback, // pointer to callback function tmap width
LPARAM ulCallbackData // caller-defined parameter to callba DWORD dwHeight, // source bi
ck tmap hight
DWORD dwStride, // source bi
tmap delta
__out_ecount(dwWidth * dwHeight) LPBYTE lpaResult, // buffer fo
r results
__callback PBMCALLBACKFN pfnCallback, // pointer t
o callback function
LPARAM ulCallbackData // caller-de
fined parameter to callback
); );
BOOL WINAPI CMConvertColorNameToIndex( BOOL WINAPI CMConvertColorNameToIndex(
__in HPROFILE hProfile, __in HPROFILE hProfile,
__in_ecount(dwCount) PCOLOR_NAME paColorName, __in_ecount(dwCount) PCOLOR_NAME paColorName,
__out_ecount(dwCount) PDWORD paIndex, __out_ecount(dwCount) PDWORD paIndex,
DWORD dwCount DWORD dwCount
); );
BOOL WINAPI CMConvertIndexToColorName( BOOL WINAPI CMConvertIndexToColorName(
__in HPROFILE hProfile, __in HPROFILE hProfile,
__in_ecount(dwCount) PDWORD paIndex, __in_ecount(dwCount) PDWORD paIndex,
__out_ecount(dwCount) PCOLOR_NAME paColorName, __out_ecount(dwCount) PCOLOR_NAME paColorName,
DWORD dwCount DWORD dwCount
); );
BOOL WINAPI CMCreateDeviceLinkProfile( BOOL WINAPI CMCreateDeviceLinkProfile(
__in_ecount(nProfiles) PHPROFILE pahProfiles, // array of profile handles __in_ecount(nProfiles) PHPROFILE pahProfiles, //
DWORD nProfiles, // profile handle array siz array of profile handles
e DWORD nProfiles, //
__in_ecount(nIntents) PDWORD padwIntents, // array of rendering inten profile handle array size
ts __in_ecount(nIntents) PDWORD padwIntents, //
DWORD nIntents, // intent array size array of rendering intents
DWORD dwFlags, // transform creation flags DWORD nIntents, //
__out LPBYTE *lpProfileData // pointer to pointer to bu intent array size
ffer DWORD dwFlags, //
transform creation flags
__deref_out_xcount(GlobalSize(*lpProfileData)) LPBYTE *lpProfileData //
pointer to pointer to buffer
); );
HCMTRANSFORM WINAPI CMCreateMultiProfileTransform( HCMTRANSFORM WINAPI CMCreateMultiProfileTransform(
__in_ecount(nProfiles) PHPROFILE pahProfiles, // array of profile handles __in_ecount(nProfiles) PHPROFILE pahProfiles, // array of profile handles
DWORD nProfiles, // profile handle array siz e DWORD nProfiles, // profile handle array siz e
__in_ecount(nIntents) PDWORD padwIntents, // array of rendering inten ts __in_ecount(nIntents) PDWORD padwIntents, // array of rendering inten ts
DWORD nIntents, // intent array size DWORD nIntents, // intent array size
DWORD dwFlags // transform creation flags DWORD dwFlags // transform creation flags
); );
BOOL WINAPI CMCreateProfile(
__inout LPLOGCOLORSPACEA lpColorSpace, // pointer to a logical color space
__out LPDEVCHARACTER *lpProfileData // pointer to pointer to buffer
);
BOOL WINAPI CMCreateProfileW( BOOL WINAPI CMCreateProfileW(
__inout LPLOGCOLORSPACEW lpColorSpace, // pointer to a logical color space __inout LPLOGCOLORSPACEW lpColorSpace, // pointer to a logical color space
__out LPDEVCHARACTER *lpProfileData // pointer to pointer to buffer __out LPDEVCHARACTER *lpProfileData // pointer to pointer to buffer
); );
// //
// The CMM APIs CMCreateTransform, CMCreateTransformW, and CMCreateTransformExt are // The CMM APIs CMCreateTransform, CMCreateTransformW, and CMCreateTransformExt are
// deprecated as of Windows Vista, and CMM implementors are no longer required t o // deprecated as of Windows Vista, and CMM implementors are no longer required t o
// implement them. The implementations in the default CMM (icm32.dll) in Windows Vista // implement them. The implementations in the default CMM (icm32.dll) in Windows Vista
// now SetLastError to ERROR_NOT_SUPPORTED, and return an invalid transform hand le // now SetLastError to ERROR_NOT_SUPPORTED, and return an invalid transform hand le
skipping to change at line 1088 skipping to change at line 1091
HCMTRANSFORM WINAPI CMCreateTransformW( HCMTRANSFORM WINAPI CMCreateTransformW(
__in LPLOGCOLORSPACEW lpColorSpace, // pointer to logical color space __in LPLOGCOLORSPACEW lpColorSpace, // pointer to logical color space
__in LPDEVCHARACTER lpDevCharacter, // profile data __in LPDEVCHARACTER lpDevCharacter, // profile data
__in LPDEVCHARACTER lpTargetDevCharacter // target profile data __in LPDEVCHARACTER lpTargetDevCharacter // target profile data
); );
HCMTRANSFORM WINAPI CMCreateTransformExt( HCMTRANSFORM WINAPI CMCreateTransformExt(
__in LPLOGCOLORSPACEA lpColorSpace, // pointer to logical color space __in LPLOGCOLORSPACEA lpColorSpace, // pointer to logical color space
__in LPDEVCHARACTER lpDevCharacter, // profile data __in LPDEVCHARACTER lpDevCharacter, // profile data
__in LPDEVCHARACTER lpTargetDevCharacter, // target profile data __in LPDEVCHARACTER lpTargetDevCharacter, // target profile data
DWORD dwFlags // creation flags __in DWORD dwFlags // creation flags
); );
#if NTDDI_VERSION >= NTDDI_LONGHORN //
// The CMM APIs CMCheckColorsInGamut, CMCreateProfile, CMTranslateRGB and CMTran
slateRGBs are
// deprecated as of Windows 7, and CMM implementors are no longer required to
// implement them. The implementations in the default CMM (icm32.dll) in Windows
7
// now SetLastError to ERROR_NOT_SUPPORTED, and return FALSE.
//
BOOL WINAPI CMCheckColorsInGamut(
__in HCMTRANSFORM hcmTransform, // transform handle
__in_ecount(nCount) RGBTRIPLE *lpaRGBTriple, // RGB triple array
__out_bcount(nCount) LPBYTE lpaResult, // buffer for results
UINT nCount // result buffer size
);
BOOL WINAPI CMCreateProfile(
__inout LPLOGCOLORSPACEA lpColorSpace, // pointer to a logical color space
__out LPDEVCHARACTER *lpProfileData // pointer to pointer to buffer
);
BOOL WINAPI CMTranslateRGB(
__in HCMTRANSFORM hcmTransform,
COLORREF ColorRef,
__out LPCOLORREF lpColorRef,
DWORD dwFlags
);
BOOL WINAPI CMTranslateRGBs(
__in HCMTRANSFORM hcmTransform,
__in LPVOID lpSrcBits,
BMFORMAT bmInput,
DWORD dwWidth,
DWORD dwHeight,
DWORD dwStride,
__out LPVOID lpDestBits,
BMFORMAT bmOutput,
DWORD dwTranslateDirection
);
#if NTDDI_VERSION >= NTDDI_VISTA
#pragma deprecated (CMCreateTransform) #pragma deprecated (CMCreateTransform)
#pragma deprecated (CMCreateTransformW) #pragma deprecated (CMCreateTransformW)
#pragma deprecated (CMCreateTransformExt) #pragma deprecated (CMCreateTransformExt)
#endif // NTDDI_VERSION >= NTDDI_LONGHORN #pragma deprecated (CMCheckColorsInGamut)
#pragma deprecated (CMCreateProfile)
#pragma deprecated (CMTranslateRGB)
#endif // NTDDI_VERSION >= NTDDI_VISTA
#if NTDDI_VERSION > NTDDI_VISTA
#pragma deprecated (CMTranslateRGBs)
#endif // NTDDI_VERSION > NTDDI_VISTA
HCMTRANSFORM WINAPI CMCreateTransformExtW( HCMTRANSFORM WINAPI CMCreateTransformExtW(
__in LPLOGCOLORSPACEW lpColorSpace, // pointer to logical color space __in LPLOGCOLORSPACEW lpColorSpace, // pointer to logical color space
__in LPDEVCHARACTER lpDevCharacter, // profile data __in LPDEVCHARACTER lpDevCharacter, // profile data
__in LPDEVCHARACTER lpTargetDevCharacter, // target profile data __in LPDEVCHARACTER lpTargetDevCharacter, // target profile data
DWORD dwFlags // creation flags __in DWORD dwFlags // creation flags
); );
BOOL WINAPI CMDeleteTransform( BOOL WINAPI CMDeleteTransform(
__inout HCMTRANSFORM hcmTransform // transform handle to be dele ted. __inout HCMTRANSFORM hcmTransform // transform handle to be dele ted.
); );
DWORD WINAPI CMGetInfo( DWORD WINAPI CMGetInfo(
DWORD dwInfo DWORD dwInfo
); );
BOOL WINAPI CMGetNamedProfileInfo( BOOL WINAPI CMGetNamedProfileInfo(
__in HPROFILE hProfile, // profile handle __in HPROFILE hProfile, // profile handle
__inout PNAMED_PROFILE_INFO pNamedProfileInfo // pointer to named profile in fo __inout PNAMED_PROFILE_INFO pNamedProfileInfo // pointer to named profile in fo
); );
BOOL WINAPI CMGetPS2ColorRenderingDictionary( BOOL WINAPI CMGetPS2ColorRenderingDictionary(
__in HPROFILE hProfile, __in HPROFILE hProfile,
DWORD dwIntent, DWORD dwIntent,
__out_bcount_opt(*lpcbSize) LPBYTE lpBuffer, __out_bcount_opt(*lpcbSize) LPBYTE lpBuffer,
LPDWORD lpcbSize, __inout LPDWORD lpcbSize,
LPBOOL lpbBinary __inout LPBOOL lpbBinary
); );
BOOL WINAPI CMGetPS2ColorRenderingIntent( BOOL WINAPI CMGetPS2ColorRenderingIntent(
__in HPROFILE hProfile, __in HPROFILE hProfile,
DWORD dwIntent, DWORD dwIntent,
__out_bcount_opt(*lpcbSize) LPBYTE lpBuffer, __out_bcount_opt(*lpcbSize) LPBYTE lpBuffer,
LPDWORD lpcbSize __inout LPDWORD lpcbSize
); );
BOOL WINAPI CMGetPS2ColorSpaceArray( BOOL WINAPI CMGetPS2ColorSpaceArray(
__in HPROFILE hProfile, __in HPROFILE hProfile,
DWORD dwIntent, DWORD dwIntent,
DWORD dwCSAType, DWORD dwCSAType,
__out_bcount_opt(*lpcbSize) LPBYTE lpBuffer, __out_bcount_opt(*lpcbSize) LPBYTE lpBuffer,
LPDWORD lpcbSize, __inout LPDWORD lpcbSize,
LPBOOL lpbBinary __inout LPBOOL lpbBinary
); );
BOOL WINAPI CMIsProfileValid( BOOL WINAPI CMIsProfileValid(
__in HPROFILE hProfile, // proflle handle __in HPROFILE hProfile, // proflle handle
__out LPBOOL lpbValid // buffer for result. __out LPBOOL lpbValid // buffer for result.
); );
BOOL WINAPI CMTranslateColors( BOOL WINAPI CMTranslateColors(
__in HCMTRANSFORM hcmTransform, // transform handl e __in HCMTRANSFORM hcmTransform, // transform handl e
__in_ecount(nColors) LPCOLOR lpaInputColors, // pointer to inpu t color array __in_ecount(nColors) LPCOLOR lpaInputColors, // pointer to inpu t color array
DWORD nColors, // number of color in color array DWORD nColors, // number of color in color array
COLORTYPE ctInput, // input color typ e COLORTYPE ctInput, // input color typ e
__out_ecount(nColors) LPCOLOR lpaOutputColors, // pointer to outp ut color array __out_ecount(nColors) LPCOLOR lpaOutputColors, // pointer to outp ut color array
COLORTYPE ctOutput // output color ty pe COLORTYPE ctOutput // output color ty pe
); );
BOOL WINAPI CMTranslateRGB(
__in HCMTRANSFORM hcmTransform,
COLORREF ColorRef,
__out LPCOLORREF lpColorRef,
DWORD dwFlags
);
BOOL WINAPI CMTranslateRGBs(
__in HCMTRANSFORM hcmTransform,
__in LPVOID lpSrcBits,
BMFORMAT bmInput,
DWORD dwWidth,
DWORD dwHeight,
DWORD dwStride,
__out LPVOID lpDestBits,
BMFORMAT bmOutput,
DWORD dwTranslateDirection
);
BOOL WINAPI CMTranslateRGBsExt( BOOL WINAPI CMTranslateRGBsExt(
__in HCMTRANSFORM hcmTransform, __in HCMTRANSFORM hcmTransform,
__in LPVOID lpSrcBits, __in LPVOID lpSrcBits,
BMFORMAT bmInput, BMFORMAT bmInput,
DWORD dwWidth, DWORD dwWidth,
DWORD dwHeight, DWORD dwHeight,
DWORD dwInputStride, DWORD dwInputStride,
__out LPVOID lpDestBits, __out LPVOID lpDestBits,
BMFORMAT bmOutput, BMFORMAT bmOutput,
DWORD dwOutputStride, DWORD dwOutputStride,
__callback LPBMCALLBACKFN lpfnCallback, __callback LPBMCALLBACKFN lpfnCallback,
LPARAM ulCallbackData LPARAM ulCallbackData
); );
#if NTDDI_VERSION >= NTDDI_LONGHORN #if NTDDI_VERSION >= NTDDI_VISTA
// //
// Windows Color System APIs // Windows Color System APIs
// //
// //
// Passed in as a bit-flag for dwFlags, this instructs WcsOpenColorProfile // Passed in as a bit-flag for dwFlags, this instructs WcsOpenColorProfile
// to ignore any embedded Wcs information in the WcsProfiles tag if the input // to ignore any embedded Wcs information in the WcsProfiles tag if the input
// profile is an ICC one. // profile is an ICC one.
// //
skipping to change at line 1257 skipping to change at line 1286
__in DWORD dwOptions __in DWORD dwOptions
); );
// //
// ICC TAGTYPE for the embedded Wcs information. // ICC TAGTYPE for the embedded Wcs information.
// //
#define WCS_EMBEDDED_TAG_SIGNATURE 'MS00' #define WCS_EMBEDDED_TAG_SIGNATURE 'MS00'
#define WCS_EMBEDDED_TAG_TYPE_SIGNATURE 'MS10' #define WCS_EMBEDDED_TAG_TYPE_SIGNATURE 'MS10'
#endif // NTDDI_VERSION >= NTDDI_LONGHORN #endif // NTDDI_VERSION >= NTDDI_VISTA
#if NTDDI_VERSION >= NTDDI_WIN7
BOOL WcsGetCalibrationManagementState (
__out BOOL *pbIsEnabled
);
BOOL WcsSetCalibrationManagementState (
__in BOOL bIsEnabled
);
#endif // NTDDI_VERSION >= NTDDI_WIN7
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif // ifndef _ICM_H_ #endif // ifndef _ICM_H_
 End of changes. 39 change blocks. 
109 lines changed or deleted 167 lines changed or added

This html diff was produced by rfcdiff 1.41.