Jump to content

GpiQuerySetIds: Difference between revisions

From EDM2
Created page with "This function returns information about all the fonts that have been created by GpiCreateLogFont, and tagged bit maps (see GpiSetBitmapId). ==Syntax== GpiQuerySetIds(hps, lCount, alTypes, aNames, allcids) ==Parameters== ; hps (HPS) - input : Presentation-space handle. ; lCount (LONG) - input : The number of objects to be queried. : The number of local identifiers (lcids) currently in use, and therefore the maximum number of objects for which informati..."
 
Ak120 (talk | contribs)
mNo edit summary
 
Line 5: Line 5:


==Parameters==
==Parameters==
; hps ([[HPS]]) - input
; hps ([[HPS]]) - input: Presentation-space handle.
: Presentation-space handle.
; lCount ([[LONG]]) - input: The number of objects to be queried.
 
; lCount ([[LONG]]) - input
: The number of objects to be queried.
: The number of local identifiers (lcids) currently in use, and therefore the maximum number of objects for which information can be returned, can be found with [[GpiQueryNumberSetIds]].
: The number of local identifiers (lcids) currently in use, and therefore the maximum number of objects for which information can be returned, can be found with [[GpiQueryNumberSetIds]].
 
; alTypes ([[PLONG]]) - output: Object types.
; alTypes ([[PLONG]]) - output
: Object types.
: Elements indicate whether the corresponding allcids element refers to a logical font or a tagged bit map.
: Elements indicate whether the corresponding allcids element refers to a logical font or a tagged bit map.
:; LCIDT_FONT
::LCIDT_FONT : Font object
:: Font object
::LCIDT_BITMAP : Bit map.
:; LCIDT_BITMAP
; aNames ([[PSTR8]]) - output: Font names.
:: Bit map.
 
; aNames ([[PSTR8]]) - output
: Font names.
: An array of lCount consecutive 8-byte fields, in which the 8-character names associated with the logical fonts are returned. For bit maps, the whole field is set to zeros.
: An array of lCount consecutive 8-byte fields, in which the 8-character names associated with the logical fonts are returned. For bit maps, the whole field is set to zeros.
 
; allcids (PLONG) - output: Local identifiers.
; allcids ([[PLONG]]) - output
: Local identifiers.
: An array in which the local identifier (lcid) values are returned.
: An array in which the local identifier (lcid) values are returned.
: LCID_DEFAULT is included if the default font has been changed (see [[GpiCreateLogFont]]).
: LCID_DEFAULT is included if the default font has been changed (see [[GpiCreateLogFont]]).


==Return Value==
==Return Value==
; rc ([[BOOL]]) - returns
; rc ([[BOOL]]) - returns: Success indicator.
: Success indicator.
::TRUE: Successful completion
:; TRUE
::FALSE: Error occurred.
:: Successful completion
:; FALSE
:: Error occurred.


==Remarks==
==Remarks==
Line 42: Line 28:
==Errors==
==Errors==
Possible returns from WinGetLastError:
Possible returns from WinGetLastError:
; PMERR_INV_HPS (0x207F)
; PMERR_INV_HPS (0x207F): An invalid presentation-space handle was specified.
: An invalid presentation-space handle was specified.
; PMERR_PS_BUSY (0x20F4): An attempt was made to access the presentation space from more than one thread simultaneously.
; PMERR_PS_BUSY (0x20F4)
; PMERR_INV_LENGTH_OR_COUNT (0x2092): An invalid length or count parameter was specified.
: An attempt was made to access the presentation space from more than one thread simultaneously.
; PMERR_INV_LENGTH_OR_COUNT (0x2092)
: An invalid length or count parameter was specified.


==Example Code==
==Example Code==
<PRE>
#define INCL_GPILCIDS /* Or use INCL_GPI, INCL_PM, */
#include &lt;os2.h&gt;
HPS    hps;    /* Presentation-space handle. */
LONG    lCount;  /* The number of objects to be queried. */
PLONG  alTypes; /* Object types. */
PSTR8  aNames;  /* Font names. */
PLONG  allcids; /* Local identifiers. */
BOOL    rc;      /* Success indicator. */
rc = GpiQuerySetIds(hps, lCount, alTypes, aNames, allcids);
</PRE>
This example uses the GpiQuerySetIds function to retrieve the local identifier for all logical fonts. It then uses the identifiers to delete the logical fonts.
This example uses the GpiQuerySetIds function to retrieve the local identifier for all logical fonts. It then uses the identifiers to delete the logical fonts.
<pre>
<pre>
#define INCL_DOSMEMMGR
#define INCL_DOSMEMMGR
#define INCL_GPILCIDS
#define INCL_GPILCIDS
#include &lt;OS2.H&gt;
#include <OS2.H>


#define TOTALMEM 200
#define TOTALMEM 200
Line 92: Line 60:
                                     /* can be returned. */
                                     /* can be returned. */


rc = DosSubAllocMem((PVOID)pBase, (PPVOID)aNames, (ULONG)(lCount*(ULONG)sizeof(STR8))); /* space is needed for an array of */
rc = DosSubAllocMem((PVOID)pBase, (PPVOID)aNames, (ULONG)(lCount*(ULONG)sizeof(STR8)));
                                                                                      /* lCount longs. */
                                    /* space is needed for an array of lCount longs. */


