0 Members and 1 Guest are viewing this topic.
плагин падает в функции RegisterExtension но от чего я не понял
у frame RefCount = 0, вот он и прибился раньше времени. Вам надо сделать ему ._addRef сразу после создания
В VgmStream у меня там нет auto
На сколько я вижу, вместо frame как IUnknown приходит что-то другое. Плеер падает при попытке вызвать _AddRef.
calling convention для 64битного кода не применяется
IAIMPServiceVersionInfo* versionService = nullptr; auto success = core->QueryInterface(IID_IAIMPServiceVersionInfo, reinterpret_cast<void**>(&versionService)); if (Failed(success)) return E_FAIL; auto version = versionService->GetVersionID(); versionService->Release(); return S_OK;
if (sizeof(GUID) != 16) return E_FAIL;
Единственное, пока что-то не получается заставить GCC упаковывать структуры должным образом - ни через pragma, ни через атрибуты что-то не хочет.
(gdb) ptype IID_IUnknown type = const struct GUID { DWORD Data1; WORD Data2; WORD Data3; BYTE Data4[8];}(gdb) print sizeof(DWORD)$3 = 8(gdb) print sizeof(WORD)$4 = 2(gdb) print sizeof(BYTE)$5 = 1
если на регистрацию передать нулевой указатель?
но первая проблема так и не решилась :'(