.\" -*- nroff -*- .\" Generated file - DO NOT EDIT! .TH CoCreateFreeThreadedMarshaler 3w "Oct 2012" "Wine API" "Wine API" .SH NAME \fBCoCreateFreeThreadedMarshaler\fR (OLE32.@) .SH SYNOPSIS HRESULT CoCreateFreeThreadedMarshaler ( LPUNKNOWN \fIpunkOuter\fR, LPUNKNOWN* \fIppunkMarshal\fR ) .SH DESCRIPTION .PP Creates a free-threaded marshaler. .SH PARAMS \fIpunkOuter\fR \fB[In]\fR Optional. Outer unknown. .PP \fIppunkMarshal\fR \fB[Out]\fR On return, the inner unknown of the created free-threaded marshaler. .PP .SH RETURNS .PP \fBSuccess:\fR \fBS_OK\fR .PP \fBFailure:\fR \fBE_OUTOFMEMORY\fR if no memory available to create object. .SH NOTES .PP 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. .SH IMPLEMENTATION .PP Declared in \fB"objbase.h"\fR. .PP Implemented in \fB"dlls/ole32/ftmarshal.c"\fR. .PP Debug channel \fB"ole"\fR.