home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Internet 2000 May / MICD_2000_05.iso / CBuilder5 / INSTALL / DATA1.CAB / Program_Built_Files / Include / instance.h < prev    next >
C/C++ Source or Header  |  2000-02-01  |  4KB  |  102 lines

  1. #pragma option push -b -a8 -pc -A- /*P_O_Push*/
  2. //***************************************************************************
  3. //
  4. //  Copyright (c) 1997-1999 Microsoft Corporation
  5. //
  6. //  Instance.h
  7. //
  8. //  Purpose: Definition of CInstance class
  9. //
  10. //***************************************************************************
  11.  
  12. #if _MSC_VER > 1000
  13. #pragma once
  14. #endif
  15.  
  16. #ifndef _INSTANCE_H_
  17. #define _INSTANCE_H_
  18.  
  19. #define WBEMINT64 CHString
  20. #define WBEMINT16 short
  21.  
  22. ///////////////////////////////////////////
  23. //
  24. // CLASS CInstance
  25. //
  26. // base instance class
  27. // encapsulation of IWbemClassObject
  28. ///////////////////////////////////////////
  29. class
  30. __declspec(uuid("3402945E-D19A-11d2-B35E-00104BC97924"))
  31. POLARITY CInstance
  32. {
  33.     public:
  34.         CInstance(IWbemClassObject *piClassObject, MethodContext *pMethodContext);
  35.         virtual ~CInstance();
  36.  
  37.         // AddRef/Release
  38.         LONG   AddRef( void );
  39.         LONG   Release( void );
  40.  
  41.         // Get and Set for various data types
  42.         bool SetNull(LPCWSTR name );
  43.         bool SetStringArray(LPCWSTR name, const SAFEARRAY &strArray);
  44.         bool SetWORD(LPCWSTR name,  WORD w);
  45.         bool SetDWORD(LPCWSTR name,  DWORD d);
  46.         bool Setbool(LPCWSTR name,  bool  b);
  47.         bool SetVariant(LPCWSTR name,  const VARIANT& variant );
  48.         bool SetCharSplat(LPCWSTR name,  DWORD dwResID);
  49.         bool SetCharSplat(LPCWSTR name,  LPCWSTR pStr);
  50.         bool SetCharSplat( LPCWSTR name,  LPCSTR pStr);
  51.         bool SetWCHARSplat(LPCWSTR name,  LPCWSTR pStr);
  52.         bool SetDateTime(LPCWSTR name,  const WBEMTime& wbemtime );
  53.         bool SetTimeSpan(LPCWSTR name,  const WBEMTimeSpan& wbemtimespan );
  54.         bool SetWBEMINT64(LPCWSTR name, const WBEMINT64& wbemint64 );
  55.         bool SetWBEMINT64(LPCWSTR name, const LONGLONG i64Value );
  56.         bool SetWBEMINT64( LPCWSTR name, const ULONGLONG i64Value );
  57.         bool SetWBEMINT16(LPCWSTR name, const WBEMINT16& wbemint16 );
  58.         bool SetByte(LPCWSTR name, BYTE b );
  59.         bool SetEmbeddedObject (LPCWSTR name, CInstance& cInstance ) ;
  60.         bool SetDOUBLE(LPCWSTR name, DOUBLE dub );
  61.         bool SetCHString(LPCWSTR name, LPCWSTR str);
  62.         bool SetCHString(LPCWSTR name,  const CHString& str);
  63.         bool SetCHString(LPCWSTR name, LPCSTR str);
  64.  
  65.         bool GetStringArray(LPCWSTR name,  SAFEARRAY *& strArray)     const;
  66.         bool GetCHString(LPCWSTR name, CHString& str) const;
  67.         bool GetWCHAR(LPCWSTR name,  WCHAR **pW) const;
  68.         bool GetWORD(LPCWSTR name,  WORD& w) const;
  69.         bool GetDWORD(LPCWSTR name,  DWORD& d) const;
  70.         bool Getbool(LPCWSTR name,  bool&  b) const;
  71.         bool GetVariant(LPCWSTR name, VARIANT& variant ) const;
  72.         bool GetDateTime(LPCWSTR name,  WBEMTime& wbemtime ) const;
  73.         bool GetTimeSpan(LPCWSTR name,  WBEMTimeSpan& wbemtimespan ) const;
  74.         bool GetWBEMINT64(LPCWSTR name, WBEMINT64& wbemint64 ) const;
  75.         bool GetWBEMINT64(LPCWSTR name, LONGLONG& i64Value ) const;
  76.         bool GetWBEMINT64( LPCWSTR name, ULONGLONG& i64Value) const;
  77.         bool GetWBEMINT16(LPCWSTR name, WBEMINT16& wbemint16 ) const;
  78.         bool GetByte(LPCWSTR name, BYTE& b ) const;
  79.         bool GetEmbeddedObject(LPCWSTR name, CInstance** pInstance,  MethodContext *pMethodContext) const;
  80.         bool GetDOUBLE(LPCWSTR name, DOUBLE& dub) const;
  81.         bool IsNull(LPCWSTR name) const;
  82.         bool GetStatus(LPCWSTR name, bool &a_Exists , VARTYPE &a_VarType ) const ;
  83.  
  84.         HRESULT Commit(void);
  85.         IWbemClassObject *GetClassObjectInterface();
  86.         MethodContext *GetMethodContext() const;
  87.  
  88.     protected:
  89.         // All items in this section intended for Microsoft internal use only
  90.         // use by third parties is unsupported and unrecommended
  91.         void LogError(LPCWSTR errorStr, LPCWSTR pFunctionName, LPCWSTR pArgs = NULL, HRESULT hError = -1) const;
  92.  
  93.         IWbemClassObject *m_piClassObject;
  94.         MethodContext*   m_pMethodContext;
  95.         LONG             m_nRefCount;
  96.  
  97.         friend class CWbemProviderGlue;
  98. };
  99.  
  100. #endif
  101. #pragma option pop /*P_O_Pop*/
  102.