HGLOBAL及與其相關的幾個函式的用法

2022-09-18 05:09:27 字數 971 閱讀 6160

hglobal

是windows定義的資料型別,是乙個控制代碼型別,表示乙個記憶體塊,這個記憶體塊通過globalalloc()函式分配,要通過globallock()才能獲得這個記憶體塊的指標,最後需要globalunlock()解鎖這個記憶體塊,通過globalfree()釋放這個記憶體使這個指標無效,下面我們分別介紹這幾個函式:

1.hglobal globalalloc(uint uflags,     dword dwbytes);

功能:申請一塊記憶體,第乙個引數是分配的屬性,第二個引數是分配的位元組數

返回:標示這塊記憶體的控制代碼

2.lpvoid globallock(hglobal hmem)

功能:傳入globalalloc()分配的記憶體的控制代碼獲得指向這塊記憶體的指標,引數是記憶體物件控制代碼

返回:值是指向記憶體物件首位元組指標

3.bool globalunlock(hglobal  hmem);

功能:傳入通過globallock()鎖定的記憶體塊的控制代碼,將其解鎖,使指向該記憶體的指標無效

返回:乙個布林值

注:globallock鎖定的記憶體,一定要用globalunlock解鎖

4.hgloba globalfree(hglobal  hmem);

功能:釋放經globalunlock()解鎖的記憶體塊,引數是該記憶體塊的控制代碼

返回:乙個布林值

hglobal hmemhandle = globalalloc(ghnd, 50 * sizeof(int));

int *p = (int *)globallock(hmemhandle);

globalunlock(hmemhandle);

globalfree(p)

通過globalalloc()開闢乙個新的記憶體區域,通過globallock()返回一指標指向此位址區域,通過指標完成對記憶體區域的操作,操作完成後,用globalunlock()此記憶體區域的控制代碼,最後globalfree()此指標...

RecyclerView及與其相關的類

getchildadapterposition view 獲取view在adapter中的position。getchildlayoutposition view 獲取view在layout中的position。大部分情況下,它與getchildadapterposition 是相同的。但是當新布局...

css相關的幾個點

點評 css li 去掉點的樣式寫法,其實就是利用css的list sytle樣式來實現的。li直接變色 li 關於這個list style type的一些語法與引數 語法 list style type disc circle square decimal lower roman upper ro...

MQTT介紹及與其他協議的比較

mqtt message queuing telemetry transport,訊息佇列遙測傳輸 一種針對移動終端裝置的基於tcp ip的發布 訂閱協議 可以連線大量的遠端感測器和控制裝置 mqtt的特點是可以保持長連線,具有一定的實時性 要保持長連線,那麼就要不時地傳送心跳包,這就不會省電 特點...