这篇教程C++ ATLASSERT函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中ATLASSERT函数的典型用法代码示例。如果您正苦于以下问题:C++ ATLASSERT函数的具体用法?C++ ATLASSERT怎么用?C++ ATLASSERT使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了ATLASSERT函数的16个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: GetRegister /// returns processor register BYTE GetRegister(RegisterID enRegisterID) { ATLASSERT(enRegisterID <= regLast); return m_abRegister[enRegisterID]; }
开发者ID:vividos,项目名称:OldStuff,代码行数:6,
示例2: ATLASSERTBOOL CNBLogicalDevice::InitConnectionInfo(PNDASCOMM_CONNECTION_INFO ci, BOOL bWriteAccess){ ATLASSERT(m_mapUnitDevices.size()); return PrimaryUnitDevice()->InitConnectionInfo(ci, bWriteAccess);}
开发者ID:tigtigtig,项目名称:ndas4windows,代码行数:6,
示例3: ThreadProcDWORD CALLBACK ThreadProc(PVOID pv){ HANDLE hEvent = *(PHANDLE)pv; HANDLE hEvents[PIPES]; OVERLAPPEDEX Ovlxs[PIPES]; SID_IDENTIFIER_AUTHORITY sia = SECURITY_WORLD_SID_AUTHORITY; PSID psid = NULL; ATLASSERT(::AllocateAndInitializeSid( &sia, 1, SECURITY_WORLD_RID, 0, 0, 0, 00, 0, 0, 0, &psid)); EXPLICIT_ACCESS ea = { 0 }; ea.grfAccessPermissions = FILE_ALL_ACCESS; ea.grfAccessMode = SET_ACCESS; ea.grfInheritance = NO_INHERITANCE; ea.Trustee.TrusteeForm = TRUSTEE_IS_SID; ea.Trustee.TrusteeType = TRUSTEE_IS_WELL_KNOWN_GROUP; ea.Trustee.ptstrName = (LPTSTR)psid; PACL pacl = NULL; ATLASSERT(::SetEntriesInAcl(1, &ea, NULL, &pacl) == ERROR_SUCCESS); PSECURITY_DESCRIPTOR psd = ::LocalAlloc(LPTR, SECURITY_DESCRIPTOR_MIN_LENGTH); ATLASSERT(::InitializeSecurityDescriptor(psd, SECURITY_DESCRIPTOR_REVISION)); ATLASSERT(::SetSecurityDescriptorDacl(psd, TRUE, pacl, FALSE)); SECURITY_ATTRIBUTES sa = { 0 }; sa.nLength = sizeof(SECURITY_ATTRIBUTES); sa.lpSecurityDescriptor = psd; sa.bInheritHandle = FALSE; for (int i = 0; i < PIPES; i++) { ZeroMemory(&Ovlxs[i], sizeof(OVERLAPPEDEX)); Ovlxs[i].hPipe = (CHandle)::CreateNamedPipe( NAMED_PIPE, PIPE_ACCESS_INBOUND | FILE_FLAG_OVERLAPPED, PIPE_WAIT | PIPE_READMODE_MESSAGE | PIPE_TYPE_MESSAGE, PIPES, BUF_SIZE, BUF_SIZE, 2500, &sa); //::_tprintf(_T("CreateNamedPipe(): %ld/n"), ::GetLastError()); ATLASSERT(Ovlxs[i].hPipe != INVALID_HANDLE_VALUE); hEvents[i] = Ovlxs[i].Ovl.hEvent = ::CreateEvent(NULL, TRUE, FALSE, NULL); //::_tprintf(_T("CreateEvent(): %ld/n"), ::GetLastError()); ATLASSERT(hEvents[i] != NULL); ATLASSERT(::ConnectNamedPipe(Ovlxs[i].hPipe, (LPOVERLAPPED)&Ovlxs[i]) == 0); //::_tprintf(_T("ConnectNamedPipe(): %ld/n"), ::GetLastError()); ATLASSERT(::GetLastError() == ERROR_IO_PENDING); } ::SetEvent(hEvent); TCHAR szBuf[BUF_SIZE]; while (::_tcscmp(szBuf, _T("QUIT"))) { //::_tprintf(_T("Connecting.../n")); DWORD dwIndex = ::WaitForMultipleObjects(PIPES, hEvents, FALSE, INFINITE) - WAIT_OBJECT_0; //::_tprintf(_T("Connected./n")); DWORD dwBytes = 0; BOOL bRes = ::GetOverlappedResult(Ovlxs[dwIndex].hPipe, (LPOVERLAPPED)&Ovlxs[dwIndex], &dwBytes, FALSE); bRes = ::ReadFile(Ovlxs[dwIndex].hPipe, szBuf, sizeof(szBuf), &dwBytes, NULL); if (bRes && dwBytes > 0) ::_tprintf(_T("[%s]/n"), szBuf); ATLASSERT(::DisconnectNamedPipe(Ovlxs[dwIndex].hPipe)); ATLASSERT(::ConnectNamedPipe(Ovlxs[dwIndex].hPipe, (LPOVERLAPPED)&Ovlxs[dwIndex]) == 0); ATLASSERT(::GetLastError() == ERROR_IO_PENDING); } for (int i = 0; i < PIPES; i++) { ::DisconnectNamedPipe(Ovlxs[i].hPipe); ::CloseHandle(Ovlxs[i].Ovl.hEvent); } ::FreeSid(psid);//.........这里部分代码省略.........
开发者ID:dranger003,项目名称:Win32ConsoleApplication10,代码行数:101,
示例4: ATLTRACESTDMETHODIMP CCUBRIDRowset::DeleteRows(HCHAPTER hReserved, DBCOUNTITEM cRows, const HROW rghRows[], DBROWSTATUS rgRowStatus[]){ ATLTRACE(atlTraceDBProvider, 2, "CCUBRIDRowset::DeleteRows/n"); ClearError(); if(m_nStatus==1) return RaiseError(E_UNEXPECTED, 1, __uuidof(IRowsetChange), L"This object is in a zombie state"); CHECK_UPDATABILITY(DBPROPVAL_UP_DELETE); if(cRows==0) return S_OK; if(rghRows==NULL && cRows>=1) return RaiseError(E_INVALIDARG, 0, __uuidof(IRowsetChange)); // Determine if we're in immediate or deferred mode bool bDeferred = IsDeferred(this); int hConn = GetSessionPtr()->GetConnection(); UINT uCodepage = GetSessionPtr()->GetCodepage(); BOOL bSuccess = false; BOOL bFailed = false; for(DBCOUNTITEM i=0;i<cRows;i++) { HROW hRow = rghRows[i]; // Attempt to locate the row in our map CCUBRIDRowsetRow *pRow; { bool bFound = m_rgRowHandles.Lookup((ULONG)hRow, pRow); if(!bFound || pRow==NULL) { // invalid handle bFailed = true; if(rgRowStatus) rgRowStatus[i] = DBROWSTATUS_E_INVALID; continue; } } if(pRow->m_status==DBPENDINGSTATUS_DELETED) { // already deleted if(rgRowStatus) rgRowStatus[i] = DBROWSTATUS_E_DELETED; bFailed = true; continue; } ATLASSERT( pRow->m_iRowset==(ULONG)-1 || pRow->m_iRowset<m_rgRowData.GetCount() ); DBROWSTATUS rowStat = DBROWSTATUS_S_OK; // mark the row as deleted if(pRow->m_status==DBPENDINGSTATUS_INVALIDROW) { bFailed = true; // unsigned high bit signified neg. number if(pRow->m_dwRef & 0x80000000) rowStat = DBROWSTATUS_E_INVALID; else rowStat = DBROWSTATUS_E_DELETED; } else if(pRow->m_iRowset==(ULONG)-1 && pRow->m_status!=DBPENDINGSTATUS_NEW) { // C++ ATLTRACE函数代码示例 C++ ATL函数代码示例
|