Функция NdrGetUserMarshalInfo (rpcndr.h)
Функция NdrGetUserMarshalInfo предоставляет дополнительные сведения для wire_marshal и user_marshal вспомогательных функций.
Синтаксис
RPC_STATUS NdrGetUserMarshalInfo(
unsigned long *pFlags,
unsigned long InformationLevel,
NDR_USER_MARSHAL_INFO *pMarshalInfo
);
Параметры
pFlags
Указатель с тем же именем, которое RPC передается вспомогательной функции.
InformationLevel
Требуемый уровень детализации для получения. Разные уровни подразумевают разные наборы информационных полей. В настоящее время определен только уровень 1.
pMarshalInfo
Адрес буфера памяти, предоставленного приложением для получения запрошенной информации. Размер буфера должен быть не меньше структуры информации, указанной в InformationLevel.
Возвращаемое значение
Значение | Значение |
---|---|
|
Вызов выполнен успешно. |
|
По крайней мере один из аргументов был недопустимым. |
|
Текущий буфер маршалинга недопустим. |
Комментарии
Функция NdrGetUserMarshalInfo вызывается с помощью wire_marshal или user_marshal вспомогательных функций (предоставляемых приложением) <type>_UserSize, <type>_UserMarshal, <type>_UserUnmarshal и <type>_UserFree для получения дополнительных сведений о состоянии вызова. Эта функция часто используется для получения размера буфера маршалинга с целью проверки состояния конца буфера. Отправка данных неправильного размера — это часто используемый метод нарушения безопасности системы.
Полный список сведений, возвращаемых NdrGetUserMarshalInfo, см. в разделе NDR_USER_MARSHAL_INFO.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Профессиональная [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows 2000 Server [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | rpcndr.h (включая Rpc.h) |
Библиотека | Rpcrt4.lib |
DLL | Rpcrt4.dll |