Freigeben über


WSACancelAsyncRequest-Funktion (winsock2.h)

Die WSACancelAsyncRequest-Funktion bricht einen unvollständigen asynchronen Vorgang ab.

Syntax

int WSAAPI WSACancelAsyncRequest(
  [in] HANDLE hAsyncTaskHandle
);

Parameter

[in] hAsyncTaskHandle

Handle, das den asynchronen Vorgang angibt, der abgebrochen werden soll.

Rückgabewert

Der von WSACancelAsyncRequest zurückgegebene Wert ist 0, wenn der Vorgang erfolgreich abgebrochen wurde. Andernfalls wird der Wert SOCKET_ERROR zurückgegeben, und eine bestimmte Fehlernummer kann durch Aufrufen von WSAGetLastError abgerufen werden.

Fehlercode Bedeutung
WSANOTINITIALISIERT
Vor der Verwendung dieser Funktion muss ein erfolgreicher WSAStartup-Aufruf erfolgen.
WSAENETDOWN
Beim Netzwerksubsystem ist ein Fehler aufgetreten.
WSAEINVAL
Gibt an, dass das angegebene asynchrone Aufgabenhandle ungültig war.
WSAEINPROGRESS
Ein blockierter Windows Sockets 1.1-Aufruf wird ausgeführt, oder der Dienstanbieter verarbeitet weiterhin eine Rückruffunktion.
WSAEALREADY
Die asynchrone Routine, die abgebrochen wird, wurde bereits abgeschlossen.
 
Hinweis Es ist unklar, ob die Anwendung sinnvoll zwischen WSAEINVAL und WSAEALREADY unterscheiden kann, da in beiden Fällen der Fehler darauf hindeutet, dass kein asynchroner Vorgang mit dem angegebenen Handle ausgeführt wird. (Triviale Ausnahme: Null ist immer ein ungültiges asynchrones Aufgabenhandle.) Die Windows Sockets-Spezifikation schreibt nicht vor, wie ein konformer Windows Sockets-Anbieter zwischen den beiden Fällen unterscheiden soll. Um maximale Portabilität zu erzielen, sollte eine Windows Sockets-Anwendung die beiden Fehler als gleichwertig behandeln.
 

Hinweise

Die WSACancelAsyncRequest-Funktion wird verwendet, um einen asynchronen Vorgang abzubrechen, der von einer der WSAAsyncGetXByY-Funktionen wie WSAAsyncGetHostByName initiiert wurde. Der abzubrechende Vorgang wird durch den hAsyncTaskHandle-Parameter identifiziert, der auf das asynchrone Aufgabenhandle festgelegt werden sollte, wie er von der initiierenden WSAAsyncGetXByY-Funktion zurückgegeben wird.

Der Versuch, einen vorhandenen asynchronen WSAAsyncGetXByY-Vorgang abzubrechen, kann mit einem Fehlercode von WSAEALREADY aus zwei Gründen fehlschlagen. Erstens ist der ursprüngliche Vorgang bereits abgeschlossen, und die Anwendung hat sich mit der resultierenden Nachricht befasst. Zweitens ist der ursprüngliche Vorgang bereits abgeschlossen, aber die resultierende Meldung wartet weiterhin in der Anwendungsfensterwarteschlange.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winsock2.h (einschließlich Winsock2.h)
Bibliothek Ws2_32.lib
DLL Ws2_32.dll

Weitere Informationen

WSAAsyncGetHostByAddr

WSAAsyncGetHostByName

WSAAsyncGetProtoByName

WSAAsyncGetProtoByNumber

WSAAsyncGetServByName

WSAAsyncGetServByPort

Winsock-Funktionen

Winsock-Referenz