다음을 통해 공유


WinCPICSetBlockingHook

WinCPICSetBlockingHook 함수를 사용하면 Microsoft® Windows® CPI-C(Common Programming Interface for Communications) 구현이 새 함수를 통해 CPI-C 함수 호출을 차단할 수 있습니다. 이 레거시 호출은 Microsoft® Windows® 버전 3에서 사용되었습니다. 시스템의 나머지 부분을 차단하지 않고 차단 호출을 만드는 x 애플리케이션입니다. 기본적으로 Microsoft Windows 운영 체제에서 차단 호출은 요청이 완료될 때까지 호출 애플리케이션 스레드를 일시 중단합니다.

매개 변수

lpBlockFunc
설치할 차단 함수의 프로시저 instance 주소를 지정합니다.

반환 값

반환 값은 이전에 설치된 차단 함수의 프로시저 instance 가리킵니다. WinCPICSetBlockingHook를 호출하는 애플리케이션 또는 라이브러리는 필요한 경우 복원할 수 있도록 이 반환 값을 저장해야 합니다. (중첩이 중요하지 않은 경우 애플리케이션은 WinCPICSetBlockingHook 에서 반환된 값을 삭제하고 결국 WinCPICUnhookBlockingHook를 사용하여 기본 메커니즘을 복원할 수 있습니다.)

설명

Windows CPI-C 구현에는 CPI-C 함수 차단이 구현되는 기본 메커니즘이 있습니다. 이 함수는 애플리케이션에 기본 함수 대신 차단 시간에 자체 함수를 실행할 수 있는 기능을 제공합니다.

기본 차단 함수는 다음과 같습니다.

BOOL DefaultBlockingHook (void)  {  
    MSG msg;  
    /* get the next message if any */  
    if ( PeekMessage (&msg,0,0,PM_NOREMOVE)  )  {  
        if ( msg.message = = WM_QUIT  )  
            return FALSE;   // let app process WM_QUIT  
        PeekMessage (&msg,0,0,PM_REMOVE) ;  
        TranslateMessage (&msg) ;  
        DispatchMessage (&msg) ;  
    }  
    /* TRUE if no WM_QUIT received */  
    return TRUE;  
}  

WinCPICSetBlockingHook 함수는 더 복잡한 메시지 처리가 필요한 애플리케이션(예: 메뉴 가속기(TranslateAccelerator)이 있는 여러 MDI(문서 인터페이스) 모델 또는 애플리케이션을 사용하는 애플리케이션을 지원하기 위해 제공됩니다.

차단 함수는 WM_QUIT 메시지에 대한 응답으로 FALSE를 반환해야 Windows CPI-C가 애플리케이션에 제어를 반환하여 메시지를 처리하고 정상적으로 종료할 수 있습니다. 그렇지 않으면 함수는 TRUE를 반환해야 합니다.

참고 항목

Set_Processing_Mode(CPI-C)
Specify_Windows_Handle(CPI-C)