| LEADTOOLS DICOM C DLL Help > Function References > L_DicomCreateLayer | 
#include "l_bitmap.h"
L_LTDIC_API L_UINT16 L_DicomCreateLayer(hDS, pGraphicLayer, pLayerIndex)
| HDICOMDS hDS; | /* a DICOM handle */ | 
| pDICOMGRAPHICLAYER pGraphicLayer; | /* pointer to a Graphic Layer attributes structure */ | 
| L_UINT * pLayerIndex; | /* pointer to a variable, which will be updated with the index of the newly created layer.*/ | 
Adds a new item under the "Graphic Layer Sequence" (0070,0060) in the Graphic Layer Module".
| Parameter | Description | 
| hDS | A DICOM handle. | 
| pGraphicLayer | Pointer to a Graphic Layer attributes structure, which holds the attributes of the layer to be created. | 
| pLayerIndex | Pointer to a variable, which will be updated with the index of the newly created layer. | 
Returns
| DICOM_SUCCESS | The function was successful. | 
| >0 | An error occurred. Refer to Return Codes. | 
Comments
Before calling this function, initialize pDICOMGRAPHICLAYER->uStructSize to be sizeof(DICOMGRAPHICLAYER) and initialize all the structure members.
If for example there are already 2 items under the "Graphic Layer Sequence" (0070,0060) and we call this function, then the index of the new layer will be 2.
This function will fail and return DICOM_ERROR_PARAMETER if a layer with the same name as the new layer already exists in the dataset.
Required DLLs and Libraries
| For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application | 
Win32, x64, Linux.
See Also
Example
L_INT DicomCreateLayerExample(HDICOMDS hPresStateDS)
{
   DICOMGRAPHICLAYER Layer;
   L_TCHAR   szText[256] = TEXT("\0");
   L_INT16  RGBColors[3];
   L_INT16  pGrayScle[1]; 
   L_UINT   uLayerIndex;
   L_UINT16 nRet;
   memset(&Layer, 0, sizeof(DICOMGRAPHICLAYER));
   pGrayScle[0] = 32767;
   RGBColors[0] = 255;
   RGBColors[1] = 255;
   RGBColors[2] = 255;
   Layer.nLayerOrder = 1;
   Layer.pszLayerDescription = TEXT("First Layer");
   Layer.pszLayerName      = TEXT("LAYER0");
   Layer.puGrayscale       = pGrayScle;
   Layer.pRGBLayerColors   = RGBColors;
   Layer.uStructSize = sizeof(DICOMGRAPHICLAYER);
   nRet = L_DicomCreateLayer( hPresStateDS,
                              &Layer, 
                              &uLayerIndex);
   if (nRet == DICOM_SUCCESS)
   {
      wsprintf(szText, TEXT("Index of the new layer is: %u "), uLayerIndex);
      MessageBox( NULL,
                  szText,
                  TEXT("Note"),
                  MB_OK);
   }
   return nRet;
}