Scroll to navigation

CoCreateFreeThreadedMarshaler(3w) Wine API CoCreateFreeThreadedMarshaler(3w)

NAME

CoCreateFreeThreadedMarshaler (OLE32.@)

SYNOPSIS

HRESULT CoCreateFreeThreadedMarshaler
(
LPUNKNOWN punkOuter,
LPUNKNOWN* ppunkMarshal
)
 

DESCRIPTION

Creates a free-threaded marshaler.
 

PARAMS

punkOuter [In] Optional. Outer unknown.
ppunkMarshal [Out] On return, the inner unknown of the created free-threaded marshaler.
 

RETURNS

Success: S_OK
Failure: E_OUTOFMEMORY if no memory available to create object.
 

NOTES

Objects that ensure their state is maintained consistent when used by multiple threads and reference no single-threaded objects are known as free-threaded. The free-threaded marshaler enables these objects to be efficiently marshaled within the same process, by not creating proxies (as they aren't needed for the object to be safely used), whilst still allowing the object to be used in inter-process and inter-machine contexts.
 

IMPLEMENTATION

Declared in "objbase.h".
Implemented in "dlls/ole32/ftmarshal.c".
Debug channel "ole".
Oct 2012 Wine API