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.

91 lines
2.8 KiB

  1. ///////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 2000, Microsoft Corp. All rights reserved.
  4. //
  5. // FILE
  6. //
  7. // netshhelper.cpp
  8. //
  9. // SYNOPSIS
  10. //
  11. // Implement the class CIASNetshJetHelper.
  12. //
  13. // MODIFICATION HISTORY
  14. //
  15. // 04/13/2000 Original version.
  16. // 06/13/2000 parameter TRUE added for IASUpgrade
  17. //
  18. // NOTE
  19. //
  20. // OpenJetDatabase MUST be called BEFORE calling any other method.
  21. //
  22. ///////////////////////////////////////////////////////////////////////////////
  23. #include <windows.h>
  24. #include "netshhelper.h"
  25. #include <iasdb.h>
  26. #include "setup.h"
  27. //////////////////////////////////////////////////////////////////////////////
  28. // CIASNetshJetHelper
  29. //////////////////////////////////////////////////////////////////////////////
  30. //////////////////////////////////////////////////////////////////////////////
  31. // OpenJetDatabase
  32. //////////////////////////////////////////////////////////////////////////////
  33. STDMETHODIMP CIASNetshJetHelper::OpenJetDatabase(
  34. BSTR Path,
  35. VARIANT_BOOL ReadOnly
  36. )
  37. {
  38. return IASOpenJetDatabase(Path, ReadOnly, &m_Session);
  39. }
  40. //////////////////////////////////////////////////////////////////////////////
  41. // IASExecuteSQLFunction
  42. //////////////////////////////////////////////////////////////////////////////
  43. STDMETHODIMP CIASNetshJetHelper::ExecuteSQLFunction(BSTR Command, LONG *Result)
  44. {
  45. return IASExecuteSQLFunction(m_Session, Command, Result);
  46. }
  47. //////////////////////////////////////////////////////////////////////////////
  48. // ExecuteSQLCommand
  49. //////////////////////////////////////////////////////////////////////////////
  50. STDMETHODIMP CIASNetshJetHelper::ExecuteSQLCommand(BSTR Command)
  51. {
  52. return IASExecuteSQLCommand(m_Session, Command, NULL);
  53. }
  54. //////////////////////////////////////////////////////////////////////////////
  55. // CreateJetDatabase
  56. //////////////////////////////////////////////////////////////////////////////
  57. STDMETHODIMP CIASNetshJetHelper::CreateJetDatabase(BSTR Path)
  58. {
  59. return IASCreateJetDatabase(Path);
  60. }
  61. //////////////////////////////////////////////////////////////////////////////
  62. // CloseJetDatabase
  63. //////////////////////////////////////////////////////////////////////////////
  64. STDMETHODIMP CIASNetshJetHelper::CloseJetDatabase()
  65. {
  66. m_Session.Release();
  67. return S_OK;
  68. }
  69. //////////////////////////////////////////////////////////////////////////////
  70. // UpgradeDatabase
  71. //////////////////////////////////////////////////////////////////////////////
  72. STDMETHODIMP CIASNetshJetHelper::UpgradeDatabase()
  73. {
  74. CIASUpgrade Upgrade;
  75. return Upgrade.IASUpgrade(TRUE); // TRUE = "called from Netshell"
  76. }