GetObject (Compact 2013)

3/28/2014

This function obtains information about a specified graphics object. Depending on the graphics object, the function places a filled-in BITMAP, DIBSECTION, LOGBRUSH, LOGFONT, or LOGPEN structure into a specified buffer.

Syntax

int GetObject(
  HGDIOBJ hgdiobj, 
  int cbBuffer, 
  LPVOID lpvObject
); 

Parameters

  • hgdiobj
    [in] 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 CreateDIBSection function.
  • cbBuffer
    [in] Specifies the number of bytes of information to be written to the buffer.
  • lpvObject
    [out] Long pointer 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.

    Object type

    Data written to *lpvObject

    HBITMAP

    BITMAP

    HBITMAP returned from a call to CreateDIBSection

    DIBSECTION, 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

    LOGPEN

    HBRUSH

    LOGBRUSH

    HFONT

    LOGFONT

    • If the lpvObjectparameter 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 Value

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 GetLastError.

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 CreateDIBSection, and the specified buffer is large enough, the GetObject function returns a DIBSECTION structure. In addition, the bmBits member of the BITMAP structure contained within the DIBSECTION structure 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 and the pointer to the bitmap's bit values will be NULL. You can only access the bitmap's bits if they are in a device-independent bitmap.

If hgdiobj identifies a logical palette, GetObject retrieves a 2-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.

Requirements

Header

windows.h

Library

coredll.lib

See Also

Reference

GDI Functions
CreateDIBSection
GetPaletteEntries
GetRegionData
BITMAP
DIBSECTION
LOGBRUSH
LOGFONT
LOGPALETTE
LOGPEN