[This is preliminary documentation and subject to change.]
The CMCheckRGBs function checks whether the pixels in a bitmap lie within the output gamut of a specified transform.
BOOL WINAPI CMCheckRGBs(
HCMTRANSFORM hcmTransform,
LPVOID lpSrcBits,
BMFORMAT bmInput,
DWORD dwWidth,
DWORD dwHeight,
DWORD dwStride,
LPBYTE lpaResult,
PBMCALLBACKFN pfnCallback,
ULONG ulCallbackData
);
The results are represented by an array of bytes. Each byte in the array corresponds to a pixel in the bitmap, and on exit is set to an unsigned value between 0 and 255. The value 0 denotes that the color is in gamut, while a nonzero value denotes that it is out of gamut. For any integer n such that 0 < n < 255, a result value of n + 1 indicates that the corresponding color is at least as far out of gamut as would be indicated by a result value of n. These values are usually generated from the gamutTag in the ICC profile.
If this function succeeds, the return value is TRUE.
If this function fails, the return value is FALSE. If the function is not successful, the CMM should call SetLastError to set the last error to a valid error value defined in Winerror.h.
Every CMM is required to export this function.
If the input format is not compatible with the color transform, the CMCheckRGBs function fails.
If the callback function returns 0, processing should be canceled and CMCheckRGBs should return zero to indicate failure; the results buffer may be partially filled.
Windows NT: Requires version 5.0 or later.
Windows: Requires Windows 98.
Windows CE: Unsupported.
Header: Declared in wingdi.h.
Import Library: Use gdi32.lib.
Color Management Overview, ICM 2.0 Functions, ICMProgressProcCallback