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
WS_S_ASYNC
Der asynchrone Vorgang steht noch aus.
WS_E_OPERATION_ABORTED
Der Listener oder Kanal wurde abgebrochen.
WS_E_OBJECT_FAULTED
Der Listener hat einen Fehler. Weitere Informationen finden Sie im Abschnitt mit den Hinweisen.
WS_E_INVALID_OPERATION
Der Listener oder der Kanal oder beide waren in einem unangemessenen Zustand. Weitere Informationen finden Sie im Abschnitt mit den Hinweisen.
WS_E_ENDPOINT_DISCONNECTED
Die Verbindung mit dem Remoteendpunkt wurde beendet.
WS_E_OPERATION_TIMED_OUT
Der Vorgang wurde innerhalb der zugewiesenen Zeit nicht abgeschlossen.
WS_E_QUOTA_EXCEEDED
Ein Kontingent wurde überschritten.
WS_E_INVALID_FORMAT
Die Eingabedaten hatten nicht das erwartete Format oder hatten nicht den erwarteten Wert.
E_OUTOFMEMORY
Unzureichender Arbeitsspeicher, um den Vorgang abzuschließen.
E_INVALIDARG
Mindestens ein Argument ist ungültig.
WS_E_SECURITY_VERIFICATION_FAILURE
Die Sicherheitsüberprüfung für die empfangenen Daten war nicht erfolgreich.
WS_E_SECURITY_SYSTEM_FAILURE
Ein Sicherheitsvorgang ist im Windows Web Services-Framework fehlgeschlagen.
Andere Fehler
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