您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ CopyMemory函数代码示例

51自学网 2021-06-01 20:13:50
  C++
这篇教程C++ CopyMemory函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中CopyMemory函数的典型用法代码示例。如果您正苦于以下问题:C++ CopyMemory函数的具体用法?C++ CopyMemory怎么用?C++ CopyMemory使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了CopyMemory函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: xf_rail_window_common

//.........这里部分代码省略.........		appWindow->clientOffsetY = windowState->clientOffsetY;	}	if (fieldFlags & WINDOW_ORDER_FIELD_CLIENT_AREA_SIZE)	{		appWindow->clientAreaWidth = windowState->clientAreaWidth;		appWindow->clientAreaHeight = windowState->clientAreaHeight;	}	if (fieldFlags & WINDOW_ORDER_FIELD_WND_CLIENT_DELTA)	{		appWindow->windowClientDeltaX = windowState->windowClientDeltaX;		appWindow->windowClientDeltaY = windowState->windowClientDeltaY;	}	if (fieldFlags & WINDOW_ORDER_FIELD_WND_RECTS)	{		if (appWindow->windowRects)		{			free(appWindow->windowRects);			appWindow->windowRects = NULL;		}		appWindow->numWindowRects = windowState->numWindowRects;		if (appWindow->numWindowRects)		{			appWindow->windowRects = (RECTANGLE_16*) calloc(appWindow->numWindowRects,			                         sizeof(RECTANGLE_16));			if (!appWindow->windowRects)				return FALSE;			CopyMemory(appWindow->windowRects, windowState->windowRects,			           appWindow->numWindowRects * sizeof(RECTANGLE_16));		}	}	if (fieldFlags & WINDOW_ORDER_FIELD_VIS_OFFSET)	{		appWindow->visibleOffsetX = windowState->visibleOffsetX;		appWindow->visibleOffsetY = windowState->visibleOffsetY;	}	if (fieldFlags & WINDOW_ORDER_FIELD_VISIBILITY)	{		if (appWindow->visibilityRects)		{			free(appWindow->visibilityRects);			appWindow->visibilityRects = NULL;		}		appWindow->numVisibilityRects = windowState->numVisibilityRects;		if (appWindow->numVisibilityRects)		{			appWindow->visibilityRects = (RECTANGLE_16*) calloc(			                                 appWindow->numVisibilityRects, sizeof(RECTANGLE_16));			if (!appWindow->visibilityRects)				return FALSE;			CopyMemory(appWindow->visibilityRects, windowState->visibilityRects,			           appWindow->numVisibilityRects * sizeof(RECTANGLE_16));		}	}
开发者ID:99455125,项目名称:FreeRDP,代码行数:67,


示例2: switch

