关于GlobalLock和GlobalUnlock,该如何解决

关于GlobalLock和GlobalUnlock
在 < <windows程序设计> > 的第十二章的ClipText中


          case   WM_COMMAND:
                    switch   (LOWORD   (wParam))
                    {
                    case   IDM_EDIT_PASTE:
                              OpenClipboard   (hwnd)   ;

                              if   (hGlobal   =   GetClipboardData   (CF_TCHAR))
                              {
                                        pGlobal   =   GlobalLock   (hGlobal)   ;
                                        if   (pText)
                                        {
                                                  free   (pText)   ;
                                                  pText   =   NULL   ;
                                        }
                                        pText   =   malloc   (GlobalSize   (hGlobal))   ;
                                        lstrcpy   (pText,   pGlobal)   ;
                                        InvalidateRect   (hwnd,   NULL,   TRUE)   ;
                              }
                              CloseClipboard   ()   ;
                              return   0   ;
这里为什么在调用GlobalLock之后没调用GlobalUnlock来解锁,
望大牛们解答~~

------解决方案--------------------
这只是个示例程序,估计是忘了写了。
MSDN自己的示例中,同样的位置上有GlobalUnlock
------解决方案--------------------
1、也可能在别的地方调用了;
2、在释放之前先解锁,否则释放不了内存。
------解决方案--------------------
MSDN提示不能lock时间过长,有可能CloseClipboard中做了unlock,所以看不出明显区别。
不过,按照调用规范,还是自己unlock比较好。