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


Функция NdrComplexStructUnmarshall (rpcndr.h)

Функция NdrComplexStructUnmarshall размаршалирует сложную структуру из сетевого буфера в память.

Синтаксис

unsigned char * NdrComplexStructUnmarshall(
  [in, out] PMIDL_STUB_MESSAGE pStubMsg,
  [out]     unsigned char      **ppMemory,
  [in]      PFORMAT_STRING     pFormat,
  [in]      unsigned char      fMustAlloc
);

Параметры

[in, out] pStubMsg

Указатель на структуру MIDL_STUB_MESSAGE , которая поддерживает текущее состояние заглушки RPC. Структура MIDL_STUB_MESSAGE предназначена только для внутреннего использования и не должна изменяться.

[out] ppMemory

Адрес указателя на немаркированную сложную структуру. Если задано значение NULL или параметр fMustAlloc имеет значение TRUE, заглушка выделяет память.

[in] pFormat

Указатель на описание строки формата.

[in] fMustAlloc

Флаг, указывающий, должна ли заглушка выделять память, в которую должна быть маршалирована сложная структура. Укажите ЗНАЧЕНИЕ TRUE , если RPC должен выделять ppMemory.

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

Возвращает значение NULL при успешном выполнении. Вызывает одно из следующих исключений при сбое.

Ошибка Описание
RPC_BAD_STUB_DATA или RPC_X_INVALID_BOUND Неправильная сеть.
RPC_S_OUT_OF_MEMORY Недостаточно памяти.
STATUS_ACCESS_VIOLATION Произошло нарушение доступа.
RPC_S_INTERNAL_ERROR В RPC произошла ошибка.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Профессиональная [классические приложения | Приложения UWP]
Минимальная версия сервера Windows 2000 Server [классические приложения | Приложения UWP]
Целевая платформа Windows
Header rpcndr.h
Библиотека Rpcrt4.lib
DLL Rpcrt4.dll

См. также раздел

MIDL_STUB_MESSAGE