I have a JPG file that I would like to load as a resource and save it as a file on the hard disk. What I'm doing now is saving the picture as a custom user data and outputting it as a file.

The problem i'm having is loading the jpg data from the resource. Currently, i'm using this function:

UCHAR* LoadCustomResource(int resID, HINSTANCE hinstance)
{
HRSRC hResInfo;
HGLOBAL hResource;

// first find the resource info block
if ((hResInfo = FindResource(hinstance,
MAKEINTRESOURCE(resID),
"CUSTOMRESOURCETYPE")) == NULL)
return(NULL);

// now get a handle to the resource
if ((hResource = LoadResource(hinstance, hResInfo)) == NULL)
return(NULL);

// finally get and return a pointer to the resource
return ((UCHAR*)LockResource(hResource));
}

I'm then writing the data using this line:

ofs1.write( (char*) LoadCustomResource(IDR_JPG1, hInstance), sizeof(MAKEINTRESOURCE(IDR_JPG1)) );

I'm so lost, as when i run the program it gives me an error after opening the file to write to. Any suggestions?