Issue:

I am calling ISO_DrawMinutiae (or other function) and the output buffer is always NULL


Solution:

You are supposed to call the ISO_DrawMinutiae twice. The first time, you get valid outputImageLength that lets you allocate outputBmpImage buffer of sufficient size. The second time, the outputBmpImage buffer is filled with data. 


For example:

int outputImageLength = 0;

ISO_DrawMinutiae(isoImage, width, height, inputImage, NULL, &outputImageLength);

unsigned char * outputBmpImage = new unsigned char[outputImageLength];

ISO_DrawMinutiae(isoImage, width, height, inputImage, outputBmpImage, &outputImageLength);