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 指示的信息结构一样大。

返回值

含义
RPC_S_OK
调用成功。
RPC_S_INVALID_ARG
至少有一个参数无效。
RPC_X_INVALID_BUFFER
当前封送处理缓冲区无效。

注解

NdrGetUserMarshalInfo 函数由应用程序<提供的wire_marshaluser_marshal帮助程序函数 () type>_UserSize、<type>_UserMarshal、<type>_UserUnmarshal和 <type>_UserFree调用,以接收有关调用状态的额外信息。 此函数的常见用途是获取封送处理缓冲区的大小,以便检查缓冲区结束条件。 发送大小不正确的数据是违反系统安全性的常用方法。

有关 NdrGetUserMarshalInfo 返回的信息的完整列表,请参阅 NDR_USER_MARSHAL_INFO

要求

要求
最低受支持的客户端 Windows 2000 专业版 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows 2000 Server [桌面应用 |UWP 应用]
目标平台 Windows
标头 rpcndr.h (包括 Rpc.h)
Library Rpcrt4.lib
DLL Rpcrt4.dll

另请参阅

NDR_USER_MARSHAL_INFO

user_marshal

wire_marshal