I have a dll(xyz.dll).
In xyz.h,I have two functions given below
typedef void DRMAPI abc_t (int nPercentCompleted, void *const pUserData)
ErrorCode_t DRMAPI abc (const FC3Encode_t hEncodeHandle,abc_t *const fpCallBack, void *const pUserData)
I want to create application in vc++ with mfc.
My appliction header file code is
class MatchDynamicLibrary
{
private:
typedef void (DRMAPI *Mabc_t)(int nPercentCompleted, void* const pUserData);
typedef DrmErrorCode_t (DRMAPI *Mabc)(const FC3Encode_t hEncodeHandle, abc_t *const fpCallBack, void *const pUserData);
public:
void abc_t(int nPercentCompleted, void* const pUserData);
DrmErrorCode_t abc(const FC3Encode_t hEncodeHandle, abc_t *const fpCallBack, void *const pUserData);
public:
Mabc_t m_fpabc_t;
Mabc m_fpabc;
};
vc++ code file is
void MatchDynamicLibrary::Initialize()
{
using std::swap;
PDynLib plibrary(new Drm::CXDynamicLibrary);
#ifdef WIN32
const char* szName="xyz.dll";
#endif
plibrary->Load(szName);
Mabc_t fpabc_t=reinterpret_cast<Mabc_t>(plibrary->GetSymbol("abc_t"));
Mabc fpabc=reinterpret_cast<Mabc>(plibrary->GetSymbol("abc"));
swap(m_plib,plibrary);
m_fpabc_t_t = fpabc_t;
m_fpabc = fpabc;
}
DrmErrorCode_t MatchDynamicLibrary::abc(const FC3Encode_t hEncodeHandle, abc_t *const fpCallBack, void *const pUserData)
{
return m_fpabc(hEncodeHandle, fpCallBack, pUserData);
}
DrmErrorCode_t MatchDynamicLibrary::abc_t(int nPercentCompleted, void *const pUserData)
{
m_fpabc_t(nPercentCompleted, pUserData);
}
When I run , it gives error
error C206 1: syntax error : identifier 'abc_t'
error C2065: 'fpCallBack' : undelared identifier
error C2065: 'pUserData' : undelared identifier