Condividi tramite


Funzione WsOpenChannel (webservices.h)

Aprire un canale a un endpoint.

Sintassi

HRESULT WsOpenChannel(
  [in]           WS_CHANNEL                *channel,
  [in]           const WS_ENDPOINT_ADDRESS *endpointAddress,
  [in, optional] const WS_ASYNC_CONTEXT    *asyncContext,
  [in, optional] WS_ERROR                  *error
);

Parametri

[in] channel

Canale da aprire.

[in] endpointAddress

L'indirizzo dell'endpoint.

[in, optional] asyncContext

Informazioni su come richiamare la funzione in modo asincrono o NULL se si richiama in modo sincrono.

[in, optional] error

Specifica dove archiviare informazioni aggiuntive sull'errore se la funzione ha esito negativo.

Valore restituito

Questa funzione può restituire uno di questi valori.

Codice restituito Descrizione
WS_S_ASYNC
L'operazione asincrona è ancora in sospeso.
WS_E_OPERATION_ABORTED
L'operazione è stata interrotta.
WS_E_INVALID_OPERATION
L'operazione non è consentita a causa dello stato corrente dell'oggetto .
WS_E_ENDPOINT_NOT_FOUND
L'endpoint remoto non esiste o non è stato possibile individuarsi.
WS_E_ENDPOINT_ACCESS_DENIED
L'accesso è stato negato dall'endpoint remoto.
WS_E_ENDPOINT_DISCONNECTED
La connessione con l'endpoint remoto è stata terminata.
WS_E_ENDPOINT_FAILURE
L'endpoint remoto non è riuscito a elaborare la richiesta.
WS_E_ENDPOINT_NOT_AVAILABLE
L'endpoint remoto non è attualmente in servizio in questa posizione.
WS_E_ENDPOINT_TOO_BUSY
L'endpoint remoto non è in grado di elaborare la richiesta a causa dell'overload.
WS_E_ENDPOINT_UNREACHABLE
L'endpoint remoto non è raggiungibile.
WS_E_INVALID_ENDPOINT_URL
L'URL dell'indirizzo dell'endpoint non è valido.
WS_E_INVALID_FORMAT
I dati di input non erano nel formato previsto o non hanno il valore previsto.
WS_E_OPERATION_TIMED_OUT
L'operazione non è stata completata entro il tempo assegnato.
WS_E_PROXY_ACCESS_DENIED
Accesso negato dal server proxy HTTP.
WS_E_PROXY_FAILURE
Il server proxy HTTP non è riuscito a elaborare la richiesta.
WS_E_QUOTA_EXCEEDED
È stata superata una quota.
WS_E_SECURITY_VERIFICATION_FAILURE
La verifica di sicurezza non è riuscita per i dati ricevuti.
WS_E_SECURITY_SYSTEM_FAILURE
Un'operazione di sicurezza non è riuscita nel framework di Servizi Web Windows.
WS_E_PROXY_REQUIRES_BASIC_AUTH
Il server proxy HTTP richiede lo schema di autenticazione HTTP "basic".
WS_E_PROXY_REQUIRES_DIGEST_AUTH
Il server proxy HTTP richiede lo schema di autenticazione HTTP "digest".
WS_E_PROXY_REQUIRES_NEGOTIATE_AUTH
Il server proxy HTTP richiede lo schema di autenticazione HTTP 'negotiate'.
WS_E_PROXY_REQUIRES_NTLM_AUTH
Il server proxy HTTP richiede lo schema di autenticazione HTTP 'NTLM'.
WS_E_SERVER_REQUIRES_BASIC_AUTH
L'endpoint remoto richiede lo schema di autenticazione HTTP 'basic'.
WS_E_SERVER_REQUIRES_DIGEST_AUTH
L'endpoint remoto richiede lo schema di autenticazione HTTP "digest".
WS_E_SERVER_REQUIRES_NEGOTIATE_AUTH
L'endpoint remoto richiede lo schema di autenticazione HTTP 'negotiate'.
WS_E_SERVER_REQUIRES_NTLM_AUTH
L'endpoint remoto richiede lo schema di autenticazione HTTP 'NTLM'.
E_OUTOFMEMORY
Memoria insufficiente.
E_INVALIDARG
Uno o più argomenti non sono validi.
Altri errori
Questa funzione può restituire altri errori non elencati in precedenza.

Commenti

Se l'apertura ha esito positivo, il canale deve essere chiuso usando WsCloseChannel prima che possa essere liberato.

Usare WsCreateChannel per creare il canale.

Dopo aver aperto un canale a un endpoint, tutte le comunicazioni si verificano con tale endpoint.

L'indirizzo dell'endpoint e il relativo contenuto non sono necessari dopo la restituzione della funzione, anche se la funzione viene richiamata in modo asincrono (ad esempio, può essere dichiarata in modo sicuro nello stack).

Se un I/O si verifica effettivamente durante questa chiamata dipenderà dal tipo di canale e dalle relative impostazioni.

Requisiti

Requisito Valore
Client minimo supportato Windows 7 [app desktop | App UWP]
Server minimo supportato Windows Server 2008 R2 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione webservices.h
Libreria WebServices.lib
DLL WebServices.dll