CreateMutex |
VB聲明 |
|
Declare Function CreateMutex Lib "kernel32" Alias "CreateMutexA" (lpMutexAttributes As SECURITY_ATTRIBUTES, ByVal bInitialOwner As Long, ByVal lpName As String) As Long |
|
說明 |
|
創(chuàng)建一個互斥體(MUTEX) |
|
返回值 |
|
Long,如執(zhí)行成功,就返回互斥體對象的句柄;零表示出錯。會設(shè)置GetLastError。即使返回的是一個有效句柄,但倘若指定的名字已經(jīng)存在,GetLastError也會設(shè)為ERROR_ALREADY_EXISTS |
|
參數(shù)表 |
|
參數(shù) |
類型及說明 |
lpMutexAttributes |
SECURITY_ATTRIBUTES,指定一個SECURITY_ATTRIBUTES結(jié)構(gòu),或傳遞零值(將參數(shù)聲明為ByVal As Long,并傳遞零值),表示使用不允許繼承的默認描述符 |
bInitialOwner |
Long,如創(chuàng)建進程希望立即擁有互斥體,則設(shè)為TRUE。一個互斥體同時只能由一個線程擁有 |
lpName |
String,指定互斥體對象的名字。用vbNullString創(chuàng)建一個未命名的互斥體對象。如已經(jīng)存在擁有這個名字的一個事件,則打開現(xiàn)有的已命名互斥體。這個名字可能不與現(xiàn)有的事件、信號機、可等待計時器或文件映射相符 |
注解 |
|
一旦不再需要,注意必須用CloseHandle函數(shù)將互斥體句柄關(guān)閉。從屬于它的所有句柄都被關(guān)閉后,就會刪除對象 進程中止前,一定要釋放互斥體,如不慎未采取這個措施,就會將這個互斥體標(biāo)記為廢棄,并自動釋放所有權(quán)。共享這個互斥體的其他應(yīng)用程序也許仍然能夠用它,但會接收到一個廢棄狀態(tài)信息,指出上一個所有進程未能正常關(guān)閉。這種狀況是否會造成影響取決于涉及到的具體應(yīng)用程序 |
Top |