| LEADTOOLS DICOM C DLL Help > Function References > L_DicomGetOverlayBitmapList | 
#include "ltdic.h"
L_LTDIC_API L_UINT16 L_DicomGetOverlayBitmapList(hDS, uOverlayIndex, hList, uOverlayFrameIndex, uCount, uFlags)
| HDICOMDS hDS; | /* a DICOM handle */ | 
| L_UINT uOverlayIndex; | /* the overlay index */ | 
| HBITMAPLIST hList; | /* handle to the list of bitmaps */ | 
| L_UINT32 uOverlayFrameIndex; | /* position of the first frame to get*/ | 
| L_UINT32 uCount; | /* number of frames to retrieve into the bitmap list */ | 
| L_UINT uFlags; | /* reserved for future use */ | 
Loads the bitmap list with frames from the "Overlay Data" (60xx, 3000) element.
| Parameter | Description | 
| hDS | A DICOM handle. | 
| uOverlayIndex | The index of the overlay for which to get the frames. This index is zero-based. | 
| hList | Handle to the list of bitmaps. | 
| uOverlayFrameIndex | Position of the first frame to load. Use zero-based indexing. For example, if there are 5 bitmaps in a list, the index of the last one is 4. | 
| uCount | Number of frames to load into the bitmap list. | 
| uFlags | Reserved for future use. Pass 0. | 
Returns
| DICOM_SUCCESS | The function was successful. | 
| >0 | An error occurred. Refer to Return Codes. | 
Comments
Before calling this function you must call L_DicomGetOverlayAttributes. The nNumFramesInOverlay member of the OVERLAYATTRIBUTES structure will be filled with the number of frames under an overlay.
As an example, if you wish to load 5 frames starting with the 1st frame in the "Overlay Data", call this function with uOverlayFrameIndex set to 0 and uCount set to 5.
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
This function will load frames of an overlay into a bitmap list
L_INT DicomGetOverlayBitmapListExample(
   HDICOMDS hDicomDS,         // handle to Dicom DS
   HBITMAPLIST hList,         //Bitmap list to be populated
   L_TCHAR* pActivationLayer, //Retrieve activation layer if needed
   L_UINT uLength)            //Length of input buffer
{
   L_UINT16             uRet;   
   OVERLAYATTRIBUTES    OverlayAttributes = {0};
   L_INT                GroupNumber=0;
   L_BOOL               IsOverlayInDataset = FALSE; 
   //(1)Sanity Check !
   if((hList == NULL )|| (hDicomDS == NULL))
      return DICOM_ERROR_NULL_PTR;
   // Get activation layer
   if(pActivationLayer && uLength)
   {
      uRet = L_DicomGetOverlayActivationLayer(hDicomDS,0,pActivationLayer,uLength);
      if (uRet != DICOM_SUCCESS)
         return uRet;
   }
   uRet = L_DicomGetOverlayAttributes(hDicomDS, 0, &OverlayAttributes, sizeof(OverlayAttributes), &GroupNumber, &IsOverlayInDataset, 0);
   if(DICOM_SUCCESS !=uRet)
      return uRet;
   return L_DicomGetOverlayBitmapList(hDicomDS, 0, hList, 0, OverlayAttributes.nNumFramesInOverlay, 0);
}