From: dmitrykos Date: Mon, 29 Aug 2016 06:54:49 +0000 (+0300) Subject: wasapi: return E_NOINTERFACE in PaActivateAudioInterfaceCompletionHandler::QueryInter... X-Git-Tag: pa_stable_v190600_20161030~12^2~1 X-Git-Url: https://andrewgundersen.net/repos?a=commitdiff_plain;h=72dd5db968c95200beab2c44cbaa1e9e44ea7782;p=portaudio wasapi: return E_NOINTERFACE in PaActivateAudioInterfaceCompletionHandler::QueryInterface, use C-style API for calling interface functions (in order to be unified with the rest of WASAPI code) --- diff --git a/src/hostapi/wasapi/pa_win_wasapi.c b/src/hostapi/wasapi/pa_win_wasapi.c index e865c7b..bb7ad2f 100644 --- a/src/hostapi/wasapi/pa_win_wasapi.c +++ b/src/hostapi/wasapi/pa_win_wasapi.c @@ -1259,12 +1259,12 @@ static HRESULT (STDMETHODCALLTYPE PaActivateAudioInterfaceCompletionHandler_Quer if (IsEqualIID(riid, &IID_IUnknown) || IsEqualIID(riid, &IID_IAgileObject)) { - handler->parent.lpVtbl->AddRef((IActivateAudioInterfaceCompletionHandler *)handler); + IActivateAudioInterfaceCompletionHandler_AddRef((IActivateAudioInterfaceCompletionHandler *)handler); (*ppvObject) = handler; return S_OK; } - return S_FALSE; + return E_NOINTERFACE; } static ULONG (STDMETHODCALLTYPE PaActivateAudioInterfaceCompletionHandler_AddRef)( @@ -1300,11 +1300,11 @@ static HRESULT (STDMETHODCALLTYPE PaActivateAudioInterfaceCompletionHandler_Acti IUnknown *punkAudioInterface = NULL; // Check for a successful activation result - hr = activateOperation->lpVtbl->GetActivateResult(activateOperation, &hrActivateResult, &punkAudioInterface); + hr = IActivateAudioInterfaceAsyncOperation_GetActivateResult(activateOperation, &hrActivateResult, &punkAudioInterface); if (SUCCEEDED(hr) && SUCCEEDED(hrActivateResult)) { // Get the pointer for the Audio Client - punkAudioInterface->lpVtbl->QueryInterface(punkAudioInterface, GetAudioClientIID(), &handler->out.client); + IUnknown_QueryInterface(punkAudioInterface, GetAudioClientIID(), &handler->out.client); if (handler->out.client == NULL) hrActivateResult = E_FAIL; }