ACCESS_MASK CNdasLogicalDevice::GetAllowingAccess() { ximeta::CAutoLock autolock(this); if (0 == GetUnitDeviceCount()) { return 0x00000000L; } ACCESS_MASK access(0xFFFFFFFFL); // // Any single missing entry will revoke all accesses // for (DWORD i = 0; i < GetUnitDeviceCount(); ++i) { CRefObjPtr<CNdasUnitDevice> pUnitDevice = GetUnitDevice(i); if (NULL == pUnitDevice.p) { return 0x00000000L; } access &= pUnitDevice->GetAllowingAccess(); } return access; }