WinCPICIsBlocking 函数用于确定是否正在执行任务,同时等待上一个阻塞调用完成。
语法
BOOL WINAPI WinCPICIsBlocking(void);
返回值
返回值指定函数的结果。 如果该值不为零,则有一个正在等待完成的阻塞调用。 值为零表示缺少未完成的阻塞调用。
注解
此调用不推断有关特定对话的任何信息;它仅用于为使用 Set_Processing_Mode CM_BLOCKING特征而编写的应用程序提供帮助。 WinCPICIsBlocking 在 Microsoft® Windows® API 中具有与 InSendMessage 相同的功能。 面向 Windows 版本 3.x 的旧版应用程序如果支持多个会话,必须在 Set_Processing_Mode 中指定 CM_NONBLOCKING,以便它们可以同时支持多个未完成的操作。 在所有环境中,每个会话的应用仍然只能有一个未完成的操作。
尽管对阻止函数发出的调用似乎与阻止应用程序一样,但 Windows CPI-C 动态链接库(DLL)必须放弃处理器以允许其他应用程序运行。 这意味着,发出阻止调用的应用程序可能会根据它收到的消息再次被调用。 在此实例中,WinCPICIsBlocking 可用于确定应用程序任务在等待未完成的阻塞调用完成期间是否已被重新进入。 请注意,Windows CPI-C 禁止每个线程多个未完成的阻塞调用。
另请参阅
Specify_Windows_Handle(CPI-C)
WinCPICSetBlockingHook
WinCPICUnhookBlockingHook