2014-06-06 67 views
0

我想解鎖一個鎖定的ID2D1Bitmap我試過m_pBitmap1-> Release();但它似乎並不工作如何解鎖鎖定的位圖

hr = m_pBitmap1-> CopyFromRenderTarget(nullptr,m_pRenderTarget2,nullptr);給出訪問衝突錯誤:

「在dent_detection_sys.exe 0x00fb2a46未處理的異常:0xC0000005:訪問衝突讀取位置0x00000024」。

WICRect rcLock = { 0, 0, sc_bitmapWidth , sc_bitmapHeight }; 
IWICBitmapLock *pILock=NULL; 
hr =pWICBitmap->Lock(&rcLock, WICBitmapLockWrite, &pILock); 


hr=pRT->CreateSharedBitmap(
    IID_IWICBitmapLock, 
    static_cast<void *>(pILock), 
    &bp2, 
    &m_pBitmap1 
    ); 


hr=m_pBitmap1->Release(); 

hr=m_pBitmap1->CopyFromRenderTarget(nullptr, m_pRenderTarget2, nullptr); 

回答

0

當你不想再使用它時,你應該只釋放m_pBitmap1。

hr=m_pBitmap1->CopyFromRenderTarget(nullptr, m_pRenderTarget2, nullptr); 
hr=m_pBitmap1->Release(); 
1

要解鎖WIC位圖,釋放IWICBitmapLock:

pILock->Release();