WSACancelBlockingCall
WSACancelBlockingCall 함수는 윈도즈 소켓 함수의 블록화를 취소합니다.
int WSACancelBlockingCall( void );
Remarks
WSACancelBlockingCall 함수는 매개변수를 사용하지 않습니다. 왜냐믄, 한 번에 하나의 블록화 호출만이 효력을 발생 하기때문에 취소할 블록킹 호출이 어느것인지 확실히 알 수 있기 때문입니다.
이 함수를 호출하고 나서 블록화 기능은 최대한 빨리 종료됩니다. 블록화 기능은 실제로 메시지 디스패치 루프에 의해 수행되기 때문에 호출이 종료되기 전에 제어 쓰레드가 메시지 루프로 되 돌아가야 합니다. 이 함수를 호출하여 취소된 블록화 호출은 WSAGetLastError 함수의 결과로 WSAEINTR 에러코드를 반환 할 것입니다.
이 함수는 블록킹 상태를 해제하는 함수입니다. 그러므로 A라는 쓰레드에서 소켓연산으로 블록킹이 지속되는 상태라면, B라는 다른 쓰레드에서 이 함수를 호출해야만 합니다.
그런데요... 이 함수는 윈속2(2.2.0)버젼 에서는 사용할 수 없는 함수가 되어 버렸습니다. WS2_32.DLL 라이브러리로는 export해서 사용할 수 없게 되었다는 말이죠. 즉, 윈속1.1을 사용하는 어플리케이션에서만 WINSOCK.DLL이나, WSOCK32.DLL을 로드해서 이 함수를 사용 할 수 있습니다.
Return Values
성공할 경우 0을 반환하고, 에러가 발생할 경우 SOCKET_ERROR를 반환 합니다. WSAGetLastError 함수를 이용하여 특정한 에러코드를 얻어낼 수 있습니다.