NdrConformantArrayUnmarshall 関数 (rpcndr.h)
NdrConformantArrayUnmarshall 関数は、準拠する配列をアンマーサルします。
構文
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
準拠する配列が未指定のバッファーへのポインターへのアドレス。 null に設定されている場合、または fMustAlloc が TRUE に設定されている場合、スタブによってメモリが割り当てられます。
[in] pFormat
書式指定文字列の説明へのポインター。
[in] fMustAlloc
スタブが、準拠する配列をマーシャリングするメモリを割り当てる必要があるかどうかを指定するフラグ。 RPC で ppMemory を割り当てる必要がある場合は TRUE を指定します。
戻り値
成功した場合は null を 返します。 エラーが発生した場合、関数は次のいずれかの例外コードをスローします。
リターン コード | 説明 |
---|---|
|
ネットワークが正しくありません。 |
|
ネットワークが正しくありません。 |
|
システムがメモリ不足です。 |
|
アクセス違反が発生しました。 |
|
RPC でエラーが発生しました。 |
解説
NdrConformantArrayUnmarshall 関数は、クライアント側スタブとサーバー側スタブの両方で使用され、準拠する配列のマーシャリングを解除します。 スタブは、必要に応じてメモリを割り当てることができます。 たとえば、このページのサンプルの pArray は、適合する配列を指しています。
NdrConformantArrayUnmarshall は、クライアントまたはサーバー スタブが初期化された後、RPC スタブのコンテキストでのみ呼び出す必要があります。
例
void ConfArray([in] long size,
[in,size_is(size)] long *pArray); // conformant array
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | rpcndr.h (Rpc.h を含む) |
Library | Rpcrt4.lib |
[DLL] | Rpcrt4.dll |