vmsSharedData::vmsSharedData(LPCSTR pszName, BOOL bOpenExisting, DWORD dwSize, DWORD dwDesiredAccess) { m_hFileMapping = NULL; m_pViewOfFile = NULL; if (pszName) Aquire (pszName, bOpenExisting, dwSize, dwDesiredAccess); }
KOMODIA_NAMESPACE_START CMutexAutoRelease::CMutexAutoRelease(CGenericMutex* pMutex, BOOL bLock, unsigned long ulMSTimeout) : m_pMutex(pMutex), m_ulEntryCount(0) { if (bLock) Aquire(ulMSTimeout); }
bool RegKeyOwnerDaclAquireRestoreRec::Aquire(HKEY hRootKey, LPCTSTR lpszSubKey) { XL_INFO_FUNCTION(); IRegKeyPrivilegeAquireRestore *pOwner = new RegKeyOwnerAquireRestore(); if (!pOwner->Aquire(hRootKey, lpszSubKey)) { XL_ERROR(_T("Failed to aquire Owner for Key: %s."), lpszSubKey); return false; } m_listAquireRestore.PushBack(pOwner); IRegKeyPrivilegeAquireRestore *pDacl = new RegKeyDaclAquireRestore(); if (!pDacl->Aquire(hRootKey, lpszSubKey)) { XL_ERROR(_T("Failed to aquire DACL for Key: %s."), lpszSubKey); return false; } m_listAquireRestore.PushBack(pDacl); xl::String strPath = lpszSubKey; xl::Array<xl::String> arrSubKeys; xl::Windows::Registry::EnumSubKey(hRootKey, strPath, &arrSubKeys); for (auto it = arrSubKeys.Begin(); it != arrSubKeys.End(); ++it) { if (!Aquire(hRootKey, (strPath + L"\\" + *it))) { return false; } } return true; }
RegKeyOwnerDaclAquireRestoreRec::RegKeyOwnerDaclAquireRestoreRec(HKEY hRootKey, LPCTSTR lpszSubKey) { Aquire(hRootKey, lpszSubKey); }