LPSAFEARRAY_Unmarshal Function
Unmarshals a SAFEARRAY object from the RPC buffer using information passed in by the LPSAFEARRAY_UserUnmarshal Function function.
__RPC_USER LPSAFEARRAY_Unmarshal(
ULONG *pFlags,
BYTE *pBuffer,
LPSAFEARRAY *ppSafeArray,
const IID *piid
;)
Parameter | Description |
|---|---|
pFlags | [in] Points to data used by RPC. |
pBuffer | [in] Points to the current buffer. This pointer may or may not be aligned on entry. LPSAFEARRAY_UserMarshal will align the buffer pointer, marshal the data, and return the new buffer position, which is the address of the first byte after the marshaled object. |
ppSafeArray | [in] Points to the safe array that will be returned as a result of unmarshalling. |
piid | [in] Points to an IID for an IDispatch or IUnknown interface. Used when the members of the safe array are IDispatch or IUnknown. |
The return value obtained from the returned HRESULT is one of the following.
Return value | Meaning |
|---|---|
S_OK | Success. |
RPC_X_BAD_STUB_DATA | The stub has received bad data. |
E_UNEXPECTED | The array could not be found. |
E_OUTOFMEMORY | Insufficient memory for this function to perform. |
DISP_E_BADCALLEE | The SAFEARRAY object does not have the correct dimensions, does not have the correct features, or memory cannot be reallocated. |