![]() |
Newbie Question
I have a simple question, im trying to access a dll called
'runtest.dll', with a routine with the header: void RunTest(LPVOID lpData, int nDataLen, LPSTR szstrResult, int nMaxResLen) Currently my code, gives me an access violation writing with a memory address. The point of runtest.dll is to accept data from a file (lpData), and return (in szstrResult) a string created from the data (which is binary data). Sound simple enough? My code is below, any help is greatly appreciated. Thanks in advance. typedef VOID (*MYPROC)(LPVOID, int, LPSTR, int); void passFile(LPCSTR fileName) { HINSTANCE testLib; testLib = LoadLibrary("runtest.dll"); if (testLib==0) { return; } MYPROC procTest; procTest = (MYPROC) GetProcAddress(testLib,"RunTest"); HANDLE hFile; hFile = CreateFile(fileName, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); CHAR buf[2048]; DWORD dwNumRead=sizeof(buf); ReadFile(hFile, buf, sizeof(DWORD)*256,&dwNumRead,NULL); CHAR lpstrResult[256] (procTest) (buf,sizeof(buf),lpstrResult,sizeof(lpstrResult); FreeLibrary(testLib); } |
Re: Newbie Question
Hmm,
LPVOID, LPSTR, HINSTANCE, DWORD ... try a Microsoft newsgroup. Dan |
| All times are GMT. The time now is 01:54 AM. |
Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.