/** * Creates our provider. This happens *before* CTRL-ALT-DEL was pressed! */ HRESULT VBoxCredProvProviderCreate(REFIID interfaceID, void **ppvInterface) { HRESULT hr; /** @todo try-catch. */ VBoxCredProvProvider *pProvider = new VBoxCredProvProvider(); if (pProvider) { hr = pProvider->QueryInterface(interfaceID, ppvInterface); pProvider->Release(); } else hr = E_OUTOFMEMORY; return hr; }
/** * Creates our provider. This happens *before* CTRL-ALT-DEL was pressed! */ HRESULT VBoxCredProvProviderCreate(REFIID interfaceID, void **ppvInterface) { HRESULT hr; try { VBoxCredProvProvider *pProvider = new VBoxCredProvProvider(); AssertPtr(pProvider); hr = pProvider->QueryInterface(interfaceID, ppvInterface); pProvider->Release(); } catch (std::bad_alloc &ex) { NOREF(ex); hr = E_OUTOFMEMORY; } return hr; }