goto error;
if(pszDeviceId)
CoTaskMemFree(pszDeviceId);
+ if(pdev)
+ IMMDevice_Release(pdev);
+ if(pdc)
+ IMMDeviceCollection_Release(pdc);
if(pde)
IMMDeviceEnumerator_Release(pde);
return TRUE;
error:
if(pszDeviceId)
CoTaskMemFree(pszDeviceId);
+ if(pdev)
+ IMMDevice_Release(pdev);
+ if(pdc)
+ IMMDeviceCollection_Release(pdc);
if(pde)
IMMDeviceEnumerator_Release(pde);
return FALSE;
device[0].LatencyMax = LatencyMax;
device[0].LatencyMin = LatencyMin;
if(tmpClient){
- tmpClient->lpVtbl->Release(tmpClient);
+ IAudioClient_Release(tmpClient);
tmpClient = NULL;
}
if(defdev){
device[i+1].LatencyMax = LatencyMax;
device[i+1].LatencyMin = LatencyMin;
if(tmpClient){
- tmpClient->lpVtbl->Release(tmpClient);
+ IAudioClient_Release(tmpClient);
tmpClient = NULL;
}
if(dev){
dev = NULL;
}
if(pps){
- pps->lpVtbl->Release(pps);
+ IPropertyStore_Release(pps);
pps = NULL;
}
}
if(pdc)
- pdc->lpVtbl->Release(pdc);
+ IMMDeviceCollection_Release(pdc);
if(pde)
IMMDeviceEnumerator_Release(pde);
for(i = 0; i < num; i++){
return;
error1:
if(tmpClient)
- tmpClient->lpVtbl->Release(tmpClient);
+ IAudioClient_Release(tmpClient);
if(pdc){
- pdc->lpVtbl->Release(pdc);
+ IMMDeviceCollection_Release(pdc);
}
if(pde)
IMMDeviceEnumerator_Release(pde);
device[0].LatencyMax = LatencyMax;
device[0].LatencyMin = LatencyMin;
if(tmpClient){
- tmpClient->lpVtbl->Release(tmpClient);
+ IAudioClient_Release(tmpClient);
tmpClient = NULL;
}
if(defdev){
device[i+1].LatencyMax = LatencyMax;
device[i+1].LatencyMin = LatencyMin;
if(tmpClient){
- tmpClient->lpVtbl->Release(tmpClient);
+ IAudioClient_Release(tmpClient);
tmpClient = NULL;
}
if(dev){
dev = NULL;
}
if(pps){
- pps->lpVtbl->Release(pps);
+ IPropertyStore_Release(pps);
pps = NULL;
}
}
if(pdc)
- pdc->lpVtbl->Release(pdc);
+ IMMDeviceCollection_Release(pdc);
if(pde)
IMMDeviceEnumerator_Release(pde);
return num + 1; // +1 def dev
error1:
if(tmpClient)
- tmpClient->lpVtbl->Release(tmpClient);
+ IAudioClient_Release(tmpClient);
if(pdc){
- pdc->lpVtbl->Release(pdc);
+ IMMDeviceCollection_Release(pdc);
}
if(pde)
IMMDeviceEnumerator_Release(pde);