mingw-5.1.4/win32/include/icm.h
changeset 0 76b1f169d9fe
equal deleted inserted replaced
-1:000000000000 0:76b1f169d9fe
       
     1 #ifndef _ICM_H
       
     2 #define _ICM_H
       
     3 #if __GNUC__ >= 3
       
     4 #pragma GCC system_header
       
     5 #endif
       
     6 
       
     7 #ifdef __cplusplus
       
     8 extern "C" {
       
     9 #endif
       
    10 
       
    11 #if (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500)
       
    12 #define MAX_COLOR_CHANNELS 8
       
    13 #define PROFILE_FILENAME 1
       
    14 #define PROFILE_MEMBUFFER 2
       
    15 #define PROFILE_READ 1
       
    16 #define PROFILE_READWRITE 2
       
    17 #define CLASS_SCANNER 0x73636E72
       
    18 #define CLASS_MONITOR 0x6D6E7472
       
    19 #define CLASS_PRINTER 0x70727472
       
    20 #define CLASS_LINK 0x6C696E6B
       
    21 #define CLASS_COLORSPAC 0x73706163
       
    22 #define CLASS_ABSTRACT 0x61627374
       
    23 #define CLASS_NAMED 0x6E6D636C
       
    24 #define SPACE_XYZ 0x58595A20
       
    25 #define SPACE_Lab 0x4C616220
       
    26 #define SPACE_Luv 0x4C757620
       
    27 #define SPACE_YCbCr 0x59436272
       
    28 #define SPACE_Yxy 0x59787920
       
    29 #define SPACE_RGB 0x52474220
       
    30 #define SPACE_GRAY 0x47524159
       
    31 #define SPACE_HSV 0x48535620
       
    32 #define SPACE_HLS 0x484C5320
       
    33 #define SPACE_CMYK 0x434D594B
       
    34 #define SPACE_CMY 0x434D5920
       
    35 #define SPACE_2_CHANNEL 0x32434C52
       
    36 #define SPACE_3_CHANNEL 0x33434C52
       
    37 #define SPACE_4_CHANNEL 0x34434C52
       
    38 #define SPACE_5_CHANNEL 0x35434C52
       
    39 #define SPACE_6_CHANNEL 0x36434C52
       
    40 #define SPACE_7_CHANNEL 0x37434C52
       
    41 #define SPACE_8_CHANNEL 0x38434C52
       
    42 #define FLAG_EMBEDDEDPROFILE 1
       
    43 #define FLAG_DEPENDENTONDATA 2
       
    44 #define ATTRIB_TRANSPARENCY 1
       
    45 #define ATTRIB_MATTE 2
       
    46 #define INTENT_PERCEPTUAL 0
       
    47 #define INTENT_RELATIVE_COLORIMETRIC 1
       
    48 #define INTENT_SATURATION 2
       
    49 #define INTENT_ABSOLUTE_COLORIMETRIC 3
       
    50 #define COLOR_MATCH_VERSION 0x200
       
    51 #define CMS_DISABLEICM 0x1
       
    52 #define CMS_ENABLEPROOFING 0x2
       
    53 #define CMS_SETRENDERINTENT 0x4
       
    54 #define CMS_SETPROOFINTENT 0x8
       
    55 #define CMS_SETMONITORPROFILE 0x10
       
    56 #define CMS_SETPRINTERPROFILE 0x20
       
    57 #define CMS_SETTARGETPROFILE 0x40
       
    58 #define CMS_USEHOOK 0x80
       
    59 #define CMS_USEAPPLYCALLBACK 0x100
       
    60 #define CMS_USEDESCRIPTION 0x200
       
    61 #define CMS_TARGETOVERFLOW 0x20000000
       
    62 #define CMS_PRINTERROVERFLOW 0x40000000
       
    63 #define CMS_MONITOROVERFLOW 0x80000000
       
    64 
       
    65 DECLARE_HANDLE(HPROFILE);
       
    66 typedef HPROFILE *PHPROFILE,*LPHPROFILE;
       
    67 DECLARE_HANDLE(HTRANSFORM);\
       
    68 
       
    69 typedef BOOL (CALLBACK *PBMCALLBACKFN)(ULONG,ULONG,LPARAM);
       
    70 struct _tagCOLORMATCHSETUPA;
       
    71 struct _tagCOLORMATCHSETUPW;
       
    72 typedef BOOL (CALLBACK *PCMSCALLBACKA)(struct _tagCOLORMATCHSETUPA*,LPARAM);
       
    73 typedef BOOL (CALLBACK *PCMSCALLBACKW)(struct _tagCOLORMATCHSETUPW*,LPARAM);
       
    74 
       
    75 typedef CHAR COLOR_NAME[32];
       
    76 typedef COLOR_NAME *PCOLOR_NAME,*LPCOLOR_NAME;
       
    77 typedef DWORD TAGTYPE,*PTAGTYPE,*LPTAGTYPE;
       
    78 typedef enum 
       
    79 {
       
    80   BM_x555RGB      = 0x0000,
       
    81   BM_x555XYZ      = 0x0101,
       
    82   BM_x555Yxy,
       
    83   BM_x555Lab,
       
    84   BM_x555G3CH,
       
    85   BM_RGBTRIPLETS  = 0x0002,
       
    86   BM_BGRTRIPLETS  = 0x0004,
       
    87   BM_XYZTRIPLETS  = 0x0201,
       
    88   BM_YxyTRIPLETS,
       
    89   BM_LabTRIPLETS,
       
    90   BM_G3CHTRIPLETS,
       
    91   BM_5CHANNEL,
       
    92   BM_6CHANNEL,
       
    93   BM_7CHANNEL,
       
    94   BM_8CHANNEL,
       
    95   BM_GRAY,
       
    96   BM_xRGBQUADS    = 0x0008,
       
    97   BM_xBGRQUADS    = 0x0010,
       
    98   BM_xG3CHQUADS   = 0x0304,
       
    99   BM_KYMCQUADS,
       
   100   BM_CMYKQUADS    = 0x0020,
       
   101   BM_10b_RGB      = 0x0009,
       
   102   BM_10b_XYZ      = 0x0401,
       
   103   BM_10b_Yxy,
       
   104   BM_10b_Lab,
       
   105   BM_10b_G3CH,
       
   106   BM_NAMED_INDEX,
       
   107   BM_16b_RGB      = 0x000A,
       
   108   BM_16b_XYZ      = 0x0501,
       
   109   BM_16b_Yxy,
       
   110   BM_16b_Lab,
       
   111   BM_16b_G3CH,
       
   112   BM_16b_GRAY,
       
   113   BM_565RGB       = 0x0001
       
   114 } BMFORMAT,*PBMFORMAT,*LPBMFORMAT;
       
   115 typedef enum 
       
   116 {
       
   117   COLOR_GRAY       =   1,
       
   118   COLOR_RGB,
       
   119   COLOR_XYZ,
       
   120   COLOR_Yxy,
       
   121   COLOR_Lab,
       
   122   COLOR_3_CHANNEL,
       
   123   COLOR_CMYK,
       
   124   COLOR_5_CHANNEL,
       
   125   COLOR_6_CHANNEL,
       
   126   COLOR_7_CHANNEL,
       
   127   COLOR_8_CHANNEL,
       
   128   COLOR_NAMED
       
   129 } COLORTYPE,*PCOLORTYPE,*LPCOLORTYPE;
       
   130 struct GRAYCOLOR {
       
   131   WORD    gray;
       
   132 };
       
   133 struct RGBCOLOR {
       
   134   WORD    red;
       
   135   WORD    green;
       
   136   WORD    blue;
       
   137 };
       
   138 struct CMYKCOLOR {
       
   139   WORD    cyan;
       
   140   WORD    magenta;
       
   141   WORD    yellow;
       
   142   WORD    black;
       
   143 };
       
   144 struct XYZCOLOR {
       
   145   WORD    X;
       
   146   WORD    Y;
       
   147   WORD    Z;
       
   148 };
       
   149 struct YxyCOLOR {
       
   150   WORD    Y;
       
   151   WORD    x;
       
   152   WORD    y;
       
   153 };
       
   154 struct LabCOLOR {
       
   155   WORD    L;
       
   156   WORD    a;
       
   157   WORD    b;
       
   158 };
       
   159 struct GENERIC3CHANNEL {
       
   160   WORD    ch1;
       
   161   WORD    ch2;
       
   162   WORD    ch3;
       
   163 };
       
   164 struct NAMEDCOLOR {
       
   165   DWORD   dwIndex;
       
   166 };
       
   167 struct HiFiCOLOR {
       
   168   BYTE    channel[MAX_COLOR_CHANNELS];
       
   169 };
       
   170 typedef union tagCOLOR {
       
   171   struct GRAYCOLOR        gray;
       
   172   struct RGBCOLOR         rgb;
       
   173   struct CMYKCOLOR        cmyk;
       
   174   struct XYZCOLOR         XYZ;
       
   175   struct YxyCOLOR         Yxy;
       
   176   struct LabCOLOR         Lab;
       
   177   struct GENERIC3CHANNEL  gen3ch;
       
   178   struct NAMEDCOLOR       named;
       
   179   struct HiFiCOLOR        hifi;
       
   180 } COLOR,*PCOLOR,*LPCOLOR;
       
   181 typedef struct _tagCOLORMATCHSETUPA {
       
   182   DWORD         dwSize;
       
   183   DWORD         dwVersion;
       
   184   DWORD         dwFlags; 
       
   185   HWND          hwndOwner;
       
   186   PCSTR         pSourceName; 
       
   187   PCSTR         pDisplayName; 
       
   188   PCSTR         pPrinterName;
       
   189   DWORD         dwRenderIntent; 
       
   190   DWORD         dwProofingIntent;
       
   191   PSTR          pMonitorProfile; 
       
   192   DWORD         ccMonitorProfile;
       
   193   PSTR          pPrinterProfile; 
       
   194   DWORD         ccPrinterProfile;
       
   195   PSTR          pTargetProfile; 
       
   196   DWORD         ccTargetProfile;
       
   197   DLGPROC       lpfnHook; 
       
   198   LPARAM        lParam;
       
   199   PCMSCALLBACKA lpfnApplyCallback;
       
   200   LPARAM        lParamApplyCallback; 
       
   201 } COLORMATCHSETUPA,*PCOLORMATCHSETUPA,*LPCOLORMATCHSETUPA;
       
   202 typedef struct _tagCOLORMATCHSETUPW {
       
   203   DWORD         dwSize;
       
   204   DWORD         dwVersion;
       
   205   DWORD         dwFlags; 
       
   206   HWND          hwndOwner;
       
   207   PCWSTR        pSourceName; 
       
   208   PCWSTR        pDisplayName; 
       
   209   PCWSTR        pPrinterName;
       
   210   DWORD         dwRenderIntent; 
       
   211   DWORD         dwProofingIntent;
       
   212   PWSTR         pMonitorProfile; 
       
   213   DWORD         ccMonitorProfile;
       
   214   PWSTR         pPrinterProfile; 
       
   215   DWORD         ccPrinterProfile;
       
   216   PWSTR         pTargetProfile; 
       
   217   DWORD         ccTargetProfile;
       
   218   DLGPROC       lpfnHook; 
       
   219   LPARAM        lParam;
       
   220   PCMSCALLBACKW lpfnApplyCallback;
       
   221   LPARAM        lParamApplyCallback; 
       
   222 } COLORMATCHSETUPW,*PCOLORMATCHSETUPW,*LPCOLORMATCHSETUPW;
       
   223 typedef struct tagENUMTYPEW {
       
   224   DWORD   dwSize;
       
   225   DWORD   dwVersion;
       
   226   DWORD   dwFields;
       
   227   PCWSTR  pDeviceName;
       
   228   DWORD   dwMediaType;
       
   229   DWORD   dwDitheringMode;
       
   230   DWORD   dwResolution[2];
       
   231   DWORD   dwCMMType;
       
   232   DWORD   dwClass;
       
   233   DWORD   dwDataColorSpace;
       
   234   DWORD   dwConnectionSpace;
       
   235   DWORD   dwSignature;
       
   236   DWORD   dwPlatform;
       
   237   DWORD   dwProfileFlags;
       
   238   DWORD   dwManufacturer;
       
   239   DWORD   dwModel;
       
   240   DWORD   dwAttributes[2];
       
   241   DWORD   dwRenderingIntent;
       
   242   DWORD   dwCreator;
       
   243   DWORD   dwDeviceClass;
       
   244 } ENUMTYPEW,*PENUMTYPEW,*LPENUMTYPEW;
       
   245 typedef struct tagENUMTYPEA {
       
   246   DWORD   dwSize;
       
   247   DWORD   dwVersion;
       
   248   DWORD   dwFields;
       
   249   PCSTR   pDeviceName;
       
   250   DWORD   dwMediaType;
       
   251   DWORD   dwDitheringMode;
       
   252   DWORD   dwResolution[2];
       
   253   DWORD   dwCMMType;
       
   254   DWORD   dwClass;
       
   255   DWORD   dwDataColorSpace;
       
   256   DWORD   dwConnectionSpace;
       
   257   DWORD   dwSignature;
       
   258   DWORD   dwPlatform;
       
   259   DWORD   dwProfileFlags;
       
   260   DWORD   dwManufacturer;
       
   261   DWORD   dwModel;
       
   262   DWORD   dwAttributes[2];
       
   263   DWORD   dwRenderingIntent;
       
   264   DWORD   dwCreator;
       
   265   DWORD   dwDeviceClass;
       
   266 } ENUMTYPEA,*PENUMTYPEA,*LPENUMTYPEA;
       
   267 typedef struct tagNAMED_PROFILE_INFO{
       
   268   DWORD         dwFlags;
       
   269   DWORD         dwCount;
       
   270   DWORD         dwCountDevCoordinates;
       
   271   COLOR_NAME    szPrefix;
       
   272   COLOR_NAME    szSuffix;
       
   273 } NAMED_PROFILE_INFO,*PNAMED_PROFILE_INFO,*LPNAMED_PROFILE_INFO;
       
   274 typedef struct tagPROFILE {
       
   275   DWORD    dwType;
       
   276   PVOID    pProfileData;
       
   277   DWORD    cbDataSize;
       
   278 } PROFILE,*PPROFILE,*LPPROFILE;
       
   279 typedef struct tagPROFILEHEADER {
       
   280   DWORD   phSize;
       
   281   DWORD   phCMMType;
       
   282   DWORD   phVersion;
       
   283   DWORD   phClass;
       
   284   DWORD   phDataColorSpace;
       
   285   DWORD   phConnectionSpace;
       
   286   DWORD   phDateTime[3];
       
   287   DWORD   phSignature;
       
   288   DWORD   phPlatform;
       
   289   DWORD   phProfileFlags;
       
   290   DWORD   phManufacturer;
       
   291   DWORD   phModel;
       
   292   DWORD   phAttributes[2];
       
   293   DWORD   phRenderingIntent;
       
   294   CIEXYZ  phIlluminant;
       
   295   DWORD   phCreator;
       
   296   BYTE    phReserved[44];
       
   297 } PROFILEHEADER,*PPROFILEHEADER,*LPPROFILEHEADER;
       
   298 
       
   299 BOOL WINAPI AssociateColorProfileWithDeviceA(PCSTR,PCSTR,PCSTR);
       
   300 BOOL WINAPI AssociateColorProfileWithDeviceW(PCWSTR,PCWSTR,PCWSTR);
       
   301 BOOL WINAPI CheckBitmapBits(HTRANSFORM,PVOID,BMFORMAT,DWORD,DWORD,DWORD,PBYTE,PBMCALLBACKFN,LPARAM);
       
   302 BOOL WINAPI CheckColors(HTRANSFORM,PCOLOR,DWORD,COLORTYPE,PBYTE);
       
   303 BOOL WINAPI CloseColorProfile(HPROFILE);
       
   304 BOOL WINAPI ConvertColorNameToIndex(HPROFILE,PCOLOR_NAME,PDWORD,DWORD);
       
   305 BOOL WINAPI ConvertIndexToColorName(HPROFILE,PDWORD,PCOLOR_NAME,DWORD);
       
   306 HTRANSFORM WINAPI CreateColorTransformA(LPLOGCOLORSPACEA,HPROFILE,HPROFILE,DWORD);
       
   307 HTRANSFORM WINAPI CreateColorTransformW(LPLOGCOLORSPACEW,HPROFILE,HPROFILE,DWORD);
       
   308 BOOL WINAPI CreateDeviceLinkProfile(PHPROFILE,DWORD,PDWORD,DWORD,DWORD,PBYTE*,DWORD);
       
   309 HTRANSFORM WINAPI CreateMultiProfileTransform(PHPROFILE,DWORD,PDWORD,DWORD,DWORD,DWORD);
       
   310 BOOL WINAPI CreateProfileFromLogColorSpaceA(LPLOGCOLORSPACEA,PBYTE*);
       
   311 BOOL WINAPI CreateProfileFromLogColorSpaceW(LPLOGCOLORSPACEW,PBYTE*);
       
   312 BOOL WINAPI DeleteColorTransform(HTRANSFORM);
       
   313 BOOL WINAPI DisassociateColorProfileFromDeviceA(PCSTR,PCSTR,PCSTR);
       
   314 BOOL WINAPI DisassociateColorProfileFromDeviceW(PCWSTR,PCWSTR,PCWSTR);
       
   315 BOOL WINAPI EnumColorProfilesA(PCSTR,PENUMTYPEA,PBYTE,PDWORD,PDWORD);
       
   316 BOOL WINAPI EnumColorProfilesW(PCWSTR,PENUMTYPEW,PBYTE,PDWORD,PDWORD);
       
   317 DWORD WINAPI GetCMMInfo(HTRANSFORM,DWORD);
       
   318 BOOL WINAPI GetColorDirectoryA(PCSTR,PSTR,PDWORD);
       
   319 BOOL WINAPI GetColorDirectoryW(PCWSTR,PWSTR,PDWORD);
       
   320 BOOL WINAPI GetColorProfileElement(HPROFILE,TAGTYPE,DWORD,PDWORD,PVOID,PBOOL);
       
   321 BOOL WINAPI GetColorProfileElementTag(HPROFILE,DWORD,PTAGTYPE);
       
   322 BOOL WINAPI GetColorProfileFromHandle(HPROFILE,PBYTE,PDWORD);
       
   323 BOOL WINAPI GetColorProfileHeader(HPROFILE,PPROFILEHEADER);
       
   324 BOOL WINAPI GetCountColorProfileElements(HPROFILE,PDWORD);
       
   325 BOOL WINAPI GetNamedProfileInfo(HPROFILE,PNAMED_PROFILE_INFO);
       
   326 BOOL WINAPI GetPS2ColorRenderingDictionary(HPROFILE,DWORD,PBYTE,PDWORD,PBOOL);
       
   327 BOOL WINAPI GetPS2ColorRenderingIntent(HPROFILE,DWORD,PBYTE,PDWORD);
       
   328 BOOL WINAPI GetPS2ColorSpaceArray(HPROFILE,DWORD,DWORD,PBYTE,PDWORD,PBOOL);
       
   329 BOOL WINAPI GetStandardColorSpaceProfileA(PCSTR,DWORD,PSTR,PDWORD);
       
   330 BOOL WINAPI GetStandardColorSpaceProfileW(PCWSTR,DWORD,PWSTR,PDWORD);
       
   331 BOOL WINAPI InstallColorProfileA(PCSTR,PCSTR);
       
   332 BOOL WINAPI InstallColorProfileW(PCWSTR,PCWSTR);
       
   333 BOOL WINAPI IsColorProfileTagPresent(HPROFILE,TAGTYPE,PBOOL);
       
   334 BOOL WINAPI IsColorProfileValid(HPROFILE,PBOOL);
       
   335 HPROFILE WINAPI OpenColorProfileA(PPROFILE,DWORD,DWORD,DWORD);
       
   336 HPROFILE WINAPI OpenColorProfileW(PPROFILE,DWORD,DWORD,DWORD);
       
   337 BOOL WINAPI RegisterCMMA(PCSTR,DWORD,PCSTR);
       
   338 BOOL WINAPI RegisterCMMW(PCWSTR,DWORD,PCWSTR);
       
   339 BOOL WINAPI SelectCMM(DWORD);
       
   340 BOOL WINAPI SetColorProfileElement(HPROFILE,TAGTYPE,DWORD,PDWORD,PVOID);
       
   341 BOOL WINAPI SetColorProfileElementReference(HPROFILE,TAGTYPE,TAGTYPE);
       
   342 BOOL WINAPI SetColorProfileElementSize(HPROFILE,TAGTYPE,DWORD);
       
   343 BOOL WINAPI SetColorProfileHeader(HPROFILE,PPROFILEHEADER);
       
   344 BOOL WINAPI SetStandardColorSpaceProfileA(PCSTR,DWORD,PCSTR);
       
   345 BOOL WINAPI SetStandardColorSpaceProfileW(PCWSTR,DWORD,PCSTR);
       
   346 BOOL WINAPI SetupColorMatchingA(PCOLORMATCHSETUPA);
       
   347 BOOL WINAPI SetupColorMatchingW(PCOLORMATCHSETUPW);
       
   348 BOOL WINAPI TranslateBitmapBits(HTRANSFORM,PVOID,BMFORMAT,DWORD,DWORD,DWORD,PVOID,BMFORMAT,DWORD,PBMCALLBACKFN,ULONG);
       
   349 BOOL WINAPI TranslateColors(HTRANSFORM,PCOLOR,DWORD,COLORTYPE,PCOLOR,COLORTYPE);
       
   350 BOOL WINAPI UninstallColorProfileA(PCSTR,PCSTR,BOOL);
       
   351 BOOL WINAPI UninstallColorProfileW(PCWSTR,PCWSTR,BOOL);
       
   352 BOOL WINAPI UnregisterCMMA(PCSTR,DWORD);
       
   353 BOOL WINAPI UnregisterCMMW(PCWSTR,DWORD);
       
   354 
       
   355 #ifdef UNICODE
       
   356 typedef PCMSCALLBACKW PCMSCALLBACK;
       
   357 typedef COLORMATCHSETUPW COLORMATCHSETUP,*PCOLORMATCHSETUP,*LPCOLORMATCHSETUP;
       
   358 typedef ENUMTYPEW ENUMTYPE,*PENUMTYPE,*LPENUMTYPE;
       
   359 #define AssociateColorProfileWithDevice AssociateColorProfileWithDeviceW
       
   360 #define CreateColorTransform CreateColorTransformW
       
   361 #define CreateProfileFromLogColorSpace CreateProfileFromLogColorSpaceW
       
   362 #define DisassociateColorProfileFromDevice DisassociateColorProfileFromDeviceW
       
   363 #define EnumColorProfiles EnumColorProfilesW
       
   364 #define GetColorDirectory GetColorDirectoryW
       
   365 #define GetStandardColorSpaceProfile GetStandardColorSpaceProfileW
       
   366 #define InstallColorProfile InstallColorProfileW
       
   367 #define OpenColorProfile OpenColorProfileW
       
   368 #define RegisterCMM RegisterCMMW
       
   369 #define SetStandardColorSpaceProfile SetStandardColorSpaceProfileW
       
   370 #define SetupColorMatching SetupColorMatchingW
       
   371 #define UninstallColorProfile UninstallColorProfileW
       
   372 #define UnregisterCMM UnregisterCMMW
       
   373 #else /* UNICODE */
       
   374 typedef PCMSCALLBACKA PCMSCALLBACK;
       
   375 typedef COLORMATCHSETUPA COLORMATCHSETUP,*PCOLORMATCHSETUP,*LPCOLORMATCHSETUP;
       
   376 typedef ENUMTYPEA ENUMTYPE,*PENUMTYPE,*LPENUMTYPE;
       
   377 #define AssociateColorProfileWithDevice AssociateColorProfileWithDeviceA
       
   378 #define CreateColorTransform CreateColorTransformA
       
   379 #define CreateProfileFromLogColorSpace CreateProfileFromLogColorSpaceA
       
   380 #define DisassociateColorProfileFromDevice DisassociateColorProfileFromDeviceA
       
   381 #define EnumColorProfiles EnumColorProfilesA
       
   382 #define GetColorDirectory GetColorDirectoryA
       
   383 #define GetStandardColorSpaceProfile GetStandardColorSpaceProfileA
       
   384 #define InstallColorProfile InstallColorProfileA
       
   385 #define OpenColorProfile OpenColorProfileA
       
   386 #define RegisterCMM RegisterCMMA
       
   387 #define SetStandardColorSpaceProfile SetStandardColorSpaceProfileA
       
   388 #define SetupColorMatching SetupColorMatchingA
       
   389 #define UninstallColorProfile UninstallColorProfileA
       
   390 #define UnregisterCMM UnregisterCMMA
       
   391 #endif /* !UNICODE */
       
   392 
       
   393 #endif /* (_WIN32_WINDOWS >= 0x0410 || _WIN32_WINNT >= 0x0500) */
       
   394 
       
   395 #ifdef __cplusplus
       
   396 }
       
   397 #endif
       
   398 
       
   399 #endif /* _ICM_H */