Leaked source code of windows server 2003
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.

101 lines
3.0 KiB

  1. //////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 2000 Microsoft Corporation
  4. //
  5. // Module Name:
  6. // ClusOCM.cpp
  7. //
  8. // Description:
  9. // This file contains the implementation of the entry point used by OC
  10. // Manager.
  11. //
  12. // Documentation:
  13. // [1] 2001 Setup - Architecture.doc
  14. // Architecture of the DLL for Whistler (Windows 2001)
  15. //
  16. // [2] 2000 Setup - FuncImpl.doc
  17. // Contains description of the previous version of this DLL (Windows 2000)
  18. //
  19. // [3] http://winweb/setup/ocmanager/OcMgr1.doc
  20. // Documentation about the OC Manager API
  21. //
  22. // Header File:
  23. // There is no header file for this source file.
  24. //
  25. // Maintained By:
  26. // Vij Vasu (Vvasu) 03-MAR-2000
  27. // Created the original version.
  28. //
  29. //////////////////////////////////////////////////////////////////////////////
  30. //////////////////////////////////////////////////////////////////////////////
  31. // Include Files
  32. //////////////////////////////////////////////////////////////////////////////
  33. // Precompiled header for this DLL
  34. #include "pch.h"
  35. //////////////////////////////////////////////////////////////////////////////
  36. // Global variables
  37. //////////////////////////////////////////////////////////////////////////////
  38. // The global application object.
  39. CClusOCMApp g_coaTheApp;
  40. /////////////////////////////////////////////////////////////////////////////
  41. //++
  42. //
  43. // extern "C"
  44. // DWORD
  45. // ClusOcmSetupProc
  46. //
  47. // Description:
  48. // This is an exported function that the OC Manager uses to communicate
  49. // with ClusOCM. See document [3] in the header of this file for details.
  50. //
  51. // This function is just a stub for CClusOCMApp::DwClusOcmSetupProc.
  52. //
  53. // Arguments:
  54. // LPCVOID pvComponentIdIn
  55. // Pointer to a string that uniquely identifies the component.
  56. //
  57. // LPCVOID pvSubComponentIdIn
  58. // Pointer to a string that uniquely identifies a sub-component in
  59. // the component's hiearchy.
  60. //
  61. // UINT uiFunctionCodeIn
  62. // A numeric value indicating which function is to be perfomed.
  63. // See ocmanage.h for the macro definitions.
  64. //
  65. // UINT uiParam1In
  66. // Supplies a function specific parameter.
  67. //
  68. // PVOID pvParam2Inout
  69. // Pointer to a function specific parameter (either input or
  70. // output).
  71. //
  72. // Return Value:
  73. // A function specific value is returned to OC Manager.
  74. //
  75. //--
  76. /////////////////////////////////////////////////////////////////////////////
  77. extern "C"
  78. DWORD
  79. ClusOcmSetupProc(
  80. IN LPCVOID pvComponentIdIn
  81. , IN LPCVOID pvSubComponentIdIn
  82. , IN UINT uiFunctionCodeIn
  83. , IN UINT uiParam1In
  84. , IN OUT PVOID pvParam2Inout
  85. )
  86. {
  87. return g_coaTheApp.DwClusOcmSetupProc(
  88. pvComponentIdIn
  89. , pvSubComponentIdIn
  90. , uiFunctionCodeIn
  91. , uiParam1In
  92. , pvParam2Inout
  93. );
  94. } //*** ClusOcmSetupProc()