OnBeginDecode method
Called by the filter to determine which image formats are supported.
Syntax
HRESULT retVal = object.OnBeginDecode(pdwEvents, pnFormats, ppFormats);
Parameters
- pdwEvents [out]
-
Type: DWORD
The address of a DWORD variable that receives a combination of the following flags.
-
The event sink supports IImageDecodeEventSink::OnProgress.
-
The event sink supports IImageDecodeEventSink::OnPalette.
-
Not currently supported.
-
The event sink supports IImageDecodeEventSink::OnBitsComplete.
-
The event sink surface supports IDirectDrawSurface.
- pnFormats [out]
-
Type: unsigned long
The address of an unsigned long integer variable that receives the number of entries in the buffer returned in ppFormats.
- ppFormats [out]
-
Type: BFID
The address of a pointer variable that receives an array of GUIDs for the supported formats. Preferred formats appear at the beginning of the array. The following formats are defined.
-
The surface supports a black-and-white (one-bit, one-channel) format.
-
The surface supports a 4-bit index, for a 16-color palette.
-
The surface supports an 8-bit index, for a 256-color palette.
-
The surface supports a 5-bit, three-channel format, or R(5) G(5) B(5).
-
The surface supports 16-bit color, or R(5) G(6) B(5).
-
The surface supports 24-bit color, or R(8) G(8) B(8).
-
The surface supports 32-bit (byte-aligned) color.
-
The surface supports 32-bit color with alpha channel transparency.
-
The surface supports 8-bit grayscale.
-
The surface supports 16-bit grayscale.
-
Same as BFID_MONOCHROME.
-
Same as BFID_RGB_4.
-
Same as BFID_RGB_8.
Return value
Type: HRESULT
If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.
Remarks
IImageDecodeEventSink::OnBeginDecode is invoked from IImageDecodeFilter::Initialize.
Free the memory associated with the buffer returned in the ppFormats parameter with CoTaskMemFree. See IImageDecodeFilter::Terminate.
See also