0 Members and 1 Guest are viewing this topic.
class IIAIMPAddonHeader :public /*IUnknown, */IAIMPAddonHeader{ protected: int m_nRefCount; public: BOOL WINAPI __stdcall GetHasSettingsDialog() { return FALSE; } PWCHAR WINAPI __stdcall GetPluginAuthor() { ShowMessage("GetAutorFunc"); //wchar_t* return (wchar_t*)"ildarM"; } PWCHAR WINAPI __stdcall GetPluginName() { ShowMessage("GetPluginName"); return (wchar_t*)"to flylink"; } void WINAPI __stdcall Finalize() { int i; } void WINAPI __stdcall Initialize(IAIMP2Controller *AController) { unsigned int ver = AController->AIMP_GetSystemVersion(); ShowMessage(IntToStr(__int64(ver))); aimp = AController; ShowMessage("InitFunc"); } void WINAPI __stdcall ShowSettingsDialog(HWND AParentWindow) { int i; } STDMETHOD(QueryInterface)( REFIID refiid, void FAR* FAR* ppvObject ) { *ppvObject = ( refiid == IID_IUnknown ) ? this : NULL; if ( *ppvObject != NULL ) ( (LPUNKNOWN)*ppvObject )->AddRef(); return *ppvObject == NULL ? E_NOINTERFACE : S_OK; } STDMETHOD_(ULONG, AddRef)( void ) { return ++m_nRefCount; } STDMETHOD_(ULONG, Release)( void ) { int nRefCount = --m_nRefCount; if ( nRefCount == 0 ) delete this; return nRefCount; }};extern "C" __declspec (dllexport) BOOL __stdcall AIMP_QueryAddonEx(IAIMPAddonHeader *AHeader){ AHeader = NULL; AHeader =(IAIMPAddonHeader*)new IIAIMPAddonHeader; return TRUE;}
...но как мне его сделать активным?
на методы не ходит...
олтладчиком пользоваться умею
AHeader =(IAIMPAddonHeader*)new IIAIMPAddonHeader;
так и есть, значение не NULL. Объек создается
могу прислать проект...
{ (* AHeader) = new IIAIMPAddonHeader; return TRUE;}
typedef BOOL (WINAPI *AIMPAddonHeaderProc)(IAIMPAddonHeader *AHeader);
typedef BOOL (WINAPI *AIMPAddonHeaderProc)(IAIMPAddonHeader **AHeader);
*AHeader = reinterpret_cast<IAIMPAddonHeader*>(new IIAIMPAddonHeader);