NdrConformantArrayUnmarshall 函数 (rpcndr.h)

NdrConformantArrayUnmarshall 函数取消配置符合性数组。

语法

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

parameters

[in] pStubMsg

指向保持 RPC 存根当前状态 的MIDL_STUB_MESSAGE 结构的指针。 此结构仅供内部使用,不应修改。

[out] ppMemory

指向未混排符合性数组的缓冲区的指针的地址。 如果设置为 null,或者 fMustAlloc 设置为 TRUE,则存根将分配内存。

[in] pFormat

指向格式字符串说明的指针。

[in] fMustAlloc

指定存根是否必须分配一致性数组封送到的内存的标志。 如果 RPC 必须分配 ppMemory,则指定 TRUE

返回值

成功后返回 null 。 如果发生错误,函数将引发以下异常代码之一。

返回代码 说明
RPC_BAD_STUB_DATA
网络不正确。
RPC_X_INVALID_BOUND
网络不正确。
RPC_S_OUT_OF_MEMORY
系统内存不足。
STATUS_ACCESS_VIOLATION
发生访问冲突。
RPC_S_INTERNAL_ERROR
RPC 中出错。

注解

客户端和服务器端存根都使用 NdrConformantArrayUnmarshall 函数来取消对符合性数组进行封存。 存根可能会根据需要分配内存。 例如,本页上示例中的 pArray 指向一个符合性的数组。

只有在初始化客户端或服务器存根之后,才应在 RPC 存根的上下文中调用 NdrConformantArrayUnmarshall

示例

void  ConfArray([in] long size,
        [in,size_is(size)] long *pArray);         // conformant array

要求

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