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.

49 lines
1.6 KiB

  1. //---------------------------------------------------------------------------
  2. // ColumnUpdate.h : CVDColumnUpdate header file
  3. //
  4. // Copyright (c) 1996 Microsoft Corporation, All Rights Reserved
  5. // Developed by Sheridan Software Systems, Inc.
  6. //---------------------------------------------------------------------------
  7. #ifndef __CVDCOLUMNUPDATE__
  8. #define __CVDCOLUMNUPDATE__
  9. class CVDColumnUpdate
  10. {
  11. protected:
  12. // Construction/Destruction
  13. CVDColumnUpdate();
  14. virtual ~CVDColumnUpdate();
  15. // Helper function
  16. static HRESULT ExtractVariant(CURSOR_DBBINDPARAMS * pBindParams, CURSOR_DBVARIANT * pVariant);
  17. public:
  18. static HRESULT Create(CVDRowsetColumn * pColumn, CURSOR_DBBINDPARAMS * pBindParams,
  19. CVDColumnUpdate ** ppColumnUpdate, CVDResourceDLL * pResourceDLL);
  20. // Reference count
  21. ULONG AddRef();
  22. ULONG Release();
  23. // Access functions
  24. CVDRowsetColumn * GetColumn() const {return m_pColumn;}
  25. CURSOR_DBVARIANT GetVariant() const {return m_variant;}
  26. VARTYPE GetVariantType() const {return m_variant.vt;}
  27. ULONG GetVarDataLen() const {return m_cbVarDataLen;}
  28. DWORD GetInfo() const {return m_dwInfo;}
  29. protected:
  30. // Data members
  31. DWORD m_dwRefCount; // reference count
  32. CVDRowsetColumn * m_pColumn; // rowset column pointer
  33. CURSOR_DBVARIANT m_variant; // update variant
  34. ULONG m_cbVarDataLen; // variable data length
  35. DWORD m_dwInfo; // information field
  36. CVDResourceDLL * m_pResourceDLL; // pointer which keeps track of resource DLL
  37. };
  38. #endif //__CVDCOLUMNUPDATE__