句柄和指針有什麼區別

句柄和指針有什麼區別

句柄實際上是一種指向某種資源的指針,但與指針又有所不同:指針對應着一個數據在內存中的地址,得到了指針就可以自由地修改該數據。Windows並不希望一般程序修改其內部數據結構,因爲這樣太不安全。所以Windows給每個使用GlobalAlloc等函數聲明的內存區域指定一個句柄,平時你只是在調用API函數時利用這個句柄來說明要操作哪段內存。當你需要對某個內存進行直接操作時,可以使用GlobalLock鎖住這段內存並獲得指針來直接進行操作。