GetObject  1_E9OKV 

The GetObject function obtains information about a specified graphics object. Depending on the graphics object, the function places a filled-in BITMAP.CPC19, DIBSECTION1MH7KTG, EXTLOGPEN1LRGK1_, LOGBRUSH_3E1K, LOGFONT5M4ITK, or LOGPENODO5MV structure, or a count of table entries (for a logical palette), into a specified buffer.

int GetObject(

    HGDIOBJ hgdiobj,

// handle to graphics object of interest

    int cbBuffer,

// size of buffer for object information

    LPVOID lpvObject

// pointer to buffer for object information 

   );

 

 

Parameters

hgdiobj

A handle to the graphics object of interest. This can be a handle to one of the following: a logical bitmap, a brush, a font, a palette, a pen, or a device independent bitmap created by calling the CreateDIBSectionGSAO6S function.

cbBuffer

Specifies the number of bytes of information to be written to the buffer.

lpvObject

Points to a buffer that is to receive the information about the specified graphics object.

The following table shows the type of information the buffer receives for each type of graphics object you can specify with hgdiobj:

 

hgdiobj Type

Data Written to *lpvObject

HBITMAP

BITMAP.CPC19

HBITMAP returned from a call to CreateDIBSection

DIBSECTION1MH7KTG, if cbBuffer is set to sizeof(DIBSECTION), or BITMAP, if cbBuffer is set to sizeof(BITMAP)

HPALETTE

a WORD count of the number of entries in the logical palette

HPEN returned from a call to ExtCreatePen

EXTLOGPEN1LRGK1_

HPEN

LOGPENODO5MV

HBRUSH

LOGBRUSH_3E1K

HFONT

LOGFONT5M4ITK

 

If the lpvObject parameter is NULL, the function return value is the number of bytes required to store the information it writes to the buffer for the specified graphics object.

 

Return Values

If the function succeeds, and lpvObject is a valid pointer, the return value is the number of bytes stored into the buffer.

If the function succeeds, and lpvObject is NULL, the return value is the number of bytes required to hold the information the function would store into the buffer.

If the function fails, the return value is zero. To get extended error information, call GetLastError11C2VS7.

Remarks

The buffer pointed to by the lpvObject parameter must be sufficiently large to receive the information about the graphics object.

If hgdiobj identifies a bitmap created by calling CreateDIBSectionGSAO6S, and the specified buffer is large enough, the GetObject function returns a DIBSECTION1MH7KTG structure. In addition, the bmBits member of the BITMAP.CPC19 structure contained within the DIBSECTION will contain a pointer to the bitmap s bit values.

If hgdiobj identifies a bitmap created by any other means, GetObject returns only the width, height, and color format information of the bitmap. You can obtain the bitmap s bit values by calling the GetDIBits or GetBitmapBits function.

If hgdiobj identifies a logical palette, GetObject retrieves a two-byte integer that specifies the number of entries in the palette. The function does not retrieve the LOGPALETTE structure defining the palette. To retrieve information about palette entries, an application can call the GetPaletteEntries function.

See Also

CreateDIBSection, GetBitmapBits, GetDIBits, GetPaletteEntries, GetRegionData, BITMAP, DIBSECTION, EXTLOGPEN, LOGBRUSH, LOGFONT, LOGPALETTE, LOGPEN