69 lines
1.3 KiB
C++
69 lines
1.3 KiB
C++
//---------------------------------------------------------------------------
|
|
//
|
|
// 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);
|
|
}
|
|
|
|
|
|
|
|
|
|
|