CAsyncSocket::IOCtl
Wywołanie tej funkcji Członkowskich kontroli tryb gniazda.
BOOL IOCtl(
long lCommand,
DWORD* lpArgument
);
Parametry
lCommand
Polecenia do wykonywania w gnieździe.lpArgument
Wskaźnik do parametru lCommand.
Wartość zwracana
Niezerowa, jeśli funkcja jest pomyślne; w przeciwnym razie 0 i kod błędu mogą być pobierane przez wywołanie GetLastError.Do tej funkcji Członkowskich stosuje się następujące błędy:
WSANOTINITIALISED pomyślnie AfxSocketInit musi wystąpić przed użyciem tego interfejsu API.
WSAENETDOWN implementacja Windows Sockets wykrył, że podsystem sieci nie powiodło się.
WSAEINVAL lCommandnie jest prawidłowe polecenie lub lpArgument nie jest dopuszczalna parametr dla lCommand, lub polecenie nie ma zastosowania do typu gniazda dostarczone.
WSAEINPROGRESS jest wykonywana operacja blokująca Windows Sockets.
WSAENOTSOCK deskryptora nie jest gniazdem.
Uwagi
Tej procedury można na dowolnym gnieździe w każdym Państwie.Służy do uzyskania lub pobieranie parametrów operacyjnych związanych z gniazda, niezależny od protokołu i łączności podsystemu.Obsługiwane są następujące polecenia:
FIONBIO włączyć lub wyłączyć tryb nieblokujących w gnieździe.lpArgument Parametru wskazuje na DWORD, która jest różna od zera, jeśli ma zostać włączony tryb nieblokujących i zero, jeśli jest wyłączone.Jeśli AsyncSelect , a następnie próby użyć zostało wydane na gnieździe, IOCtl ustawić gniazdo trybu blokowania powiedzie się WSAEINVAL.Gniazdo do trybu blokowania i zapobiec WSAEINVAL błąd aplikacji należy najpierw wyłączyć AsyncSelect przez wywołanie AsyncSelect z lEvent parametru jest równa 0, następnie wywołać IOCtl.
FIONREAD określić maksymalną liczbę bajtów, które można odczytać z jednym odbioru wywołanie z tego gniazda.lpArgument Parametru wskazuje na DWORD w którym IOCtl przechowuje wynik.Jeżeli to gniazdo jest typu SOCK_STREAM, FIONREAD zwraca wartość całkowitą ilość danych, które mogą być odczytywane w jednym odbioru; to jest zwykle taka sama całkowitą ilość danych gniazdo w kolejce.Jeżeli to gniazdo jest typu SOCK_DGRAM, FIONREAD zwraca rozmiar datagramu pierwsze gniazdo w kolejce.
SIOCATMARK ustalić, czy wszystkie dane-band została przeczytana.Dotyczy to tylko gniazdo typu SOCK_STREAM został skonfigurowany do odbioru w linii danych-band (SO_OOBINLINE).Jeśli oczekuje żadnych danych-band odczytywane, operacji zwraca wartość niezerową.W przeciwnym razie zwraca 0 i następnej odbioru lub ReceiveFrom wykonywane na gniazdo pobierze niektóre lub wszystkie dane poprzedzających "znak"; aplikacja powinna używać SIOCATMARK operacji, aby ustalić, czy wszystkie dane pozostaje.W przypadku normalnych danych poprzedzającego dane "pilne" (out band), będą odbierane w kolejności.(Należy zauważyć, że odbioru lub ReceiveFrom nigdy nie będzie wymieszać-band i normalnych danych w tej samej rozmowy.) lpArgument Parametru wskazuje na DWORD w którym IOCtl przechowuje wynik.
Ta funkcja jest podzbiorem ioctl() w Berkeley sockets.W szczególności nie ma polecenia równoważnej FIOASYNC, podczas gdy SIOCATMARK jest polecenie tylko poziomie gniazda, który jest obsługiwany.
Wymagania
Nagłówek: afxsock.h