//游戏场景bool CGameClientDlg::OnGameSceneMessage(BYTE cbGameStation, bool bLookonOther, const void * pBuffer, WORD wDataSize){	switch (cbGameStation)	{	case GS_FREE:		//空闲状态		{			//效验数据			if (wDataSize!=sizeof(CMD_S_StatusFree)) return false;			CMD_S_StatusFree * pStatusFree=(CMD_S_StatusFree *)pBuffer;			//设置控件			if (IsLookonMode()==false)			{				m_GameClientView.m_btStart.ShowWindow(SW_SHOW);				m_GameClientView.m_btStart.SetFocus();			}			//设置时间			if (IsLookonMode()==false) SetGameTimer(GetMeChairID(),IDI_START_GAME,30);			return true;		}	case GS_PLAYING:	//游戏状态		{			//效验数据			if (wDataSize!=sizeof(CMD_S_StatusPlay)) return false;			CMD_S_StatusPlay * pStatusPlay=(CMD_S_StatusPlay *)pBuffer;			//下注信息			m_lMaxScore=pStatusPlay->lMaxScore;			m_lCellScore=pStatusPlay->lCellScore;			m_lTurnMaxScore=pStatusPlay->lTurnMaxScore;			m_lTurnLessScore=pStatusPlay->lTurnLessScore;			CopyMemory(m_lTableScore,pStatusPlay->lTableScore,sizeof(m_lTableScore));			//状态变量			m_wCurrentUser=pStatusPlay->wCurrentUser;			m_bAddScore=(pStatusPlay->bAddScore==TRUE)?true:false;			m_bShowHand=(pStatusPlay->bShowHand==TRUE)?true:false;			CopyMemory(m_cbPlayStatus,pStatusPlay->cbPlayStatus,sizeof(m_cbPlayStatus));			//帐号名字			for (WORD i=0;i<GAME_PLAYER;i++)			{				const tagUserData * pUserData=GetUserData(i);				if (pUserData!=NULL) lstrcpyn(m_szAccounts[i],pUserData->szName,CountArray(m_szAccounts[i]));			}			//设置界面			LONG lTableScore=0L;			for (WORD i=0;i<GAME_PLAYER;i++)			{				//设置位置				WORD wViewChairID=SwitchViewChairID(i);				//设置扑克				if (m_cbPlayStatus[i]==TRUE) 				{					BYTE cbCardCount=pStatusPlay->cbCardCount[i];					m_GameClientView.m_CardControl[wViewChairID].SetCardData(pStatusPlay->cbHandCardData[i],cbCardCount);				}				lTableScore += m_lTableScore[2*i+1];				//筹码设置				m_GameClientView.m_PlayerJeton[wViewChairID].SetScore(m_lTableScore[2*i]);				//设置下注				m_GameClientView.SetUserTableScore(wViewChairID,m_lTableScore[2*i]+m_lTableScore[2*i+1]);			}			m_GameClientView.m_PlayerJeton[GAME_PLAYER].SetScore(lTableScore);			//			m_GameClientView.SetCellScore(m_lCellScore);			//玩家设置			if (IsLookonMode()==false) 			{				//控制设置				m_GameClientView.m_CardControl[2].SetPositively(true);				if (m_wCurrentUser==GetMeChairID()) UpdateScoreControl();			}			//设置定时器			SetGameTimer(m_wCurrentUser,IDI_USER_ADD_SCORE,TIME_USER_ADD_SCORE);			return true;		}	}	return false;}
开发者ID:Michael-Z,项目名称:qipai-game,代码行数:90,


示例3: DetourAttachEx

//.........这里部分代码省略.........                          pTrampoline->rAlign[n].obTrampoline                          ));        }        DETOUR_TRACE((" ]/n"));    }#endif    if (cbTarget < cbJump || nAlign > ARRAYSIZE(pTrampoline->rAlign)) {        // Too few instructions.        error = ERROR_INVALID_BLOCK;        if (s_fIgnoreTooSmall) {            goto stop;        }        else {            DETOUR_BREAK();            goto fail;        }    }    if (pbTrampoline > pbPool) {        __debugbreak();    }#if 0 // [GalenH]    if (cbTarget < pbTrampoline - pTrampoline->rbCode) {        __debugbreak();    }#endif    pTrampoline->cbCode = (BYTE)(pbTrampoline - pTrampoline->rbCode);    pTrampoline->cbRestore = (BYTE)cbTarget;    CopyMemory(pTrampoline->rbRestore, pbTarget, cbTarget);#if !defined(DETOURS_IA64)    if (cbTarget > sizeof(pTrampoline->rbCode) - cbJump) {        // Too many instructions.        error = ERROR_INVALID_HANDLE;        DETOUR_BREAK();        goto fail;    }#endif // !DETOURS_IA64    pTrampoline->pbRemain = pbTarget + cbTarget;    pTrampoline->pbDetour = (PBYTE)pDetour;#ifdef DETOURS_IA64#error Feature not supported in this release.
开发者ID:chikyukotei,项目名称:MESSAGEBOX-HOOK,代码行数:50,


示例4: CopyMemory

