WsAcceptChannel-Funktion (webservices.h)
Akzeptiert die nächste eingehende Nachricht vom angegebenen Listener.
Syntax
HRESULT WsAcceptChannel(
[in] WS_LISTENER *listener,
[in] WS_CHANNEL *channel,
[in, optional] const WS_ASYNC_CONTEXT *asyncContext,
[in, optional] WS_ERROR *error
);
Parameter
[in] listener
Zeiger auf eine WS_LISTENER Struktur, die den Listener darstellt. Dies ist der Listener, der beim Erstellen des Kanals an WsCreateChannelForListener übergeben wurde.
[in] channel
Zeiger auf eine WS_CHANNEL-Struktur , die den zu akzeptierenden Kanal darstellt.
[in, optional] asyncContext
Zeiger auf eine WS_ASYNC_CONTEXT Datenstruktur mit Informationen zum asynchronen Aufrufen der Funktion. Übergeben Sie einen NULL-Wert für einen synchronen Vorgang.
[in, optional] error
Zeiger auf eine WS_ERROR-Struktur , die zusätzliche Fehlerinformationen empfängt, wenn die Funktion fehlschlägt.
Rückgabewert
Wenn die Funktion erfolgreich ist, wird NO_ERROR zurückgegeben. Andernfalls wird ein HRESULT-Fehlercode zurückgegeben.
Rückgabecode | Beschreibung |
---|---|
|
Der asynchrone Vorgang steht noch aus. |
|
Der Listener oder Kanal wurde abgebrochen. |
|
Der Listener hat einen Fehler. Weitere Informationen finden Sie im Abschnitt mit den Hinweisen. |
|
Der Listener oder der Kanal oder beide waren in einem unangemessenen Zustand. Weitere Informationen finden Sie im Abschnitt mit den Hinweisen. |
|
Die Verbindung mit dem Remoteendpunkt wurde beendet. |
|
Der Vorgang wurde innerhalb der zugewiesenen Zeit nicht abgeschlossen. |
|
Ein Kontingent wurde überschritten. |
|
Die Eingabedaten hatten nicht das erwartete Format oder hatten nicht den erwarteten Wert. |
|
Unzureichender Arbeitsspeicher, um den Vorgang abzuschließen. |
|
Mindestens ein Argument ist ungültig. |
|
Die Sicherheitsüberprüfung für die empfangenen Daten war nicht erfolgreich. |
|
Ein Sicherheitsvorgang ist im Windows Web Services-Framework fehlgeschlagen. |
|
Diese Funktion gibt möglicherweise andere Fehler zurück, die oben nicht aufgeführt sind. |
Hinweise
Sobald Sie einen Kanal akzeptiert haben, müssen Sie ihn schließen, wenn Sie ihn nicht mehr benötigen, und die Ressourcen freigeben, indem Sie die
WsCloseChannel-Funktion , und dann entweder WsFreeChannel oder WsResetChannel.
Funktion zurückgegeben wird.
Damit WsAcceptChannel erfolgreich ist, muss sich der Listener in WS_LISTENER_STATE_OPEN Zustand und der Kanal in WS_CHANNEL_STATE_CREATED Zustand befinden. Weitere Informationen finden Sie in den WS_LISTENER_STATE - und WS_CHANNEL_STATE-Enumerationen .
Wenn sich ein Listener im WS_LISTENER_STATE_FAULTED Zustand befindet,
WsAcceptChannel gibt sofort den WS_E_OBJECT_FAULTED Fehlercode zurück. Wenn eine Anwendung WsAcceptChannel in einer Schleife aufruft, muss die Anwendung diesen Fehler überprüfen, damit die Schleife beendet werden kann.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 7 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 R2 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | webservices.h |
Bibliothek | WebServices.lib |
DLL | WebServices.dll |