Share via


WS_WRITE_TYPE_CALLBACK funzione di callback (webservices.h)

Richiamato per scrivere un elemento quando è stato specificato WS_CUSTOM_TYPE . In questo modo è possibile scrivere costrutti XML che non eseguono facilmente il mapping al modello di serializzazione principale.

Sintassi

WS_WRITE_TYPE_CALLBACK WsWriteTypeCallback;

HRESULT WsWriteTypeCallback(
  [in]           WS_XML_WRITER *writer,
  [in]           WS_TYPE_MAPPING typeMapping,
  [in]           const void *descriptionData,
                 const void *value,
  [in]           ULONG valueSize,
  [in, optional] WS_ERROR *error
)
{...}

Parametri

[in] writer

Puntatore WS_XML_WRITER al writer in cui deve essere scritto il valore.

[in] typeMapping

Indica come viene eseguito il mapping del codice XML a questo tipo. Per altre informazioni, vedere WS_TYPE_MAPPING .

Se un mapping non ha senso per questo particolare tipo, il callback deve restituire WS_E_INVALID_OPERATION. Vedere Valori restituiti di Servizi Web Windows. Un'implementazione di callback deve essere preparata per essere passata a nuovi tipi di mapping nelle versioni future e deve restituire WS_E_INVALID_OPERATION per tali casi.

[in] descriptionData

Valore del campo descriptionData della struttura WS_CUSTOM_TYPE_DESCRIPTION . Il callback usa questo campo per accedere a eventuali informazioni aggiuntive sul tipo.

value

Puntatore void a un valore da serializzare.

[in] valueSize

Dimensione, in byte, del valore serializzato.

[in, optional] error

Puntatore a una struttura di dati WS_ERROR in cui devono essere archiviate informazioni aggiuntive sull'errore se la funzione ha esito negativo.

Valore restituito

Questa funzione di callback non restituisce un valore.

Commenti

Il callback verrà richiamato con la stessa sequenza chiamante di WsWriteType nella documentazione per WS_TYPE_MAPPING. In questo modo vengono definite le parti del codice XML che il callback deve scrivere.

Requisiti

   
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