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.

71 lines
2.0 KiB

  1. /*++
  2. Copyright (c) 1991 - 2001 Microsoft Corporation
  3. Module Name:
  4. ### ### ## # ## ## ##### ### ## ## ## ##
  5. ## # ### ### # ## ## ## ## ### ### ### ## ##
  6. ### ## ## #### # ## ## ## ## ## ## ######## ## ##
  7. ### ## ## # #### #### ##### ## ## # ### ## #######
  8. ### ####### # ### #### #### ####### # # ## ## ##
  9. # ## ## ## # ## ## ## ## ## ## # ## ## ## ##
  10. ### ## ## # # ## ## ## ## ## # ## ## ## ##
  11. Abstract:
  12. This header file contains the class definition for
  13. the ISaNvram interface class.
  14. Author:
  15. Wesley Witt (wesw) 1-Oct-2001
  16. Environment:
  17. User mode only.
  18. Notes:
  19. --*/
  20. #ifndef __SANVRAM_H_
  21. #define __SANVRAM_H_
  22. class ATL_NO_VTABLE CSaNvram :
  23. public CComObjectRootEx<CComMultiThreadModel>,
  24. public CComCoClass<CSaNvram, &CLSID_SaNvram>,
  25. public IDispatchImpl<ISaNvram, &IID_ISaNvram, &LIBID_SACOMLib>
  26. {
  27. public:
  28. CSaNvram();
  29. ~CSaNvram();
  30. DECLARE_REGISTRY_RESOURCEID(IDR_SANVRAM)
  31. DECLARE_PROTECT_FINAL_CONSTRUCT()
  32. BEGIN_COM_MAP(CSaNvram)
  33. COM_INTERFACE_ENTRY(ISaNvram)
  34. COM_INTERFACE_ENTRY(IDispatch)
  35. END_COM_MAP()
  36. public:
  37. STDMETHOD(get_DataSlot)(/*[in]*/ long Number, /*[out, retval]*/ long *pVal);
  38. STDMETHOD(put_DataSlot)(/*[in]*/ long Number, /*[in]*/ long newVal);
  39. STDMETHOD(get_Size)(/*[out, retval]*/ long *pVal);
  40. STDMETHOD(get_BootCounter)(/*[in]*/ long Number, /*[out, retval]*/ long *pVal);
  41. STDMETHOD(put_BootCounter)(/*[in]*/ long Number, /*[in]*/ long newVal);
  42. STDMETHOD(get_InterfaceVersion)(/*[out, retval]*/ long *pVal);
  43. STDMETHOD(get_DeviceId)(/*[in]*/ long Number, /*[out, retval]*/ long *pVal);
  44. STDMETHOD(put_DeviceId)(/*[in]*/ long Number, /*[in]*/ long newVal);
  45. private:
  46. HANDLE m_hFile;
  47. ULONG m_InterfaceVersion;
  48. SA_NVRAM_CAPS m_NvramCaps;
  49. };
  50. #endif //__SANVRAM_H_