0
實際上我需要專家的建議來解決在Windows 7(代碼附加)中調用InitPK.dll(C++ dll)作爲服務的情況。該DLL成功加載,但PKAgentInit方法返回0(假)在Windows 7使用Windows服務相同的作品在Windows XP中也沒有問題,當代碼在Windows 7上作爲控制檯程序執行時,代碼工作正常。 能否請您指導一下爲什麼PKAgentInit方法在Windows 7上返回0,什麼是使用Windows服務在Windows 7下調用代理的推薦方式**從Windows 7中的Windows服務運行DLL/EXE程序
代碼:
typedef UINT (CALLBACK* INITPK)();
m_LogDebug->Log(2,nThreadId,cMethod,
"Pre-requisite applications are running so executing Agent...");
hDll = LoadLibrary(AgentPath.c_str());
if(hDll == NULL)
{
m_LogDebug->Log(0,nThreadId,cMethod,
"Failed to load [%s]",AgentPath.c_str());
return false;
}
INITPK InitPK_Func;
if((InitPK_Func = (INITPK)GetProcAddress(HMODULE(hDll), "PKAgentInit")) == NULL)
{
m_LogDebug->Log(0,nThreadId,cMethod,
"Failed to load proc address [%s]",AgentPath.c_str());
return false;
}
UINT Res = InitPK_Func();
// returning 0 which means Agent is not executed successfully.
// Ideally it should return 1.
m_LogDebug->Log(0,nThreadId,cMethod,"PKAgentInit returned [%d]",Res);
不需要使用粗體字體。普通文字就好了。 –
什麼是InitPK.dll? ...標籤爲C#和C++? – parrowdice
除非在這裏有人碰巧熟悉InitPK,否則你不可能得到答案。你問過這個供應商嗎? –