ora perς c'θ un problema con questo codice:

codice:
void main()
{
	// Define BE_CONFIG Structure:
	BE_CONFIG bec;
	
	bec.dwConfig                = BE_CONFIG_MP3;
	bec.format.mp3.dwSampleRate = 44100;
	bec.format.mp3.byMode       = BE_MP3_MODE_STEREO;
	bec.format.mp3.wBitrate     = 128;
	bec.format.mp3.bCopyright   = false;
	bec.format.mp3.bCRC         = false;
	bec.format.mp3.bOriginal    = false;
	bec.format.mp3.bPrivate     = false;

	HINSTANCE hdll = LoadLibrary(DLL_NAME);
	BEINITSTREAM beInitStream = (BEINITSTREAM) GetProcAddress(hdll,TEXT_BEINITSTREAM);

	DWORD dwSamples    = 1;
	DWORD dwBufferSize = 4096;
	HBE_STREAM hbe;

	BE_ERR res = beInitStream(&bec, &dwSamples, &dwBufferSize, &hbe);

	system("pause");
}
mi da errore: "Access violation" alla chiamata beInitStream() // inoltre prima quando facevo:

codice:
BEVERSION beVersion = (BEVERSION) GetProcAddress(hdll,TEXT_BEVERSION);
e chiamavo beVersion() mi appariva un "highlight" giallo con i parametri da passare, in questo caso no! ma non credo che sia un problema di casting della funzione:

codice:
typedef BE_ERR (*BEINITSTREAM) (PBE_CONFIG, PDWORD, PDWORD, PHBE_STREAM);
...
#define	TEXT_BEINITSTREAM "beInitStream"
inoltre credo di aver passato bene i parametri alla funzione beVersion() come spiegato quμ: http://www.fi.muni.cz/~qruzicka/Smid/man.htm