字体
第(3/5)页
关灯
   存书签 书架管理 返回目录
  );

    函数中主要参数的意义如下。

    ? lpSemaphoreAttributes:指定SECURITY_ATTRIBUTES 结构的指针。决定返回的句柄

    是否可以被子进程继承。如果lpSemaphoreAttributes 为空,则句柄不能被继承。

    ? lInitialCount:指定Semaphore 对象的初始计数值。该值必须大于或等于零并小于或等

    于lMaximumCount。

    ? lMaximumCount:指定Semaphore 对象的最大数目。必须大于零。

    ? lpNcom:Semaphore 对象的名称。字符串的最大长度为MAX_PATH 个字符。字符串

    区分大小写。

    (2)OpenSemaphore

    函数OpenSemaphore 用来打开一个存在的有名称的Semaphore 对象。如果调用成功,返

    回打开的对象的句柄。反之则返回空值。它的函数原型如下:

    HANDLE OpenSemaphore(

    DWORD dwDesiredAccess,

    枫叶文学网www.fywxw.com

    Visual C++ 6.0 程序设计从入门到精通

    ·242·

    BOOL bInheritHandle,

    LPCTSTR lpNcom

    );

    函数中主要参数的意义如下。

    ? dwDesiredAccess:指定想要对Semaphore 对象所作的访问。可以是下面值的任意组合:

    · SEMAPHORE_ALL_ACCESS:可以对对象做任何访问。

    · SEMAPHORE_MODIFY_STATE:允许在ReleaseSemaphore 中修改对象的数目。

    · SYNCHRONIZE:允许任何等待函数使用Semaphore 对象。

    ? bInheritHandle:指定返回的句柄是否可以被继承。

    ? lpNcom:要打开对象的句柄。

    (3)ReleaseSemaphore

    函数ReleaseSemaphore 给指定的Semaphore 对象增加指定的数量。如果调用成功,返回

    非零值。反之,返回零。它的函数原型如下:

    BOOL ReleaseSemaphore(

    HANDLE hSemaphore,

    LONG lReleaseCount,

    LPLONG lpPreviousCount

    );

    函数中主要参数的意义如下:

    ? hSemaphore:Semaphore 对象的句柄。

    ? lReleaseCount:指定要增加的值。必须大于零。如果指定的值会引起Semaphore 的数

    目超过最大值,则函数返回FALSE。

    ? lpPreviousCount:存储Semaphore 对象增加之前的数目。如果不需要,则该参数可以

    为空。

    (4)CSemaphore

    Semaphore 在MFC 中的相应的类是CSemaphore。CSemaphore 通过构造函数创建一个信

   
上一页 目录 下一页