请教:
我用该函数想设置剪贴板中的数据,只要一运行,就出现异常,异常处为          _munlock(_HEAP_LOCK);
下面是系统给出信息
HEAP[cadtocad.exe]: Heap block at 00172670 modified at 00172680 past requested size of 8
Windows 已在 cadtocad.exe 中触发一个断点。其原因可能是堆被损坏,这也说明 cadtocad.exe 中或它所加载的任何 DLL 中有 bug。输出窗口可能提供了更多诊断信息
程序“[1460] cadtocad.exe: 本机”已退出,返回值为 0 (0x0)。
代码如下:
void CcadtocadDlg::writeclip(CString s)
{
    CloseClipboard();
TCHAR * ch; 
//strcpy(ch,(LPSTR)(LPCTSTR) s); 
//ch=(LPTSTR)(LPCTSTR)s;
//s.ReleaseBuffer();
HANDLE clipbuffer;

//memcpy(lpSmpData,ch,50);  if(OpenClipboard())
{
/*HGLOBAL*/ clipbuffer = GlobalAlloc(GPTR,s.GetLength()); 
ch = (TCHAR*)GlobalLock(clipbuffer); 
wcscpy(ch,s);
EmptyClipboard();
//GlobalUnlock(clipbuffer);
SetClipboardData(CF_UNICODETEXT,clipbuffer);
}
GlobalUnlock(clipbuffer);
//GlobalFree(clipbuffer); }
多谢