CAsyncSocket::IOCtl
BOOL IOCtl ( 긴 lCommand, DWORD * lpArgument );
반환 값
이 함수는 성공 하는 경우 0이 아닌 그렇지 않으면 0, 그리고 특정 오류 코드를 사용 하는 GetLastError를 호출 하 여 검색할 수 있습니다. 이 멤버 함수에 다음과 같은 오류가 적용:
-
WSANOTINITIALISEDnbsp;??성공적인 AfxSocketInit 는이 API를 사용 하기 전에 이루어져야 합니다(&N).
-
WSAENETDOWNnbsp;??Windows 소켓 구현이 네트워크 하위 시스템 실패 감지(&N)。
-
WSAEINVALnbsp;lCommand 은 유효한 명령 또는 lpArgument 는 lCommand에 대 한 허용 가능한 매개 변수 또는 명령을 제공 하는 소켓의 종류에 해당 되지 않습니다(&N).
-
WSAEINPROGRESSnbsp;??블로킹 Windows 소켓 작업이 진행 중입니다(&N).
-
WSAENOTSOCKnbsp;??설명자는 소켓(&N)。
매개 변수
lCommand
소켓에서 수행 하도록 명령。
lpArgument
LCommand 에 대 한 매개 변수에 대 한 포인터。
주의
소켓 모드를 제어 하려면이 멤버 함수를 호출 합니다. 이 루틴은 어떤 상태에 어떤 소켓에 사용할 수 있습니다. 소켓, 프로토콜 및 통신 하위 시스템의 독립과 관련 된 작동 매개 변수를 검색 하거나 사용 됩니다. 다음과 같은 명령이 지원 됩니다.:
-
FIONBIOnbsp;??비블로킹 모드 socket에 사용 하거나. LpArgument 매개 변수는 0이 아닌 경우에 비블로킹 모드는 활성화 하 고 비활성화할 경우 0 DWORD에 점. AsyncSelect 소켓에 내렸다 IOCtl 을 사용 하 여 소켓 블로킹 모드를 다시 설정 하려고 WSAEINVAL와 함께 실패 합니다. 소켓 블로킹 모드로 다시 설정 하 고 WSAEINVAL 오류 방지, 응용 프로그램 먼저 한 AsyncSelect 호출 AsyncSelect 0, lEvent 매개 변수를 사용 하 여 해제 다음 IOCtl 호출(&N)。
-
FIONREADnbsp;??읽을 수 있는 바이트의 최대 수를 결정이 소켓에서 하나의 수신 호출 합니다. LpArgument 매개 변수 지점에 DWORD IOCtl 결과 저장 합니다. 이 소켓 SOCK_STREAM유형의 경우 FIONREAD 단일 수신;에서 읽을 수 있는 데이터의 총량을 반환 이것은 일반적으로 동일한 소켓에서 대기 중인 데이터의 총 금액입니다. 이 소켓 SOCK_DGRAM유형의 경우 FIONREAD 소켓에서 대기 중인 첫 번째 데이터 그램 크기 반환(&N)。
-
SIOCATMARKnbsp;??모든-밴드 데이터 읽기 여부를 결정 합니다. 이 유형-밴드 데이터 (SO_OOBINLINE)에 선 수신 구성 SOCK_STREAM 소켓에만 적용 됩니다. -밴드 데이터가 읽을 수 있도록 대기 하는 경우 작업이 0이 아닌 반환 합니다. 그렇지 않으면 0을 반환 하 고 수신 또는 ReceiveFrom 소켓에서 수행을 일부 또는 전부의 앞에 "마크"; 데이터 검색 응용 프로그램 데이터가 남아 있는지 여부를 확인 하려면 SIOCATMARK 작업을 사용 해야 합니다. 어떤 일반 데이터 "긴급" (밴드) 데이터 앞 이면 순서로 받은 것입니다. (Note 수신 또는 ReceiveFrom 는 동일한 호출에서-밴드와 정상적인 데이터 혼합 절대 것입니다.) DWORD IOCtl 결과 저장에서 lpArgument 매개 변수 포인트(&N)。
이 함수는 ioctl() 버클리 소켓에 사용 되는 하위 집합. 특히, 거기에 FIOASYNC, SIOCATMARK 는 지원 되는 소켓 수준의 명령 없음 명령。
CAsyncSocket 개요 |nbsp; 클래스 멤버 (ko) | 계층 구조 차트(&N)
참고 항목nbsp;CAsyncSocket::AsyncSelect, CAsyncSocket::Create, CAsyncSocket::GetSockOpt, CAsyncSocket::SetSockOpt(&N)