Funzione WsGetMappedHeader (webservices.h)

Trova un'intestazione mappata nel messaggio e la deserializza.

Sintassi

HRESULT WsGetMappedHeader(
  [in]           WS_MESSAGE                 *message,
  [in]           const WS_XML_STRING        *headerName,
  [in]           WS_REPEATING_HEADER_OPTION repeatingOption,
  [in]           ULONG                      headerIndex,
  [in]           WS_TYPE                    valueType,
  [in]           WS_READ_OPTION             readOption,
  [in, optional] WS_HEAP                    *heap,
                 void                       *value,
  [in]           ULONG                      valueSize,
  [in, optional] WS_ERROR                   *error
);

Parametri

[in] message

Messaggio contenente l'intestazione.

Il messaggio può essere in qualsiasi stato, ma WS_MESSAGE_STATE_EMPTY.

[in] headerName

Nome dell'intestazione mappata.

[in] repeatingOption

Se l'intestazione può essere visualizzata più di una volta nel messaggio.

Se viene utilizzata WS_REPEATING_HEADER, l'indice di intestazione indica quale delle intestazioni con il nome intestazione specificato da restituire.

Se viene usato WS_SINGLETON_HEADER , l'intestazioneIndex deve essere zero.

[in] headerIndex

Indice in base zero dell'intestazione all'interno del set di intestazioni con il nome intestazione specificato.

[in] valueType

Tipo di valore da deserializzare.

[in] readOption

Indica se il valore è obbligatorio e come allocare il valore. Per altre informazioni, vedere WS_READ_OPTION .

Se l'intestazione è facoltativa (può essere visualizzata zero o una volta), è possibile usare WS_READ_OPTIONAL_POINTER .

[in, optional] heap

Heap in cui archiviare i dati dell'intestazione deserializzati. Se si tratta di NULL, verrà usato l'heap del messaggio.

value

L'interpretazione di questo parametro dipende dalla WS_READ_OPTION.

[in] valueSize

L'interpretazione di questo parametro dipende dalla WS_READ_OPTION.

[in, optional] error

Specifica la posizione in cui devono essere archiviate informazioni aggiuntive sugli errori se la funzione ha esito negativo.

Valore restituito

Questa funzione può restituire uno di questi valori.

Codice restituito Descrizione
WS_E_INVALID_FORMAT
L'intestazione non esiste ed è necessaria.

I dati di input non erano nel formato previsto.

WS_SINGLETON_HEADER è stato specificato e sono presenti più istanze dell'intestazione con il nome specificato nel messaggio.

WS_E_QUOTA_EXCEEDED
La quota di dimensioni dell'heap è stata superata.
E_OUTOFMEMORY
Memoria insufficiente per deserializzare l'intestazione.
E_INVALIDARG
Uno o più parametri non sono corretti.
Altri errori
Questa funzione può restituire altri errori non elencati sopra.

Commenti

Un messaggio può contenere informazioni aggiuntive specifiche del trasporto che non fanno parte della busta del messaggio. Queste informazioni specifiche del trasporto possono essere esposte a livello di codice come intestazioni dell'oggetto Message. Questa funzione viene usata per leggere un'intestazione mappata da un trasporto nel messaggio.

Quando si usa il canale HTTP, è necessario specificare i mapping necessari prima che le intestazioni possano essere estratte con questa funzione. Per altre informazioni, vedere WS_HTTP_MESSAGE_MAPPING.

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