这篇教程C++ Attach函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中Attach函数的典型用法代码示例。如果您正苦于以下问题:C++ Attach函数的具体用法?C++ Attach怎么用?C++ Attach使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了Attach函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: _ASSERT_VALID// Constructor. Initializes to a handle.ClsDC::ClsDC( HDC hDC ){ _ASSERT_VALID( hDC ); // Must be valid. // Clear handle. m_hDC = NULL; // Attach the handle. Attach( hDC ); // Add us to the global list. global_dc_list.AddHead( this );}
开发者ID:jcbaar,项目名称:ClassLib,代码行数:14,
示例2: GetWindowsDirectoryCSysImageList::CSysImageList(){ SHFILEINFO ssfi; TCHAR windir[MAX_PATH]; GetWindowsDirectory(windir, _countof(windir)); // MAX_PATH ok. HIMAGELIST hSystemImageList = (HIMAGELIST)SHGetFileInfo( windir, 0, &ssfi, sizeof ssfi, SHGFI_SYSICONINDEX | SHGFI_SMALLICON); Attach(hSystemImageList);}
开发者ID:chengn,项目名称:TortoiseGit,代码行数:13,
示例3: Attachvoid Transmogrify::Spawn(float duration, int targetUUID){ mDuration = duration; for (Explorer& e : Factory<Explorer>()) { // Only affects clients who are not the target if (e.mNetworkID->mUUID == targetUUID && !e.mNetworkID->mHasAuthority) { Attach(&e); } }}
开发者ID:igm-capstone,项目名称:capstone-game-cpp,代码行数:13,
示例4: getprotobynameSOCKET Socket::CreateSocket(int af,int type, const std::string& protocol){ struct protoent *p = NULL; SOCKET s;#ifdef ENABLE_POOL m_socket_type = type; m_socket_protocol = protocol;#endif if (protocol.size()) { p = getprotobyname( protocol.c_str() ); if (!p) { Handler().LogError(this, "getprotobyname", Errno, StrError(Errno), LOG_LEVEL_FATAL); SetCloseAndDelete();#ifdef ENABLE_EXCEPTIONS throw Exception(std::string("getprotobyname() failed: ") + StrError(Errno));#endif return INVALID_SOCKET; } } int protno = p ? p -> p_proto : 0; s = socket(af, type, protno); if (s == INVALID_SOCKET) { Handler().LogError(this, "socket", Errno, StrError(Errno), LOG_LEVEL_FATAL); SetCloseAndDelete();#ifdef ENABLE_EXCEPTIONS throw Exception(std::string("socket() failed: ") + StrError(Errno));#endif return INVALID_SOCKET; } Attach(s); OnOptions(af, type, protno, s); Attach(INVALID_SOCKET); return s;}
开发者ID:Omniasoft,项目名称:BellPi,代码行数:39,
示例5: AttachHRESULT Kernel::GetWaitChainInfo(WaitSnapshot& snapshot){ _pCurrentSnapshot = &snapshot; HRESULT hr = Attach(); if(SUCCEEDED(hr)) { snapshot.Initialize(_KProcess, _OSProcessId); hr = ProcessHandles(); hr = ProcessThreadWaitList(); } _pCurrentSnapshot = NULL; return hr;}
开发者ID:Sequential,项目名称:DebugInspector,代码行数:13,
示例6: LKASSERTvoid LKWindowSurface::Create(Window& Wnd){#ifdef WIN32 HWND hWnd = Wnd.Handle(); LKASSERT(hWnd); LKASSERT(::IsWindow(hWnd)); if(!Attach(::GetDC(hWnd))) { LKASSERT(false); }#else _pCanvas = new WindowCanvas(Wnd);#endif}
开发者ID:SergioDaSilva82,项目名称:LK8000,代码行数:13,
示例7: switch// open the filebool wxFile::Open(const wxChar *szFileName, OpenMode mode, int accessMode){ int flags = O_BINARY; switch ( mode ) { case read: flags |= O_RDONLY; break; case write_append: if ( wxFile::Exists(szFileName) ) { flags |= O_WRONLY | O_APPEND; break; } //else: fall through as write_append is the same as write if the // file doesn't exist case write: flags |= O_WRONLY | O_CREAT | O_TRUNC; break; case write_excl: flags |= O_WRONLY | O_CREAT | O_EXCL; break; case read_write: flags |= O_RDWR; break; }#ifdef __WINDOWS__ // only read/write bits for "all" are supported by this function under // Windows, and VC++ 8 returns EINVAL if any other bits are used in // accessMode, so clear them as they have at best no effect anyhow accessMode &= wxS_IRUSR | wxS_IWUSR;#endif // __WINDOWS__ int fd = wxOpen( szFileName, flags ACCESS(accessMode)); if ( fd == -1 ) { wxLogSysError(_("can't open file '%s'"), szFileName); return false; } else { Attach(fd); return true; }}
开发者ID:gitrider,项目名称:wxsj2,代码行数:52,
示例8: Close Handle& Handle::operator=(Handle& h) { if (mHandle_ != h) { if (NULL != mHandle_) { Close(); } Attach(h.Detach()); } return *this; }
开发者ID:crezul,项目名称:my-self-education-sync-lib,代码行数:14,
示例9: Attach///////////////////////////////////////////////////////////////////////////////// AttachFromVariant: Attach a Variant SafeArraybool CSafeArrayHelper::AttachFromVariant(VARIANT* pVariant){ if (NULL != pVariant) { if (pVariant->vt & VT_ARRAY) { LPSAFEARRAY psa = pVariant->parray; if (pVariant->vt & VT_BYREF) // VB use this... psa = *pVariant->pparray; return Attach( psa ); } } return false;}
开发者ID:Spritutu,项目名称:AiPI-1,代码行数:16,
示例10: parentMatrixDemoEntity::DemoEntity(DemoEntityManager& world, const dScene* scene, dScene::dTreeNode* rootSceneNode, dTree<DemoMesh*, dScene::dTreeNode*>& meshCache, DemoEntityManager::EntityDictionary& entityDictionary, DemoEntity* parent) :dClassInfo() ,dHierarchy<DemoEntity>() ,m_matrix(GetIdentityMatrix()) ,m_curPosition (0.0f, 0.0f, 0.0f, 1.0f) ,m_nextPosition (0.0f, 0.0f, 0.0f, 1.0f) ,m_curRotation (1.0f, 0.0f, 0.0f, 0.0f) ,m_nextRotation (1.0f, 0.0f, 0.0f, 0.0f) ,m_lock (0) ,m_mesh (NULL){ // add this entity to the dictionary entityDictionary.Insert(this, rootSceneNode); // if this is a child mesh set it as child of th entity dMatrix parentMatrix (GetIdentityMatrix()); if (parent) { Attach (parent); dScene::dTreeNode* parentNode = scene->FindParentByType(rootSceneNode, dSceneNodeInfo::GetRttiType()); dSceneNodeInfo* parentInfo = (dSceneNodeInfo*) parentNode; parentMatrix = parentInfo->GetTransform(); } dSceneNodeInfo* info = (dSceneNodeInfo*) scene->GetInfoFromNode (rootSceneNode);// SetMatrix(info->GetTransform() * parentMatrix.Inverse4x4()); dMatrix matrix (info->GetTransform() * parentMatrix.Inverse4x4()); dQuaternion rot (matrix); // set the matrix twice in oder to get cur and next position SetMatrix(world, rot, matrix.m_posit); SetMatrix(world, rot, matrix.m_posit); // if this node has a mesh, find it and attach it to this entity dScene::dTreeNode* meshNode = scene->FindChildByType(rootSceneNode, dMeshNodeInfo::GetRttiType()); if (meshNode) { DemoMesh* mesh = meshCache.Find(meshNode)->GetInfo(); SetMesh(mesh); } // add all of the children nodes as child nodes for (void* child = scene->GetFirstChild(rootSceneNode); child; child = scene->GetNextChild (rootSceneNode, child)) { dScene::dTreeNode* node = scene->GetNodeFromLink(child); dNodeInfo* info = scene->GetInfoFromNode(node); if (info->GetTypeId() == dSceneNodeInfo::GetRttiType()) { new DemoEntity (world, scene, node, meshCache, entityDictionary, this); } }}
开发者ID:Naddiseo,项目名称:Newton-Dynamics-fork,代码行数:50,
示例11: Create __checkReturn HRESULT Create(__in DWORD threadCount) { Attach(::CreateIoCompletionPort(INVALID_HANDLE_VALUE, 0, // no existing port 0, // ignored threadCount)); if (0 == m_h) { return HRESULT_FROM_WIN32(::GetLastError()); } return S_OK; }
开发者ID:daewoolanos,项目名称:gwca,代码行数:14,
示例12: xSemaphoreCreateMutexbool CMutex::Create() {#if ( configUSE_MUTEXES == 1 ) SemaphoreHandle_t handle; handle = xSemaphoreCreateMutex(); if (handle != NULL) Attach(handle);#endif return IsValid();}
开发者ID:dessel,项目名称:stf12,代码行数:14,
示例13: AttachBlackOfScreen /////////////////////////////////////////////////////////////////////// /// Function: AttachBlackOfScreen /// /// Author: $author$ /// Date: 2/8/2013 /////////////////////////////////////////////////////////////////////// virtual XosError AttachBlackOfScreen(Screen* xScreen, bool onlyFreed=false) { XosError error = XOS_ERROR_FAILED; XosError error2; if ((error2 = Freed(onlyFreed))) return error2; if ((xScreen)) { Attach(XBlackPixelOfScreen(xScreen)); error = XOS_ERROR_NONE; } return error; }
开发者ID:medusade,项目名称:mxde,代码行数:20,
示例14: Printfint ProfilerHandler::Load() { amx_path_ = fileutils::ToUnixPath(amx_path_finder_->Find(amx())); amx_name_ = fileutils::GetDirectory(amx_path_) + "/" + fileutils::GetBaseName(amx_path_); if (amx_path_.empty()) { Printf("Could not find AMX file (try setting AMX_PATH?)"); } if (ShouldBeProfiled(amx_path_)) { Attach(); } return AMX_ERR_NONE;}
开发者ID:Zeex,项目名称:samp-plugin-profiler,代码行数:14,
示例15: Initialize HRESULT Initialize(PCWSTR serverName, INTERNET_PORT portNumber, const WinHttpSession& session) { if (!Attach(::WinHttpConnect(session.m_handle, serverName, portNumber, 0))) // reserved { return HRESULT_FROM_WIN32(::GetLastError()); } return S_OK; }
开发者ID:vit2000005,项目名称:happy_trader,代码行数:14,
示例16: REFCOUNT_ADDSelectionKeyImpl::SelectionKeyImpl( /* [in] */ IAbstractSelectableChannel* channel, /* [in] */ Int32 ops, /* [in] */ IObject* attachment, /* [in] */ IAbstractSelector* selector){ REFCOUNT_ADD(channel); this->mChannel = channel; this->mInterestOps = ops; REFCOUNT_ADD(selector); this->mSelector = selector; AutoPtr<IObject> tempObj; Attach(attachment, (IObject**)&tempObj);}
开发者ID:TheTypoMaster,项目名称:ElastosRDK5_0,代码行数:14,
示例17: Attachvoid UdpSocket::SendToBuf(SocketAddress& ad, const char *data, int len, int flags){ if (GetSocket() == INVALID_SOCKET) { Attach(CreateSocket(ad.GetFamily(), SOCK_DGRAM, "udp")); } if (GetSocket() != INVALID_SOCKET) { SetNonblocking(true); if ((m_last_size_written = sendto(GetSocket(), data, len, flags, ad, ad)) == -1) { Handler().LogError(this, "sendto", Errno, StrError(Errno), LOG_LEVEL_ERROR); } }}
开发者ID:f059074251,项目名称:interested,代码行数:15,
示例18: CreateWindowEx BOOL CULDateTimePicker::Create(HWND hParentWnd,WORD wID,int x,int y,int cx,int cy,DWORD dwStyle) { m_hWnd = CreateWindowEx(0, DATETIMEPICK_CLASS, NULL, dwStyle, x,y,cx,cy, hParentWnd, (HMENU)wID, ULOther::ULGetResourceHandle(), this); if(!m_hWnd) return FALSE; return Attach(m_hWnd); }
开发者ID:piroxiljin,项目名称:ullib,代码行数:15,
示例19: IsValidBOOL CVisualBoyHandler::RefreshAddressList(VOID){ BOOL bResult = IsValid(); if(!bResult) { bResult = Attach(); } else { bResult = SearchForPtrStruct(); } return bResult;}
开发者ID:h16o2u9u,项目名称:rtoss,代码行数:15,
示例20: CBlockEvalStateSemanticsCBlockEvaluator::CBlockEvaluator(FlwNode * pNd, DWORD Options, CReactionBase * pRB, CHXBase *pHX, CEnvironHXBase * pEHX, CVLEBase * pVLE, CEvapBase * pEvap) : CBlockEvalStateSemantics(false) { m_pNd = pNd; m_Options = Options; //m_bAllowStateSemantics = false; Attach((Options & BEO_StateSemantics)!=0, pRB, pHX, pEHX, pVLE, pEvap); };
开发者ID:ChrisMoreton,项目名称:Test3,代码行数:15,
示例21: ENSURE//*******************************************************************************BOOL CMPCPngImage::LoadFromFile(LPCTSTR lpszPath){ BOOL bRes = FALSE; if (m_pImage == nullptr) { m_pImage = DEBUG_NEW CImage; ENSURE(m_pImage != nullptr); } if (m_pImage->Load(lpszPath) == S_OK) { bRes = Attach(m_pImage->Detach()); } return bRes;}
开发者ID:Murder66,项目名称:mpc-hc-master,代码行数:16,
示例22: ASSERTvoid COleDataObject::EnsureClipboardObject(){ ASSERT(AfxIsValidAddress(this, sizeof(COleDataObject))); if (m_bClipboard && m_lpDataObject == NULL) { // get clipboard using OLE API LPDATAOBJECT lpDataObject; SCODE sc = ::OleGetClipboard(&lpDataObject); // attach COleDataObject wrapper to IDataObject from clipboard if (sc == S_OK) Attach(lpDataObject, TRUE); }}
开发者ID:rickerliang,项目名称:OpenNT,代码行数:15,
示例23: DetachcDevice *cServerConnection::GetDevice(const cChannel *Channel, int Priority) { // turn off the streams of this connection Detach(); // This call may detach receivers of the device it returns cDevice *device = cDevice::GetDevice(Channel, Priority, false); if (device && !device->IsTunedToTransponder(Channel) && UsedByLiveTV(device)) { // now we would have to switch away live tv...let's see if live tv // can be handled by another device#if VDRVERSNUM >= 10516 cDevice::SetAvoidDevice(device); if (!Channels.SwitchTo(cDevice::CurrentChannel())) { if (StreamdevServerSetup.SuspendMode == smAlways) { Channels.SwitchTo(Channel->Number()); Skins.QueueMessage(mtInfo, tr("Streaming active")); } else { dsyslog("streamdev: GetDevice: Live TV not suspended"); device = NULL; } }#else const cChannel *current = Channels.GetByNumber(cDevice::CurrentChannel()); cDevice *newdev = current ? CheckDevice(current, 0, true, device) : NULL; if (newdev) { dsyslog("streamdev: GetDevice: Trying to move live TV to device %d", newdev->CardIndex()); newdev->SwitchChannel(current, true); } else if (StreamdevServerSetup.SuspendMode == smAlways) { Channels.SwitchTo(Channel->Number()); Skins.QueueMessage(mtInfo, tr("Streaming active")); } else { dsyslog("streamdev: GetDevice: Live TV not suspended"); device = NULL; }#endif } if (!device) { // can't switch - continue the current stream Attach(); dsyslog("streamdev: GetDevice failed for channel %d (%s) at priority %d (PrimaryDevice=%d, ActualDevice=%d)", Channel->Number(), Channel->Name(), Priority, cDevice::PrimaryDevice()->CardIndex(), cDevice::ActualDevice()->CardIndex()); } return device;}
开发者ID:mikkom,项目名称:streamdev-cvsimport,代码行数:48,
示例24: Wish_Asset_LoadTexturevoid VoxelTerrain::OnUpdate(){ //Make some chunks if (m_vChunks.size() == 0) { Wish_Asset_LoadTexture("wald", "./data/textures/wald.png"); for (size_t x = 0; x < 8; x++) { for (size_t y = 0; y < 8; y++) { VoxelChunk* pChunk = new VoxelChunk(x, y); m_vChunks.push_back(0); Attach(pChunk); printf("Attached transform."); pChunk->Build(); } } }}
开发者ID:Meanz,项目名称:WishEngine,代码行数:16,
示例25: Attachvoid TaskManager::UpdateProcesses(Uint32 deltaMs){ TaskPtr next; for (auto current : task_list) { if (current->IsDead()) { next = current->GetNext(); if (next) { current->SetNext(TaskPtr(nullptr)); Attach(next); } Detach(current); } else if (current->IsActive() && !current->IsPaused()) { current->OnUpdate(deltaMs); } }}
开发者ID:stephenap07,项目名称:sp_engine,代码行数:16,
示例26: GetContext void TerminalDisplay::DisplayInfo(const std::vector<std::string>& Options) { char infoColIdx = 0; if (GetContext()->GetColorizer()) { infoColIdx = GetContext()->GetColorizer()->GetInfoColor(); } WriteRawString("/n", 1); for (size_t i = 0, n = Options.size(); i < n; ++i) { Text t(Options[i], infoColIdx); WriteWrappedElement(t, 0, 0, (size_t) -1); WriteRawString("/n", 1); } // Reset position Detach(); Attach(); }
开发者ID:0x0all,项目名称:ROOT,代码行数:16,
示例27: AttachFX_BOOL CFX_QuartzDevice::Create(FX_INT32 width, FX_INT32 height, FXDIB_Format format){ if ((FX_BYTE)format < 32) { return FALSE; } CFX_DIBitmap* pBitmap = FX_NEW CFX_DIBitmap; if (!pBitmap) { return FALSE; } if (!pBitmap->Create(width, height, format)) { delete pBitmap; return FALSE; } m_bOwnedBitmap = TRUE; return Attach(pBitmap);}
开发者ID:151706061,项目名称:PDFium,代码行数:16,
示例28: m_world// Constructor.SpaceVisualizer::SpaceVisualizer(beScene::ResourceManager &resources, beScene::EffectDrivenRenderer &renderer) : m_world( new_resource bees::World("WidgetWorld") ), m_simulation( new_resource bees::Simulation("WidgetSimulation") ){ m_data[WidgetType::Arrow] = createWidgetData("Static/UI/TranslateWidget.mesh", "Materials/Widget.fx", "", resources, renderer); m_data[WidgetType::Circle] = createWidgetData("Static/UI/RotateWidget.mesh", "Materials/Widget.fx", "DARKEN_SPHERE_BACK", resources, renderer); m_data[WidgetType::Plug] = createWidgetData("Static/UI/ScaleWidget.mesh", "Materials/Widget.fx", "", resources, renderer); m_scene = new besc::RenderingController(renderer.Pipeline, nullptr); m_world->Controllers().AddControllerKeep(m_scene); m_meshes = besc::CreateMeshControllers(&m_world->PersistentIDs()).detach(); m_world->Controllers().AddControllerKeep(m_meshes); Attach(m_world, m_simulation);}
开发者ID:gamedevtech,项目名称:breeze-2,代码行数:17,
示例29: switchvoid CInventoryItem::OnEvent (NET_Packet& P, u16 type){ switch (type) { case GE_ADDON_ATTACH: { u32 ItemID; P.r_u32 (ItemID); CInventoryItem* ItemToAttach = smart_cast<CInventoryItem*>(Level().Objects.net_Find(ItemID)); if (!ItemToAttach) break; Attach(ItemToAttach,true); CActor* pActor = smart_cast<CActor*>(object().H_Parent()); if (pActor && pActor->inventory().ActiveItem() == this) { pActor->inventory().SetPrevActiveSlot(pActor->inventory().GetActiveSlot()); pActor->inventory().Activate(NO_ACTIVE_SLOT); } }break; case GE_ADDON_DETACH: { string64 i_name; P.r_stringZ (i_name); Detach(i_name, true); CActor* pActor = smart_cast<CActor*>(object().H_Parent()); if (pActor && pActor->inventory().ActiveItem() == this) { pActor->inventory().SetPrevActiveSlot(pActor->inventory().GetActiveSlot()); pActor->inventory().Activate(NO_ACTIVE_SLOT); }; }break; case GE_CHANGE_POS: { Fvector p; P.r_vec3(p); CPHSynchronize* pSyncObj = NULL; pSyncObj = object().PHGetSyncItem(0); if (!pSyncObj) return; SPHNetState state; pSyncObj->get_State(state); state.position = p; state.previous_position = p; pSyncObj->set_State(state); }break; }}
开发者ID:OLR-xray,项目名称:XRay-NEW,代码行数:47,
示例30: mainint main(int argc, char *argv[]){ HIJACK *hijack; FUNC *func; unsigned long addr; PLT *plts, *plt; if (argc != 2) usage(argv[0]); hijack = InitHijack(); ToggleFlag(hijack, F_DEBUG); ToggleFlag(hijack, F_DEBUG_VERBOSE); AssignPid(hijack, atoi(argv[1])); if (Attach(hijack) != ERROR_NONE) { fprintf(stderr, "[-] Couldn't attach!/n"); exit(EXIT_FAILURE); } if (LocateAllFunctions(hijack) != ERROR_NONE) { fprintf(stderr, "[-] Couldn't locate all functions!/n"); exit(EXIT_FAILURE); } if (LocateSystemCall(hijack) != ERROR_NONE) { fprintf(stderr, "[-] Couldn't locate system call!/n"); exit(EXIT_FAILURE); } addr = MapMemory(hijack, NULL, 8192, PROT_READ | PROT_WRITE | PROT_EXEC, MAP_ANON | MAP_SHARED); if (GetErrorCode(hijack) != ERROR_NONE) { fprintf(stderr, "[-] %s/n", GetErrorString(hijack)); perror("ptrace"); } printf("[*] PLT/GOT @ 0x%016lx/n", hijack->pltgot); printf("[*] Baseaddr @ 0x%016lx/n", hijack->baseaddr); printf("[*] Syscall @ 0x%016lx/n", hijack->syscalladdr); printf("[*] addr @ 0x%016lx/n", addr); Detach(hijack); return 0;}
开发者ID:0xDEC0DE8,项目名称:libhijack,代码行数:47,
注:本文中的Attach函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ AttachChild函数代码示例 C++ AtomicString函数代码示例 |