NdrConformantArrayUnmarshall function (rpcndr.h)
The NdrConformantArrayUnmarshall function unmarshals a conformant array.
Syntax
unsigned char * NdrConformantArrayUnmarshall(
[in] PMIDL_STUB_MESSAGE pStubMsg,
[out] unsigned char **ppMemory,
[in] PFORMAT_STRING pFormat,
[in] unsigned char fMustAlloc
);
Parameters
[in] pStubMsg
Pointer to a MIDL_STUB_MESSAGE structure that maintains the current status of the RPC stub. This structure is for internal use only and should not be modified.
[out] ppMemory
Address to a pointer to the buffer where the conformant array is unmarshalled. If set to null, or if the fMustAlloc is set to TRUE, the stub will allocate the memory.
[in] pFormat
Pointer to the format string description.
[in] fMustAlloc
Flag that specifies whether the stub must allocate the memory into which the conformant array is to be marshalled. Specify TRUE if RPC must allocate ppMemory.
Return value
Returns null upon success. If an error occurs, the function throws one of the following exception codes.
Return code | Description |
---|---|
|
The network is incorrect. |
|
The network is incorrect. |
|
The system is out of memory. |
|
An access violation occurred. |
|
An error occurred in RPC. |
Remarks
The NdrConformantArrayUnmarshall function is used by both the client- and server-side stub to unmarshall a conformant array. The stub might allocate memory as necessary. For example, pArray in the sample on this page points to a conformant array.
NdrConformantArrayUnmarshall should only be called in the context of an RPC stub, after the client or server stub has been initialized.
Examples
void ConfArray([in] long size,
[in,size_is(size)] long *pArray); // conformant array
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 2000 Professional [desktop apps | UWP apps] |
Minimum supported server | Windows 2000 Server [desktop apps | UWP apps] |
Target Platform | Windows |
Header | rpcndr.h (include Rpc.h) |
Library | Rpcrt4.lib |
DLL | Rpcrt4.dll |