//-----------------------------------------------------------------------------// Name: CWaveFile::Read()// Desc: Reads section of data from a wave file into pBuffer and returns //       how much read in pdwSizeRead, reading not more than dwSizeToRead.//       This uses m_ck to determine where to start reading from.  So //       subsequent calls will be continue where the last left off unless //       Reset() is called.//-----------------------------------------------------------------------------HRESULT CPCMFile::Read( BYTE* pBuffer, DWORD dwSizeToRead, DWORD* pdwSizeRead ){    if( m_bIsReadingFromMemory )    {        if( m_pbDataCur == NULL )            return CO_E_NOTINITIALIZED;        if( pdwSizeRead != NULL )            *pdwSizeRead = 0;        if( (BYTE*)(m_pbDataCur + dwSizeToRead) >             (BYTE*)(m_pbData + m_ulDataSize) )        {            dwSizeToRead = m_ulDataSize - (DWORD)(m_pbDataCur - m_pbData);        }                CopyMemory( pBuffer, m_pbDataCur, dwSizeToRead );                if( pdwSizeRead != NULL )            *pdwSizeRead = dwSizeToRead;        return S_OK;    }    else     {        MMIOINFO mmioinfoIn; // current status of m_hmmio        if( m_hmmio == NULL )            return CO_E_NOTINITIALIZED;        if( pBuffer == NULL || pdwSizeRead == NULL )            return E_INVALIDARG;        if( pdwSizeRead != NULL )            *pdwSizeRead = 0;        if( 0 != mmioGetInfo( m_hmmio, &mmioinfoIn, 0 ) )            return DXTRACE_ERR( TEXT("mmioGetInfo"), E_FAIL );                        UINT cbDataIn = dwSizeToRead;        if( cbDataIn > m_ck.cksize )             cbDataIn = m_ck.cksize;               m_ck.cksize -= cbDataIn;        for( DWORD cT = 0; cT < cbDataIn; cT++ )        {            // Copy the bytes from the io to the buffer.            if( mmioinfoIn.pchNext == mmioinfoIn.pchEndRead )            {                if( 0 != mmioAdvance( m_hmmio, &mmioinfoIn, MMIO_READ ) )                    return DXTRACE_ERR( TEXT("mmioAdvance"), E_FAIL );                //if( mmioinfoIn.pchNext == mmioinfoIn.pchEndRead )                //    return DXTRACE_ERR( TEXT("mmioinfoIn.pchNext"), E_FAIL );            }            // Actual copy.            *((BYTE*)pBuffer+cT) = *((BYTE*)mmioinfoIn.pchNext);            mmioinfoIn.pchNext++;        }        if( 0 != mmioSetInfo( m_hmmio, &mmioinfoIn, 0 ) )            return DXTRACE_ERR( TEXT("mmioSetInfo"), E_FAIL );        if( pdwSizeRead != NULL )            *pdwSizeRead = cbDataIn;        return S_OK;    }}
开发者ID:JingPG2014,项目名称:576final,代码行数:77,


示例5: WndProc

//.........这里部分代码省略.........					for(i = 0 ; i < sizeof(ptWaveL)/sizeof(ptWaveL[0]) ; i++)						ptWaveL[i].y=250;		//center for wave drawn 195					if(wfe.nChannels == 2)						for(i=0 ; i<sizeof(ptWaveR)/sizeof(ptWaveR[0]) ; i++)							ptWaveR[i].y=250;	//center for wave drawn 195					play = FALSE;					rcMove.left = rcInfo[0].left;					wsprintf(strState, "ready");					KillTimer(hwnd, 1);					InvalidateRect(hwnd, &rcWave, FALSE);					InvalidateRect(hwnd, &rcInfo[0], FALSE);					InvalidateRect(hwnd, &rcInfo[1], FALSE);					InvalidateRect(hwnd, &rcInfo[3], FALSE);					return 0;				case WM_TIMER:					rcMove.left-= 1;					if(rcMove.left<-sizeFile.cx) rcMove.left = rcInfo[0].right;					waveOutGetPosition(hWaveOut, &mmTime, sizeof(MMTIME));					dwOffset = mmTime.u.cb;					iTimeCursor = (double)dwOffset/whdr.dwBufferLength*600;		//change Cursor coordinate					for(i = -612 ; i <= 612 ; i++) //-310 310					{			//
C++ CopyRect函数代码示例
C++ CopyMem函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。