OpenSemaphore
OpenSemaphoreVB声明Declare Function OpenSemaphore Lib "kernel32" Alias "OpenSemaphoreA" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal lpName As String) As LongVC声明HANDLE OpenSemaphore(
DWORDdwDesiredAccess, // access
BOOLbInheritHandle, // inheritance option
LPCTSTRlpName// object name
);说明为现有的一个已命名信号机对象创建一个新句柄。返回值Long,如执行成功,返回对象句柄;零表示失败。会设置GetLastError。参数dwDesiredAccess Long,下述常数之一:
SEMAPHORE_ALL_ACCESS 要求对事件对象的完全访问;
SEMAPHORE_MODIFY_STATE 允许使用ReleaseSemaphore函数;
SYNCHRONIZE 允许同步使用信号机对象。
bInheritHandle Long,如果允许子进程继承句柄,则设为TRUE。
lpName String,指定要打开的对象的名字。注解一旦不再需要,注意一定要用CloseHandle关闭信号机句柄。如对象的所有句柄都已关闭,那么对象也会删除。