Condividi tramite


WS_GET_CHANNEL_PROPERTY_CALLBACK funzione di callback (webservices.h)

Gestisce la chiamata WsGetChannelProperty per una WS_CUSTOM_CHANNEL_BINDING.

Sintassi

WS_GET_CHANNEL_PROPERTY_CALLBACK WsGetChannelPropertyCallback;

HRESULT WsGetChannelPropertyCallback(
  [in]           void *channelInstance,
  [in]           WS_CHANNEL_PROPERTY_ID id,
                 void *value,
  [in]           ULONG valueSize,
  [in, optional] WS_ERROR *error
)
{...}

Parametri

[in] channelInstance

Puntatore allo stato specifico di questa istanza del canale, creato dal WS_CREATE_CHANNEL_CALLBACK.

[in] id

ID della proprietà da recuperare.

value

Posizione in cui archiviare la proprietà recuperata. Il puntatore deve avere un allineamento compatibile con il tipo della proprietà .

[in] valueSize

Numero di byte allocati dal chiamante per archiviare la proprietà recuperata.

[in, optional] error

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

Valore restituito

Codice restituito Descrizione
E_INVALIDARG
L'ID proprietà non è supportato per questo oggetto o il buffer specificato non è abbastanza grande per il valore.
E_OUTOFMEMORY
Memoria insufficiente.
Altri errori
Questa funzione può restituire altri errori non elencati in precedenza.

Commenti

Per informazioni sul contratto di questa API, vedere WsGetChannelProperty .

Ogni implementazione del canale personalizzato deve supportare la restituzione di un valore per almeno le proprietà seguenti:

Il livello del modello di servizio fornisce la propria logica di timeout delle chiamate, ad esempio richiede la disabilitazione dei timeout nel canale sottostante. Affinché un canale personalizzato venga usato dal livello modello di servizio, deve supportare la disabilitazione di tutti i timeout e implementare questo callback per WS_CHANNEL_PROPERTY_ENABLE_TIMEOUTS. Non è possibile usare un canale personalizzato tramite il modello di servizio, a meno che la query per WS_CHANNEL_PROPERTY_ENABLE_TIMEOUTS restituisca FALSE.

Spetta all'implementazione del canale personalizzato determinare eventuali proprietà aggiuntive che desidera supportare.

Se una proprietà non è supportata, il E_INVALIDARG deve essere restituito. Vedere Valori restituiti di Servizi Web Windows.

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