Поделиться через


функция обратного вызова WS_READ_TYPE_CALLBACK (webservices.h)

Считывает значение при указании WS_TYPE . Это позволяет считывать xml-конструкции, которые не легко сопоставляются с основной моделью сериализации.

Синтаксис

WS_READ_TYPE_CALLBACK WsReadTypeCallback;

HRESULT WsReadTypeCallback(
  [in]           WS_XML_READER *reader,
  [in]           WS_TYPE_MAPPING typeMapping,
  [in]           const void *descriptionData,
  [in, optional] WS_HEAP *heap,
                 void *value,
  [in]           ULONG valueSize,
  [in, optional] WS_ERROR *error
)
{...}

Параметры

[in] reader

Указатель на дескриптор WS_XML_READER , содержащий значение типа.

[in] typeMapping

Указывает, как XML сопоставляется с этим типом.

Если сопоставление не имеет смысла для этого конкретного типа, обратный вызов должен возвращать WS_E_INVALID_OPERATION. (См. раздел Возвращаемые значения веб-служб Windows.) Реализация обратного вызова должна быть подготовлена к передаче новых типов сопоставления в будущих версиях и возвращать WS_E_INVALID_OPERATION для этих случаев.

[in] descriptionData

Указатель на значение поля descriptionDataструктуры WS_CUSTOM_TYPE_DESCRIPTION . Обратный вызов может использовать его для получения доступа к любым дополнительным сведениям о типе.

[in, optional] heap

Указатель на кучу для использования при выделении любых дополнительных данных, связанных с этим типом, таких как вложенные поля.

Обратите внимание, что этот параметр может иметь значение NULL, если вызывающий объект не указал объект WS_HEAP при десериализации типа.

value

Указатель на буфер, содержащий десериализуемое значение. Обратный вызов отвечает за заполнение значения на основе текущего содержимого средства чтения и typeMapping. Обратный вызов может использовать предоставленную кучу при необходимости для выделения значений, связанных со значением.

[in] valueSize

Размер десериализуемого буфера. Буфер выделяется в соответствии с размером, указанным в WS_CUSTOM_TYPE_DESCRIPTION.

[in, optional] error

Указатель на WS_ERROR структуру данных, в которой должны храниться дополнительные сведения об ошибках в случае сбоя функции.

Возвращаемое значение

Эта функция обратного вызова не возвращает значение.

Комментарии

Обратный вызов будет вызываться с той же последовательностью вызовов, что и WsReadType в документации по WS_TYPE_MAPPING. Это определяет, какие части XML-кода должны считываться обратным вызовом.

Требования

   
Минимальная версия клиента Windows 7 [только классические приложения]
Минимальная версия сервера Windows Server 2008 R2 [только классические приложения]
Целевая платформа Windows
Header webservices.h