WS_SERVICE_ACCEPT_CHANNEL_CALLBACK funzione di callback (webservices.h)
Richiamato quando un canale viene accettato in un listener di endpoint dall'host del servizio.
Per il contratto di servizio basato su sessione, questa notifica indica l'avvio della sessione. Pertanto, è possibile creare uno stato dell'applicazione con ambito per la sessione all'interno di questo callback.
Sintassi
WS_SERVICE_ACCEPT_CHANNEL_CALLBACK WsServiceAcceptChannelCallback;
HRESULT WsServiceAcceptChannelCallback(
[in] const WS_OPERATION_CONTEXT *context,
void **channelState,
[in, optional] const WS_ASYNC_CONTEXT *asyncContext,
[in, optional] WS_ERROR *error
)
{...}
Parametri
[in] context
Il contesto dell'operazione
channelState
Il callback può fornire lo stato del canale tramite questo parametro. Questo stato del canale viene reso disponibile per l'operazione del servizio come parte di WS_OPERATION_CONTEXT tramite il WS_OPERATION_CONTEXT_PROPERTY_CHANNEL_USER_STATE.
[in, optional] asyncContext
Informazioni su se la funzione viene richiamata in modo asincrono.
[in, optional] error
Specifica dove archiviare informazioni aggiuntive sull'errore se la funzione ha esito negativo.
Valore restituito
Questa funzione di callback non restituisce un valore.
Commenti
Vedere anche WS_SERVICE_CLOSE_CHANNEL_CALLBACK che può essere usato dall'applicazione per annullare l'associazione dello stato e viene chiamato alla chiusura del canale.
Questo callback è annullabile.
Esempio
Per un'implementazione di esempio su come usare questo callback per associare lo stato della sessione, vedere l'esempio di calcolatrice basata su sessione.
HRESULT CALLBACK CreateSessionCalculator (const WS_OPERATION_CONTEXT* context, void** userChannelState,
const WS_ASYNC_CONTEXT* asyncContext, WS_ERROR* error)
{
SessionfullCalculator* calculator = new SessionfullCalculator ();
if (calculator != NULL)
*userChannelState = (void*) calculator;
else
return E_OUTOFMEMORY;
return NOERROR;
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 7 [solo app desktop] |
Server minimo supportato | Windows Server 2008 R2 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | webservices.h |