다음을 통해 공유


CAsyncSocket::IOCtl

제어 모드의 소켓에이 멤버 함수를 호출 합니다.

BOOL IOCtl( 
   long lCommand, 
   DWORD* lpArgument  
);

매개 변수

  • lCommand
    소켓에서 수행 하는 명령입니다.

  • lpArgument
    매개 변수에 대 한 포인터 lCommand.

반환 값

함수가 성공 하면 0이 아닌. 그렇지 않으면 0이 고 특정 오류 코드를 호출 하 여 검색할 수 있는 GetLastError. 다음 오류는이 멤버 함수에 적용 됩니다.

  • WSANOTINITIALISED 성공적으로 AfxSocketInit 이 API를 사용 하기 전에 발생 합니다.

  • WSAENETDOWN 는 Windows 소켓 구현이 감지 네트워크 하위 시스템 실패 합니다.

  • WSAEINVAL   lCommand없는 유효한 명령 또는 lpArgument 매개 변수는 사용할 수 없는 lCommand, 또는 명령을 제공 하는 소켓의 형식으로 적합 하지 않습니다.

  • WSAEINPROGRESS Windows 소켓 차단 작업이 진행 중입니다.

  • WSAENOTSOCK 설명자가 소켓이 아닙니다.

설명

이 루틴은 있는 상태에서 소켓을 사용할 수 있습니다. 가져오거나 연결 소켓, 프로토콜 및 통신 하위 시스템의 독립적 운영 매개 변수를 검색에 사용 됩니다. 다음 명령은 사용할 수 있습니다.

  • FIONBIO 소켓이 비블로킹 모드로 설정 여부. lpArgument 매개 변수를 가리키는에 DWORD는 비블로킹 모드 사용 하는 경우 0이 아닌 값 이며 0이 비활성화 됩니다. 경우 AsyncSelect 는 소켓을 사용 하도록 시도 하 고 발급 된 IOCtl 와 소켓이 블로킹 모드로 설정할 수 없게 됩니다 WSAEINVAL. 소켓이 블로킹 모드로 설정 하 고 방지 하는 WSAEINVAL 오류, 응용 프로그램 해야 먼저 해제 AsyncSelect 를 호출 하 여 AsyncSelect 에 lEvent 0 매개 변수를 다음 호출 IOCtl.

  • FIONREAD 을 읽을 수 있는 바이트의 최대 수를 확인 수신 이 소켓에서 호출 합니다. lpArgument 매개 변수를 가리키는에 DWORDIOCtl 결과 저장 합니다. 이 소켓의 형식인 경우 SOCK_STREAM, FIONREAD 는 읽을 수 있는 데이터의 총 single로 반환 수신. 소켓에서 데이터의 총 대기이 일반적으로 동일 합니다. 이 소켓의 형식인 경우 SOCK_DGRAM, FIONREAD 크기의 첫 번째 데이터 그램 소켓의 대기를 반환 합니다.

  • SIOCATMARK 모든 대역의 데이터 읽기 여부를 결정 합니다. 이 종류의 소켓에만 적용 됩니다 SOCK_STREAM 는 구성에 선 밴드의 데이터 수신에 (SO_OOBINLINE). 대역의 데이터를 읽을 수 있도록 기다리고 작업 0이 아닌 값을 반환 합니다. 그렇지 않으면 0이 고 다음 반환 수신 또는 ReceiveFrom 수행 소켓의 "표시"; 앞의 데이터 전부 또는 일부를 검색 합니다 응용 프로그램을 사용 해야는 SIOCATMARK 작업 데이터가 남아 있는지 여부를 결정 합니다. "긴급" (아웃 밴드) 데이터를 이전 일반 데이터 이면 순서로 받을 수 있습니다. (이때의 수신 또는 ReceiveFrom 동일한 호출에서의 밴드와 일반 데이터를 혼합 하지 않아야 합니다.) lpArgument 매개 변수를 가리키는에 DWORDIOCtl 결과 저장 합니다.

하위 집합의 함수인 ioctl() 버클리 소켓에서 사용 되는. 특히 것 같습니다 명령이 FIOASYNC, 동안 SIOCATMARK 지만 소켓 수준 명령입니다.

요구 사항

헤더: afxsock.h

참고 항목

참조

CAsyncSocket 클래스

계층 구조 차트

CAsyncSocket::AsyncSelect

CAsyncSocket::Create

CAsyncSocket::GetSockOpt

CAsyncSocket::SetSockOpt