NdrConformantArrayUnmarshall 函式 (rpcndr.h)

NdrConformantArrayUnmarshall函式 unmarshals 符合規範的陣列。

語法

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

參數

[in] pStubMsg

維護 RPC 存根目前狀態 之MIDL_STUB_MESSAGE 結構的指標。 此結構僅供內部使用,不應修改。

[out] ppMemory

定址至緩衝區的指標,其中一致性陣列為 unmarshalled。 如果設定為 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 會指向一致陣列。

NdrConformantArrayUnmarshall 只有在用戶端或伺服器存根初始化之後,才應該在 RPC 存根的內容中呼叫。

範例

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)
程式庫 Rpcrt4.lib
Dll Rpcrt4.dll