]> Repos - portaudio/commitdiff
wasapi: return E_NOINTERFACE in PaActivateAudioInterfaceCompletionHandler::QueryInter...
authordmitrykos <dmitrykos@neutroncode.com>
Mon, 29 Aug 2016 06:54:49 +0000 (09:54 +0300)
committerdmitrykos <dmitrykos@neutroncode.com>
Mon, 29 Aug 2016 06:54:49 +0000 (09:54 +0300)
src/hostapi/wasapi/pa_win_wasapi.c

index e865c7bf6366d4330f294bb7a09c5a01495000ab..bb7ad2ff4fec227448f0b39807741df39fd9bb89 100644 (file)
@@ -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;
        }