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


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

Функция NdrPointerUnmarshall отменяет работу указателя верхнего уровня на что-либо. Указатели, внедренные в структуры, массивы или объединения, вызывают NdrPointerUnmarshall напрямую.

Синтаксис

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

Параметры

[in, out] pStubMsg

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

[in] ppMemory

Указатель на память, где указатель будет немаршализован. Сведения о защите от переполнения буфера в RPC см. в разделе Защита буфера MCCP: http://msdn.microsoft.com/en-us/library/ff621497(VS.85).aspx

[in] pFormat

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

[in] fMustAlloc

Не используется.

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

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

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

Комментарии

Эта функция используется для строк формата FC_RP, FC_UP, FC_FP FC_OP.

Требования

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