Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

76 lines
1.7 KiB

  1. //---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1992 - 1996
  5. //
  6. // File: openobj.cxx
  7. //
  8. // Contents: ADs Wrapper Function to open a DS object
  9. //
  10. //
  11. // History: 8-26-96 krishnag Created.
  12. //
  13. //----------------------------------------------------------------------------
  14. #include "oleds.hxx"
  15. #pragma hdrstop
  16. //+---------------------------------------------------------------------------
  17. // Function: ADsOpenObject
  18. //
  19. // Synopsis:
  20. //
  21. // Arguments: [LPWSTR lpszPathName]
  22. [LPWSTR lpszUserName]
  23. [LPWSTR lpszPassword]
  24. // [REFIID riid]
  25. // [void FAR * FAR * ppObject]
  26. //
  27. // Returns: HRESULT
  28. //
  29. // Modifies: -
  30. //
  31. // History: 08-26-96 krishnag Created.
  32. //
  33. //----------------------------------------------------------------------------
  34. HRESULT
  35. ADsOpenObject(
  36. LPWSTR lpszPathName,
  37. LPWSTR lpszUserName,
  38. LPWSTR lpszPassword,
  39. REFIID riid,
  40. void FAR * FAR * ppObject
  41. )
  42. {
  43. HRESULT hr = S_OK;
  44. IDSNamespace lpNamespace = NULL;
  45. CLSID NamespaceClsid;
  46. hr = CoCreateInstance(
  47. NamespaceClsid,
  48. NULL,
  49. CLSCTX_INPROC_SERVER,
  50. IID_IDSNamespace,
  51. (void **)&lpNamespace
  52. );
  53. BAIL_ON_FAILURE(hr);
  54. hr = pNamespace->OpenDSObject(
  55. lpszPathName,
  56. lpszUserName,
  57. lpszPassword,
  58. dwAccess,
  59. riid,
  60. ppObject
  61. );
  62. BAIL_ON_FAILURE(hr);
  63. error:
  64. if (pNamespace) {
  65. pNamespace->Release();
  66. }
  67. RRETURN(hr);
  68. }