Platform SDK: Transaction Server |
ISharedPropertyGroup::CreatePropertyByPosition Method Example
[This product will work only on Windows NT 4.0 versions and earlier. For Windows 2000 and later, see COM+ (Component Services).]
#include <mtx.h> #include <mtxspm.h> IObjectContext* pObjectContext = NULL; ISharedPropertyGroupManager* pPropGpMgr = NULL; ISharedPropertyGroup* pPropGp = NULL; ISharedProperty* pPropNextNum = NULL; VARIANT_BOOL fAlreadyExists = VARIANT_FALSE; LONG lIsolationMode = LockMethod; LONG lReleaseMode = Process; BSTR stName; VARIANT vNext; LONG lNextValue = 0L; HRESULT hr = S_OK; hr = GetObjectContext(&pObjectContext); // Create the SharedPropertyGroupManager, // SharedPropertyGroup, and SharedProperty. hr = pObjectContext->CreateInstance (CLSID_SharedPropertyGroupManager, IID_ISharedPropertyGroupManager, (void**)&pPropGpMgr); stName = SysAllocString(L"Counter"); hr = pPropGpMgr->CreatePropertyGroup(stName, &lIsolationMode, &lReleaseMode, &fAlreadyExists, &pPropGp); SysFreeString(stName); hr = pPropGp->CreatePropertyByPosition (0, &fAlreadyExists, &pPropNextNum); // Get the next number and increment the counter. VariantInit(&vNext); vNext.vt = VT_I4; hr = pPropNextNum->get_Value(&vNext); lNextValue = vNext.lVal++; hr = pPropNextNum->put_Value(vNext);