LPSAFEARRAY_Marshal Function

Marshals a SAFEARRAY object to a user's RPC buffer on the server using information passed in by the LPSAFEARRAY_UserMarshal Function function.

BYTE * __RPC_USER LPSAFEARRAY_Marshal(
  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 contains the data to marshal.

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.

E_INVALIDARG

The ppSafeArray parameter is not a valid safe array.

E_UNEXPECTED

The array could not be locked.

Show:
© 2014 Microsoft