https://www.ximea.com/support/wiki/apis/ximea_api_sample_with_start_stop_acquisition
XIMEA API Sample With Start Stop Acquisition¶
This is sample of xiAPI with:- getting number of connected camera (xiGetNumberDevices)
- start and stop acquisition
// Sample for XIMEA Software Package V2.57
#include "stdafx.h" 
#include "..\include\xiApi.h" 
#define HandleResult(res,place) if (res!=XI_OK) {printf("Error after %s (%d)",place,res);goto finish;}
int main ()
{
    // Sample for XIMEA API V2.10
    DWORD dwNumberOfDevices = 0;
    HANDLE  hMV = INVALID_HANDLE_VALUE;
    DWORD size = 0;
    XI_RETURN stat=XI_OK;
    // Retrieving number of connected cameras
    stat = xiGetNumberDevices(&dwNumberOfDevices);
    HandleResult(stat,"xiGetNumberDevices");
    // Retrieving a handle to the camera device 
    stat = xiOpenDevice(0, &hMV);
    HandleResult(stat,"xiOpenDevice");
    // Setting "exposure" parameter    (integer)
    printf("Set PRM_EXPOSURE (integer)\n");
    int exposure_us = 10000;
    stat = xiSetParam(hMV, XI_PRM_EXPOSURE, &exposure_us, sizeof(DWORD), xiTypeInteger);
    HandleResult(stat,"xiSetParam exposure");
    // Start acquisition
    stat = xiStartAcquisition(hMV);
    HandleResult(stat,"xiStartAcquisition");
    // Retrieving image
    XI_IMG image;
    image.size = sizeof(XI_IMG);
    image.bp = NULL;
    image.bp_size = 0;
    stat = xiGetImage(hMV, 1000, &image);
    HandleResult(stat,"xiGetImage");
    printf("Got one image (%dx%d) from camera\n", image.width, image.height);
    // Stop acquisition
    stat = xiStopAcquisition(hMV);
    HandleResult(stat,"xiGetImage");
    printf("Success\n");
finish:
    // Close device
    if (hMV != INVALID_HANDLE_VALUE)
    {
        xiCloseDevice(hMV);
    }
}