#include "lvkrn.h"
L_LVKRN_API L_INT L_VecEnumLayers(pVector, pEnumProc, pUserData)
pVECTORHANDLE pVector; |
pointer to a vector handle |
pVECTORENUMLAYERSPROC pEnumProc; |
pointer to a callback function |
L_VOID * pUserData; |
pointer to more parameters for the callback |
Enumerates all layers inside a vector handle.
Parameter |
Description |
pVector |
Pointer to a vector handle. The layers within this vector handle will be enumerated. |
pEnumProc |
Pointer to the callback function used to enumerate the layers within the vector handle. The callback function must adhere to the function prototype described in VECTORENUMLAYERSPROC. |
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. |
SUCCESS |
The function was successful. |
< 1 |
An error occurred. Refer to Return Codes. |
The L_VecEnumLayers function calls the callback function as it gets the handle of each vector layer.
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 show the names of all layers inside a vector handle.
L_INT EXT_CALLBACK MyEnumLayersProc(
pVECTORHANDLE pVector,
pVECTORLAYER pLayer,
L_VOID* pUserData)
{
L_INT nRet;
VECTORLAYERDESC LayerDesc;
UNREFERENCED_PARAMETER( pUserData );
/* show layer name */
nRet = L_VecGetLayer( pVector, pLayer, &LayerDesc );
if(nRet != SUCCESS)
return nRet;
MessageBox( NULL, LayerDesc.szName, TEXT("Layer Name"), MB_OK );
nRet = L_VecFreeLayer( &LayerDesc );
/* Continue enumerating */
return nRet;
}
L_INT VecEnumLayersCBExample(pVECTORHANDLE pVector)
{
L_INT nRet;
/* Enumerate all layers */
nRet = L_VecEnumLayers( pVector, (pVECTORENUMLAYERSPROC)MyEnumLayersProc, NULL );
return nRet;
}