C++: How to interpret a byte array representation of an image?
===

I'm trying to work with this camera SDK, and let's say the camera has this function called CameraGetImageData(BYTE* data), which I assume takes in a byte array, modifies it with the image data, and then returns a status code based on success/failure. The SDK provides no documentation whatsoever (not even code comments) so I'm just guestimating here. Here's a code snippet on what I think works

    BYTE* data = new BYTE[10000000]; // an array of an arbitrary large size, I'm not 
                                     // sure what the exact size needs to be so I 
                                     // made it large
    CameraGetImageData(data);
    // Do stuff here to process/output image data

I've run the code w/ breakpoints in Visual Studio and can confirm that the CameraGetImageData function does indeed modify the array. Now my question is, is there a standard way for cameras to output data? How should I start using this data and what does each byte represent? The camera captures in 8-bit color.