Please enable JavaScript to view this site.

IDS Software Suite 4.96.1

Windows_Logo
Linux_Logo

GigE

GigE

Syntax

INT is_ImageBuffer(HIDS hCam, UINT nCommand, void* pParam, UINT cbSizeOfParam)

Description

This function allows accessing the captured images in the camera memory (see Using the camera memory (GigE uEye cameras)).

The nCommand input parameter is used to select the function mode. The pParam input parameter depends on the selected function mode. If you select functions for setting or returning a value, pParam contains a pointer to a variable of the UINT type. The size of the memory area to which pParam refers is specified in the cbSizeOfParam input parameter.

Input parameters

hCam

Camera handle

pParam

Pointer to a function parameter, whose function depends on nCommand.

cbSizeOfParam

Size (in bytes) of the memory area to which pParam refers.

Content of the IMGBUF_ITERATION_INFO structure

UINT

u32IterationID

Iteration ID

ID_RANGE

rangeImageID

Image range i.e. the ID of the first and last image

BYTE

bReserved[52]

reserved

Content of the ID_RANGE structure

INT

s32First

First image ID

INT

s32Last

Last image ID

Content of the IMGBUF_ITEM structure

UINT

u32IterationID

Iteration ID

INT

s32ImageID

Image ID

Return values

IS_DEVICE_BUSY

All cameras are in use

IS_INVALID_PARAMETER

One of the submitted parameters is outside the valid range or is not supported for this sensor or is not available in this mode.

IS_NO_SUCCESS

General error message

IS_NOT_SUPPORTED

The camera model used here does not support this function or setting.

IS_SUCCESS

Function executed successfully

Example

INT nRet = IS_SUCCESS;
 
ID_RANGE iterationRange;
 
/* Get range of all available iterations */
nRet = is_ImageBuffer(hCam, IS_IMGBUF_DEVMEM_CMD_GET_AVAILABLE_ITERATIONS, &iterationRange,
                    sizeof(iterationRange));
if (nRet == IS_SUCCESS)
{
  INT s32FirstIterationID = iterationRange.s32First;
  INT s32LastIterationID = iterationRange.s32Last;
 
  /* Get infos about the first iteration */
  IMGBUF_ITERATION_INFO iterationInfo;
  iterationInfo.u32IterationID = s32FirstIterationID;
 
  INT nRet = is_ImageBuffer(hCam, IS_IMGBUF_DEVMEM_CMD_GET_ITERATION_INFO, &iterationInfo,
                            sizeof(iterationInfo));
  if (nRet == IS_SUCCESS)
  {
      INT s32FirstImageID = iterationInfo.rangeImageID.s32First;
      INT s32LastImageID = iterationInfo.rangeImageID.s32Last;
 
      /* Transfer last image to active user buffer */
      IMGBUF_ITEM bufferItem;
      bufferItem.s32ImageID     = s32LastImageID;
      bufferItem.u32IterationID = s32FirstIterationID;
 
      nRet = is_ImageBuffer(hCam, IS_IMGBUF_DEVMEM_CMD_TRANSFER_IMAGE, (void*)&bufferItem,
                            sizeof(bufferItem));
  }
 
  /* Release all iterations up to the last available iteration */
  nRet = is_ImageBuffer(hCam, IS_IMGBUF_DEVMEM_CMD_RELEASE_ITERATIONS, (void*)
                        &iterationRange.s32Last, sizeof(iterationRange.s32Last));
}

© 2022 IDS Imaging Development Systems GmbH