FtmBase::GetMarshalSizeMax Method


The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at FtmBase::GetMarshalSizeMax Method.

Get the upper bound on the number of bytes needed to marshal the specified interface pointer on the specified object.

STDMETHODIMP GetMarshalSizeMax(  
   __in REFIID riid,  
   __in_opt void *pv,  
   __in DWORD dwDestContext,  
   __reserved void *pvDestContext,  
   __in DWORD mshlflags,  
   __out DWORD *pSize  
) override;  


Reference to the identifier of the interface to be marshaled.

Interface pointer to be marshaled; can be NULL.

Destination context where the specified interface is to be unmarshaled.

Specify one or more MSHCTX enumeration values.

Currently, unmarshaling can occur either in another apartment of the current process (MSHCTX_INPROC) or in another process on the same computer as the current process (MSHCTX_LOCAL).

Reserved for future use; must be NULL.

Flag indicating whether the data to be marshaled is to be transmitted back to the client process — the typical case — or written to a global table, where it can be retrieved by multiple clients. Specify one or more MSHLFLAGS enumeration values.

When this operation completes, pointer to the upper bound on the amount of data to be written to the marshaling stream.

S_OK if successful; otherwise, E_FAIL or E_NOINTERFACE.

Header: ftm.h

Namespace: Microsoft::WRL

FtmBase Class