/////////////////////////////////////////////////////////////////////////////// // // Copyright (c) 1997, Microsoft Corp. All rights reserved. // // FILE // // PropSet.h // // SYNOPSIS // // This file describes the class DBPropertySet. // // MODIFICATION HISTORY // // 10/30/1997 Original version. // /////////////////////////////////////////////////////////////////////////////// #ifndef _PROPSET_H_ #define _PROPSET_H_ /////////////////////////////////////////////////////////////////////////////// // // CLASS // // DBPropertySet // // DESCRIPTION // // This class provides a very basic wrapper around an OLE DB property set. // The template parameter 'N' specifies the capacity of the set. // /////////////////////////////////////////////////////////////////////////////// template struct DBPropertySet : DBPROPSET { DBPropertySet(const GUID& guid) { guidPropertySet = guid; cProperties = 0; rgProperties = DBProperty; } ~DBPropertySet() { for (size_t i = 0; i= N) return false; DBProperty[cProperties].dwPropertyID = dwPropertyID; DBProperty[cProperties].dwOptions = DBPROPOPTIONS_REQUIRED; DBProperty[cProperties].colid = DB_NULLID; DBProperty[cProperties].vValue.vt = VT_BSTR; DBProperty[cProperties].vValue.bstrVal = SysAllocString(szValue); if (DBProperty[cProperties].vValue.bstrVal == NULL) return false; cProperties++; return true; } bool AddProperty(DWORD dwPropertyID, long lValue) { if (cProperties >= N) return false; DBProperty[cProperties].dwPropertyID = dwPropertyID; DBProperty[cProperties].dwOptions = DBPROPOPTIONS_REQUIRED; DBProperty[cProperties].colid = DB_NULLID; DBProperty[cProperties].vValue.vt = VT_I4; DBProperty[cProperties].vValue.lVal = lValue; cProperties++; return true; } DBPROP DBProperty[N]; }; #endif // _PROPSET_H_