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