//--------------------------------------------------------------------------- // // Microsoft Windows // Copyright (C) Microsoft Corporation, 1992 - 1995 // // File: cprovcf.cxx // // Contents: NDS Provider Object Class Factory Code // // CNDSProviderCF::CreateInstance // // History: 01-30-95 krishnag Created. // //---------------------------------------------------------------------------- #include "nds.hxx" #pragma hdrstop //+--------------------------------------------------------------------------- // // Function: CNDSProviderCF::CreateInstance // // Synopsis: // // Arguments: [pUnkOuter] // [iid] // [ppv] // // Returns: HRESULT // // Modifies: // // History: 01-30-95 krishnag Created. //---------------------------------------------------------------------------- STDMETHODIMP CNDSProviderCF::CreateInstance(IUnknown * pUnkOuter, REFIID iid, LPVOID * ppv) { HRESULT hr; CNDSProvider * pProvider; if (pUnkOuter) RRETURN(E_FAIL); hr = CNDSProvider::Create(&pProvider); if (FAILED(hr)) { RRETURN (hr); } if (pProvider) { hr = pProvider->QueryInterface(iid, ppv); pProvider->Release(); } else { *ppv = NULL; RRETURN(E_OUTOFMEMORY); } RRETURN(hr); }