rc = DosSubAllocMem((PVOID)pBase, (PPVOID)allcids, (ULONG)lCount*sizeof(LONG)); /* space is needed for an array of */
rc = DosSubAllocMem((PVOID)pBase, (PPVOID)allcids, (ULONG)lCount*sizeof(LONG));
                                                                              /* lCount longs. */
                                    /* space is needed for an array of lCount longs. */


rc = DosSubAllocMem((PVOID)pBase, (PPVOID)alTypes, (ULONG)lCount*sizeof(LONG)); /* space is needed for an array of */
rc = DosSubAllocMem((PVOID)pBase, (PPVOID)alTypes, (ULONG)lCount*sizeof(LONG));
                                                                              /* lCount longs. */
                                    /* space is needed for an array of lCount longs. */


GpiQuerySetIds(hps, lCount, alTypes, aNames, /* An array of lCount */
GpiQuerySetIds(hps, lCount, alTypes, aNames, /* An array of lCount */

Latest revision as of 01:28, 24 November 2025

This function returns information about all the fonts that have been created by GpiCreateLogFont, and tagged bit maps (see GpiSetBitmapId).

Syntax

GpiQuerySetIds(hps, lCount, alTypes, aNames, allcids)

Parameters

hps (HPS) - input
Presentation-space handle.
lCount (LONG) - input
The number of objects to be queried.
The number of local identifiers (lcids) currently in use, and therefore the maximum number of objects for which information can be returned, can be found with GpiQueryNumberSetIds.
alTypes (PLONG) - output
Object types.
Elements indicate whether the corresponding allcids element refers to a logical font or a tagged bit map.
LCIDT_FONT : Font object
LCIDT_BITMAP : Bit map.
aNames (PSTR8) - output
Font names.
An array of lCount consecutive 8-byte fields, in which the 8-character names associated with the logical fonts are returned. For bit maps, the whole field is set to zeros.
allcids (PLONG) - output
Local identifiers.
An array in which the local identifier (lcid) values are returned.
LCID_DEFAULT is included if the default font has been changed (see GpiCreateLogFont).

Return Value

rc (BOOL) - returns
Success indicator.
TRUE: Successful completion
FALSE: Error occurred.

Remarks

Each of the output parameters is an array with lCount elements. Information about the first lCount objects is returned; if there are fewer than lCount, the alTypes and allcids elements for the remainder are cleared to 0.

Errors

Possible returns from WinGetLastError:

PMERR_INV_HPS (0x207F)
An invalid presentation-space handle was specified.
PMERR_PS_BUSY (0x20F4)
An attempt was made to access the presentation space from more than one thread simultaneously.
PMERR_INV_LENGTH_OR_COUNT (0x2092)
An invalid length or count parameter was specified.

Example Code

This example uses the GpiQuerySetIds function to retrieve the local identifier for all logical fonts. It then uses the identifiers to delete the logical fonts.

#define INCL_DOSMEMMGR
#define INCL_GPILCIDS
#include <OS2.H>

#define TOTALMEM 200

HPS hps; /* Presentation-space handle. */
LONG lCount; /* The number of objects to be queried. */
PLONG alTypes; /* Object types. */
ULONG rc; /* Return code. */
PSTR8 aNames; /* font names. */
PLONG allcids; /* local identifiers. */
PLONG pBase;
USHORT i;

rc = DosAllocMem((PPVOID)pBase, (ULONG)TOTALMEM*sizeof(LONG), /* space is needed for an array of */
                                                              /* lCount longs. */
                 PAG_READ | PAG_WRITE | PAG_COMMIT);

lCount = GpiQueryNumberSetIds(hps); /* The number of local identifiers */
                                    /* (lcids) currently in use, and */
                                    /* therefore the maximum number */
                                    /* of objects for which information */
                                    /* can be returned. */

rc = DosSubAllocMem((PVOID)pBase, (PPVOID)aNames, (ULONG)(lCount*(ULONG)sizeof(STR8)));
                                    /* space is needed for an array of lCount longs. */

rc = DosSubAllocMem((PVOID)pBase, (PPVOID)allcids, (ULONG)lCount*sizeof(LONG));
                                    /* space is needed for an array of lCount longs. */

rc = DosSubAllocMem((PVOID)pBase, (PPVOID)alTypes, (ULONG)lCount*sizeof(LONG));
                                    /* space is needed for an array of lCount longs. */

GpiQuerySetIds(hps, lCount, alTypes, aNames, /* An array of lCount */
                                              /* consecutive 8-byte fields, */
                                              /* in which the 8-character */
                                              /* names associated with */
                                              /* the logical fonts are */
                                              /* returned. For bit maps, */
                                              /* the whole field is set to */
                                              /* zeros. */
               allcids); /* An array in which the */
                          /* local identifier (lcid) */
                          /* values are returned. */
                          /* LCID_DEFAULT is */
                          /* included if the default */
                          /* font has been changed */
                          /* (see GpiCreateLogFont). */

for (i = 1; i < lCount; i++)
{
  if (allcids[i] == LCIDT_FONT)
    GpiDeleteSetId(hps,allcids[i]);
}