プロパティ グループとプロパティ ID は、目的のプロパティを見つけます。(を参照してください 、「 OLE DB programmer's ReferenceのOLE DB プロパティ)。
次の例では、行セットからプロパティを取得しようとしています。セッションまたはコマンドを使用するコードは似ていますが、別のインターフェイスを使用して。
プロパティ グループをコンス トラクターにパラメーターとして使用して CDBPropsetオブジェクトを作成します。たとえば:
CDBPropSet propset(DBPROPSET_ROWSET)
AddPropertyプロパティ ID と値をプロパティに割り当てることに渡すを呼び出します。値の型を使用している、プロパティによって異なります。
CDBPropSet propset(DBPROPSET_ROWSET);propset。AddProperty(DBPROP_IRowsetChange, true);propset。AddProperty (DBPROP_UPDATABILITY、DBPROPVAL_UP_INSERT |DBPROPVAL_UP_CHANGE |DBPROPVAL_UP_DELETE)
データ メンバーを使用して m_spUnkSite オブジェクトを作成したオブジェクトにポインターを取得するには。
CAgentRowsetlt;CMyProviderCommand > ※ pRowset = (CAgentRowset <CMyProviderCommand> ※) pThis;CComQIPtr < IRowsetInfo、& IID_IRowsetInfo > spRowsetProps pRowset =
IRowsetインターフェイスを使用してGetPropertiesをコールします。プロパティをパラメーターとして渡します。最終的なコードはここにあります。:
CAgentRowsetlt;CMyProviderCommand > ※ pRowset = (CAgentRowset <CMyProviderCommand> ※) pThis;CComQIPtr < IRowsetInfo、& IID_IRowsetInfo > spRowsetProps pRowset; =設定します。AddPropertyID(DBPROP_BOOKMARKS);DBPROPSET ※ pPropSet = NULL;ULONG ulPropSet = 0;HRESULT の時間;場合 (spRowsetProps)hr = spRowsetProps - > GetProperties (1、& セット、ulPropSet、& pPropSet);場合 (pPropSet){CComVariant var = pPropSet - > rgProperties [0] .vvalue;CoTaskMemFree (pPropSet - > rgProperties);CoTaskMemFree(pPropSet);場合 (SUCCEEDED(hr) & & (var.boolVal VARIANT_TRUE を = =)){…}}