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.

107 lines
3.1 KiB

  1. /********************************************************************
  2. Copyright (c) 1999 Microsoft Corporation
  3. Module Name:
  4. PCH_Driver.H
  5. Abstract:
  6. WBEM provider class definition for PCH_Driver class
  7. Revision History:
  8. Ghim-Sim Chua (gschua) 04/27/99
  9. - Created
  10. ********************************************************************/
  11. // Property set identification
  12. //============================
  13. #ifndef _PCH_Driver_H_
  14. #define _PCH_Driver_H_
  15. #define PROVIDER_NAME_PCH_DRIVER "PCH_Driver"
  16. #include <list>
  17. // Property name externs -- defined in PCH_Driver.cpp
  18. //=================================================
  19. extern const WCHAR* pCategory ;
  20. extern const WCHAR* pTimeStamp ;
  21. extern const WCHAR* pChange ;
  22. extern const WCHAR* pDate ;
  23. extern const WCHAR* pDescription ;
  24. extern const WCHAR* pLoadedFrom ;
  25. extern const WCHAR* pManufacturer ;
  26. extern const WCHAR* pName ;
  27. extern const WCHAR* pPartOf ;
  28. extern const WCHAR* pPath ;
  29. extern const WCHAR* pSize ;
  30. extern const WCHAR* pType ;
  31. extern const WCHAR* pVersion ;
  32. typedef struct _DRIVER_KERNEL
  33. {
  34. TCHAR strDriver[MAX_PATH];
  35. TCHAR strVersion[MAX_PATH];
  36. TCHAR strManufacturer[MAX_PATH];
  37. TCHAR strDescription[MAX_PATH];
  38. TCHAR strLikelyPath[MAX_PATH];
  39. TCHAR strLoadedFrom[MAX_PATH];
  40. TCHAR strType[MAX_PATH];
  41. TCHAR strPartOf[MAX_PATH];
  42. struct _DRIVER_KERNEL *next;
  43. } DRIVER_KERNEL;
  44. typedef struct _DRIVER_MS_DOS
  45. {
  46. TCHAR strName[MAX_PATH];
  47. TCHAR strType[MAX_PATH];
  48. WORD seg;
  49. } DRIVER_MS_DOS;
  50. typedef struct _DRIVER_USER_MODE
  51. {
  52. TCHAR strDriver[MAX_PATH];
  53. TCHAR strVersion[MAX_PATH];
  54. TCHAR strManufacturer[MAX_PATH];
  55. TCHAR strDescription[MAX_PATH];
  56. TCHAR strPath[MAX_PATH];
  57. TCHAR strType[MAX_PATH];
  58. TCHAR strPartOf[MAX_PATH];
  59. } DRIVER_USER_MODE;
  60. class CPCH_Driver : public Provider
  61. {
  62. public:
  63. // Constructor/destructor
  64. //=======================
  65. CPCH_Driver(const CHString& chsClassName, LPCWSTR lpszNameSpace) :
  66. Provider(chsClassName, lpszNameSpace) {};
  67. virtual ~CPCH_Driver() {};
  68. protected:
  69. // Reading Functions
  70. //============================
  71. virtual HRESULT EnumerateInstances(MethodContext* pMethodContext, long lFlags = 0L);
  72. virtual HRESULT GetObject(CInstance* pInstance, long lFlags = 0L) { return (WBEM_E_PROVIDER_NOT_CAPABLE); };
  73. virtual HRESULT ExecQuery(MethodContext *pMethodContext, CFrameworkQuery& Query, long lFlags = 0L) { return (WBEM_E_PROVIDER_NOT_CAPABLE); };
  74. // Writing Functions
  75. //============================
  76. virtual HRESULT PutInstance(const CInstance& Instance, long lFlags = 0L) { return (WBEM_E_PROVIDER_NOT_CAPABLE); };
  77. virtual HRESULT DeleteInstance(const CInstance& Instance, long lFlags = 0L) { return (WBEM_E_PROVIDER_NOT_CAPABLE); };
  78. // Other Functions
  79. virtual HRESULT ExecMethod( const CInstance& Instance,
  80. const BSTR bstrMethodName,
  81. CInstance *pInParams,
  82. CInstance *pOutParams,
  83. long lFlags = 0L ) { return (WBEM_E_PROVIDER_NOT_CAPABLE); };
  84. } ;
  85. #endif