home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / sdk / netds / adsi / sampprov / cprovcf.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  1997-07-29  |  1.1 KB  |  75 lines

  1. /*++
  2.  
  3. Copyright (c) 1996 Microsoft Corporation
  4.  
  5. Module Name:
  6.  
  7.     CProvCF.cpp
  8.  
  9. Abstract:
  10.  
  11.     ADs Provider Object Class Factory Code
  12.  
  13. Author:
  14.  
  15. Environment:
  16.  
  17.     User mode
  18.  
  19. Revision History :
  20.  
  21. --*/
  22. #include "adssmp.h"
  23. #pragma hdrstop
  24.  
  25.  
  26. //+---------------------------------------------------------------------------
  27. //
  28. //  Function:   CSampleDSProviderCF::CreateInstance
  29. //
  30. //  Synopsis:
  31. //
  32. //  Arguments:  [pUnkOuter]
  33. //              [iid]
  34. //              [ppv]
  35. //
  36. //  Returns:    HRESULT
  37. //
  38. //  Modifies:
  39. //
  40. //----------------------------------------------------------------------------
  41. STDMETHODIMP
  42. CSampleDSProviderCF::CreateInstance(IUnknown * pUnkOuter, REFIID iid, LPVOID * ppv)
  43. {
  44.     HRESULT     hr;
  45.     CSampleDSProvider *     pProvider;
  46.  
  47.     if (pUnkOuter)
  48.         RRETURN(E_FAIL);
  49.  
  50.  
  51.     hr = CSampleDSProvider::Create(&pProvider);
  52.  
  53.     if (FAILED(hr)) {
  54.         RRETURN (hr);
  55.     }
  56.  
  57.     if (pProvider)
  58.     {
  59.         hr = pProvider->QueryInterface(iid, ppv);
  60.         pProvider->Release();
  61.     }
  62.     else
  63.     {
  64.         *ppv = NULL;
  65.         RRETURN(E_OUTOFMEMORY);
  66.     }
  67.  
  68.     RRETURN(hr);
  69. }
  70.  
  71.  
  72.  
  73.  
  74.  
  75.