0 Members and 1 Guest are viewing this topic.
Вызвано исключение по адресу 0x62EF4BCF (AIMP.Shared.dll) в AIMP.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xDDDDDE01
virtual HRESULT WINAPI GetFlags(DWORD *S) = 0;
HRESULT WINAPI CAIMPNSFPlugin::Finalize(){ decoderExtension->Release(); fileformat->Release(); aimpCore->Release(); aimpCore = nullptr; return S_OK;}
BOOL CAIMPNSFDecoder::GetStreamInfo(int * SampleRate, int * Channels, int * SampleFormat){ *SampleRate = 48000; *Channels = 2; *SampleFormat = AIMP_DECODER_SAMPLEFORMAT_16BIT; return true; <<< MUST BE TRUE}
HRESULT CAIMPNSFDecoderExtension::CreateDecoder(IAIMPStream * Stream, DWORD Flags, IAIMPErrorInfo * ErrorInfo, IAIMPAudioDecoder ** Decoder){ int bCreatedSuccessfully; CAIMPNSFDecoder* decoder = new CAIMPNSFDecoder(Stream, aimpCore, &bCreatedSuccessfully); if (bCreatedSuccessfully) { *Decoder = decoder; decoder->AddRef(); <<<< LINE ADDED return S_OK; } else return E_FAIL; // Cannot initialise NSF Core or load NSF file (not enough memory or wrong file) // TODO: Fill ErrorInfo structure, detect what fails: core or file}[code]P.S. Я за это и не люблю С++ - он слишком низкоуровневый, вот такие вещи упустить очень легко, а найти - сложно.