#include "lvkrn.h"
L_LVKRN_API L_INT L_VecEnumObjectsInGroup(pVector, pGroup, pEnumProc, pUserData, dwFlags)
pVECTORHANDLE pVector; |
pointer to a vector handle |
const pVECTORGROUP pGroup; |
pointer to a vector group |
pVECTORENUMOBJECTSPROC pEnumProc; |
pointer to a callback function |
L_VOID * pUserData; |
pointer to more parameters for the callback |
L_UINT32 dwFlags; |
flags |
Enumerates all objects inside a vector group.
Parameter | Description | |
pVector | Pointer to a vector handle. | |
pGroup | Pointer to a vector group. The objects inside this group will be enumerated. | |
pEnumProc | Pointer to the callback function used to enumerate the objects within the vector group. The callback function must adhere to the function prototype described in VECTORENUMOBJECTSPROC. | |
pUserData | Void pointer that you can use to pass one or more additional parameters that the callback function needs. | |
To use this feature, assign a value to a variable or create a structure that contains as many fields as you need. Then, in this parameter, pass the address of the variable or structure, casting it to L_VOID *. The callback function, which receives the address in its own pUserData parameter, can cast it to a pointer of the appropriate data type to access your variable or structure. | ||
If the additional parameters are not needed, you can pass NULL in this parameter. | ||
dwFlags | Flag that indicates which objects to enumerate. Possible values are: | |
Value | Meaning | |
0 | Enumerate all objects in the group. | |
VECTOR_FLAGS_SELECTED_ONLY | Enumerate only selected objects in the group. |
SUCCESS |
The function was successful. |
< 1 |
An error occurred. Refer to Return Codes. |
Required DLLs and Libraries
LVKRN For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application. |
Functions: |
|
Topics: |
This example will count the objects inside a given group.
static L_INT EXT_CALLBACK EnumObjectsProc(
pVECTORHANDLE pVector,
pVECTOROBJECT pObject,
L_VOID* pData)
{
L_INT nCount;
UNREFERENCED_PARAMETER( pVector );
UNREFERENCED_PARAMETER( pObject );
/* Increment count */
nCount = *(L_INT*) pData;
nCount++;
/* Continue the enumeration */
return( SUCCESS );
}
L_INT VecEnumObjectsInGroupExample(
pVECTORHANDLE pVector,
const L_TCHAR* pszGroupName,
L_INT* pnCount)
{
L_INT nRet;
VECTORGROUP Group;
/* Get the group handle */
nRet = L_VecGetGroupByName( pVector, pszGroupName, &Group );
if(nRet != SUCCESS)
return nRet;
/* Enum all objects inside this group */
*pnCount = 0;
nRet = L_VecEnumObjectsInGroup( pVector, &Group, (pVECTORENUMOBJECTSPROC)EnumObjectsProc, pnCount, 0 );
return nRet;
}