Export (0) Print
Expand All

Marshal Methods

The Marshal type exposes the following members.

  Name Description
Public method Static member AddRef Increments the reference count on the specified interface.
Public method Static member AllocCoTaskMem Allocates a block of memory of specified size from the COM task memory allocator.
Public method Static member AllocHGlobal(Int32) Allocates memory from the unmanaged memory of the process by using the specified number of bytes.
Public method Static member AllocHGlobal(IntPtr) Allocates memory from the unmanaged memory of the process by using the pointer to the specified number of bytes.
Public method Static member AreComObjectsAvailableForCleanup Indicates whether runtime callable wrappers (RCWs) from any context are available for cleanup.
Public method Static member BindToMoniker Gets an interface pointer identified by the specified moniker.
Public method Static member ChangeWrapperHandleStrength Changes the strength of an object's COM Callable Wrapper (CCW) handle.
Public method Static member CleanupUnusedObjectsInCurrentContext Notifies the runtime to clean up all Runtime Callable Wrappers (RCWs) allocated in the current context.
Public method Static member Copy(Byte[], Int32, IntPtr, Int32) Copies data from a one-dimensional, managed 8-bit unsigned integer array to an unmanaged memory pointer.
Public method Static member Copy(Char[], Int32, IntPtr, Int32) Copies data from a one-dimensional, managed character array to an unmanaged memory pointer.
Public method Static member Copy(Double[], Int32, IntPtr, Int32) Copies data from a one-dimensional, managed double-precision floating-point number array to an unmanaged memory pointer.
Public method Static member Copy(Int16[], Int32, IntPtr, Int32) Copies data from a one-dimensional, managed 16-bit signed integer array to an unmanaged memory pointer.
Public method Static member Copy(Int32[], Int32, IntPtr, Int32) Copies data from a one-dimensional, managed 32-bit signed integer array to an unmanaged memory pointer.
Public method Static member Copy(Int64[], Int32, IntPtr, Int32) Copies data from a one-dimensional, managed 64-bit signed integer array to an unmanaged memory pointer.
Public method Static member Copy(IntPtr, Byte[], Int32, Int32) Copies data from an unmanaged memory pointer to a managed 8-bit unsigned integer array.
Public method Static member Copy(IntPtr, Char[], Int32, Int32) Copies data from an unmanaged memory pointer to a managed character array.
Public method Static member Copy(IntPtr, Double[], Int32, Int32) Copies data from an unmanaged memory pointer to a managed double-precision floating-point number array.
Public method Static member Copy(IntPtr, Int16[], Int32, Int32) Copies data from an unmanaged memory pointer to a managed 16-bit signed integer array.
Public method Static member Copy(IntPtr, Int32[], Int32, Int32) Copies data from an unmanaged memory pointer to a managed 32-bit signed integer array.
Public method Static member Copy(IntPtr, Int64[], Int32, Int32) Copies data from an unmanaged memory pointer to a managed 64-bit signed integer array.
Public method Static member Copy(IntPtr, IntPtr[], Int32, Int32) Copies data from an unmanaged memory pointer to a managed IntPtr array.
Public method Static member Copy(IntPtr, Single[], Int32, Int32) Copies data from an unmanaged memory pointer to a managed single-precision floating-point number array.
Public method Static member Copy(IntPtr[], Int32, IntPtr, Int32) Copies data from a one-dimensional, managed IntPtr array to an unmanaged memory pointer.
Public method Static member Copy(Single[], Int32, IntPtr, Int32) Copies data from a one-dimensional, managed single-precision floating-point number array to an unmanaged memory pointer.
Public method Static member CreateAggregatedObject(IntPtr, Object) Aggregates a managed object with the specified COM object.
Public method Static member CreateAggregatedObject<T>(IntPtr, T) [Supported in the .NET Framework 4.5.1 and later versions] Aggregates a managed object of the specified type with the specified COM object.
Public method Static member CreateWrapperOfType(Object, Type) Wraps the specified COM object in an object of the specified type.
Public method Static member CreateWrapperOfType<T, TWrapper>(T) [Supported in the .NET Framework 4.5.1 and later versions] Wraps the specified COM object in an object of the specified type.
Public method Static member DestroyStructure(IntPtr, Type) Frees all substructures that the specified unmanaged memory block points to.
Public method Static member DestroyStructure<T>(IntPtr) [Supported in the .NET Framework 4.5.1 and later versions] Frees all substructures of a specified type that the specified unmanaged memory block points to.
Public method Static member FinalReleaseComObject Releases all references to a Runtime Callable Wrapper (RCW) by setting its reference count to 0.
Public method Static member FreeBSTR Frees a BSTR using the COM SysFreeString function.
Public method Static member FreeCoTaskMem Frees a block of memory allocated by the unmanaged COM task memory allocator.
Public method Static member FreeHGlobal Frees memory previously allocated from the unmanaged memory of the process.
Public method Static member GenerateGuidForType Returns the globally unique identifier (GUID) for the specified type, or generates a GUID using the algorithm used by the Type Library Exporter (Tlbexp.exe).
Public method Static member GenerateProgIdForType Returns a programmatic identifier (ProgID) for the specified type.
Public method Static member GetActiveObject Obtains a running instance of the specified object from the running object table (ROT).
Public method Static member GetComInterfaceForObject(Object, Type) Returns a pointer to an IUnknown interface that represents the specified interface on the specified object. Custom query interface access is enabled by default.
Public method Static member GetComInterfaceForObject(Object, Type, CustomQueryInterfaceMode) Returns a pointer to an IUnknown interface that represents the specified interface on the specified object. Custom query interface access is controlled by the specified customization mode.
Public method Static member GetComInterfaceForObject<T, TInterface>(T) [Supported in the .NET Framework 4.5.1 and later versions] Returns a pointer to an IUnknown interface that represents the specified interface on an object of the specified type. Custom query interface access is enabled by default.
Public method Static member GetComInterfaceForObjectInContext Returns an interface pointer that represents the specified interface for an object, if the caller is in the same context as that object.
Public method Static member GetComObjectData Retrieves data that is referenced by the specified key from the specified COM object.
Public method Static member GetComSlotForMethodInfo Retrieves the virtual function table (v-table or VTBL) slot for a specified System.Reflection.MemberInfo type when that type is exposed to COM.
Public method Static member GetDelegateForFunctionPointer(IntPtr, Type) Converts an unmanaged function pointer to a delegate.
Public method Static member GetDelegateForFunctionPointer<TDelegate>(IntPtr) [Supported in the .NET Framework 4.5.1 and later versions] Converts an unmanaged function pointer to a delegate of a specified type.
Public method Static member GetEndComSlot Retrieves the last slot in the virtual function table (v-table or VTBL) of a type when exposed to COM.
Public method Static member GetExceptionCode Retrieves a code that identifies the type of the exception that occurred.
Public method Static member GetExceptionForHR(Int32) Converts the specified HRESULT error code to a corresponding Exception object.
Public method Static member GetExceptionForHR(Int32, IntPtr) Converts the specified HRESULT error code to a corresponding Exception object, with additional error information passed in an IErrorInfo interface for the exception object.
Public method Static member GetExceptionPointers Retrieves a computer-independent description of an exception, and information about the state that existed for the thread when the exception occurred.
Public method Static member GetFunctionPointerForDelegate(Delegate) Converts a delegate into a function pointer that is callable from unmanaged code.
Public method Static member GetFunctionPointerForDelegate<TDelegate>(TDelegate) [Supported in the .NET Framework 4.5.1 and later versions] Converts a delegate of a specified type to a function pointer that is callable from unmanaged code.
Public method Static member GetHINSTANCE Returns the instance handle (HINSTANCE) for the specified module.
Public method Static member GetHRForException Converts the specified exception to an HRESULT.
Public method Static member GetHRForLastWin32Error Returns the HRESULT corresponding to the last error incurred by Win32 code executed using Marshal.
Public method Static member GetIDispatchForObject Returns an IDispatch interface from a managed object.
Public method Static member GetIDispatchForObjectInContext Returns an IDispatch interface pointer from a managed object, if the caller is in the same context as that object.
Public method Static member GetITypeInfoForType Returns a System.Runtime.InteropServices.ComTypes.ITypeInfo interface from a managed type.
Public method Static member GetIUnknownForObject Returns an IUnknown interface from a managed object.
Public method Static member GetIUnknownForObjectInContext Returns an IUnknown interface from a managed object, if the caller is in the same context as that object.
Public method Static member GetLastWin32Error Returns the error code returned by the last unmanaged function that was called using platform invoke that has the DllImportAttribute.SetLastError flag set.
Public method Static member GetManagedThunkForUnmanagedMethodPtr Obsolete. Gets a pointer to a runtime-generated function that marshals a call from managed to unmanaged code.
Public method Static member GetMethodInfoForComSlot Retrieves a MemberInfo object for the specified virtual function table (v-table or VTBL) slot.
Public method Static member GetNativeVariantForObject(Object, IntPtr) Converts an object to a COM VARIANT.
Public method Static member GetNativeVariantForObject<T>(T, IntPtr) [Supported in the .NET Framework 4.5.1 and later versions] Converts an object of a specified type to a COM VARIANT.
Public method Static member GetObjectForIUnknown Returns an instance of a type that represents a COM object by a pointer to its IUnknown interface.
Public method Static member GetObjectForNativeVariant(IntPtr) Converts a COM VARIANT to an object.
Public method Static member GetObjectForNativeVariant<T>(IntPtr) [Supported in the .NET Framework 4.5.1 and later versions] Converts a COM VARIANT to an object of a specified type.
Public method Static member GetObjectsForNativeVariants(IntPtr, Int32) Converts an array of COM VARIANTs to an array of objects.
Public method Static member GetObjectsForNativeVariants<T>(IntPtr, Int32) [Supported in the .NET Framework 4.5.1 and later versions] Converts an array of COM VARIANTs to an array of a specified type.
Public method Static member GetStartComSlot Gets the first slot in the virtual function table (v-table or VTBL) that contains user-defined methods.
Public method Static member GetThreadFromFiberCookie Obsolete. Converts a fiber cookie into the corresponding System.Threading.Thread instance.
Public method Static member GetTypedObjectForIUnknown Returns a managed object of a specified type that represents a COM object.
Public method Static member GetTypeForITypeInfo Converts an unmanaged ITypeInfo object into a managed System.Type object.
Public method Static member GetTypeFromCLSID Returns the type associated with the specified class identifier (CLSID).
Public method Static member GetTypeInfoName(ITypeInfo) Retrieves the name of the type represented by an ITypeInfo object.
Public method Static member GetTypeInfoName(UCOMITypeInfo) Obsolete. Retrieves the name of the type represented by an ITypeInfo object.
Public method Static member GetTypeLibGuid(ITypeLib) Retrieves the library identifier (LIBID) of a type library.
Public method Static member GetTypeLibGuid(UCOMITypeLib) Obsolete. Retrieves the library identifier (LIBID) of a type library.
Public method Static member GetTypeLibGuidForAssembly Retrieves the library identifier (LIBID) that is assigned to a type library when it was exported from the specified assembly.
Public method Static member GetTypeLibLcid(ITypeLib) Retrieves the LCID of a type library.
Public method Static member GetTypeLibLcid(UCOMITypeLib) Obsolete. Retrieves the LCID of a type library.
Public method Static member GetTypeLibName(ITypeLib) Retrieves the name of a type library.
Public method Static member GetTypeLibName(UCOMITypeLib) Obsolete. Retrieves the name of a type library.
Public method Static member GetTypeLibVersionForAssembly Retrieves the version number of a type library that will be exported from the specified assembly.
Public method Static member GetUniqueObjectForIUnknown Creates a unique Runtime Callable Wrapper (RCW) object for a given IUnknown interface.
Public method Static member GetUnmanagedThunkForManagedMethodPtr Obsolete. Gets a pointer to a runtime-generated function that marshals a call from unmanaged to managed code.
Public method Static member IsComObject Indicates whether a specified object represents a COM object.
Public method Static member IsTypeVisibleFromCom Indicates whether a type is visible to COM clients.
Public method Static member NumParamBytes Calculates the number of bytes in unmanaged memory that are required to hold the parameters for the specified method.
Public method Static member OffsetOf(Type, String) Returns the field offset of the unmanaged form of the managed class.
Public method Static member OffsetOf<T>(String) [Supported in the .NET Framework 4.5.1 and later versions] Returns the field offset of the unmanaged form of a specified managed class.
Public method Static member Prelink Executes one-time method setup tasks without calling the method.
Public method Static member PrelinkAll Performs a pre-link check for all methods on a class.
Public method Static member PtrToStringAnsi(IntPtr) Copies all characters up to the first null character from an unmanaged ANSI string to a managed String, and widens each ANSI character to Unicode.
Public method Static member PtrToStringAnsi(IntPtr, Int32) Allocates a managed String, copies a specified number of characters from an unmanaged ANSI string into it, and widens each ANSI character to Unicode.
Public method Static member PtrToStringAuto(IntPtr) Allocates a managed String and copies all characters up to the first null character from a string stored in unmanaged memory into it.
Public method Static member PtrToStringAuto(IntPtr, Int32) Allocates a managed String and copies the specified number of characters from a string stored in unmanaged memory into it.
Public method Static member PtrToStringBSTR Allocates a managed String and copies a BSTR Data Type string stored in unmanaged memory into it.
Public method Static member PtrToStringUni(IntPtr) Allocates a managed String and copies all characters up to the first null character from an unmanaged Unicode string into it.
Public method Static member PtrToStringUni(IntPtr, Int32) Allocates a managed String and copies a specified number of characters from an unmanaged Unicode string into it.
Public method Static member PtrToStructure(IntPtr, Object) Marshals data from an unmanaged block of memory to a managed object.
Public method Static member PtrToStructure(IntPtr, Type) Marshals data from an unmanaged block of memory to a newly allocated managed object of the specified type.
Public method Static member PtrToStructure<T>(IntPtr) [Supported in the .NET Framework 4.5.1 and later versions] Marshals data from an unmanaged block of memory to a newly allocated managed object of the type specified by a generic type parameter.
Public method Static member PtrToStructure<T>(IntPtr, T) [Supported in the .NET Framework 4.5.1 and later versions] Marshals data from an unmanaged block of memory to a managed object of the specified type.
Public method Static member QueryInterface Requests a pointer to a specified interface from a COM object.
Public method Static member ReadByte(IntPtr) Reads a single byte from unmanaged memory.
Public method Static member ReadByte(IntPtr, Int32) Reads a single byte at a given offset (or index) from unmanaged memory.
Public method Static member ReadByte(Object, Int32) Reads a single byte at a given offset (or index) from unmanaged memory.
Public method Static member ReadInt16(IntPtr) Reads a 16-bit signed integer from unmanaged memory.
Public method Static member ReadInt16(IntPtr, Int32) Reads a 16-bit signed integer at a given offset from unmanaged memory.
Public method Static member ReadInt16(Object, Int32) Reads a 16-bit signed integer at a given offset from unmanaged memory.
Public method Static member ReadInt32(IntPtr) Reads a 32-bit signed integer from unmanaged memory.
Public method Static member ReadInt32(IntPtr, Int32) Reads a 32-bit signed integer at a given offset from unmanaged memory.
Public method Static member ReadInt32(Object, Int32) Reads a 32-bit signed integer at a given offset from unmanaged memory.
Public method Static member ReadInt64(IntPtr) Reads a 64-bit signed integer from unmanaged memory.
Public method Static member ReadInt64(IntPtr, Int32) Reads a 64-bit signed integer at a given offset from unmanaged memory.
Public method Static member ReadInt64(Object, Int32) Reads a 64-bit signed integer at a given offset from unmanaged memory.
Public method Static member ReadIntPtr(IntPtr) Reads a processor native-sized integer from unmanaged memory.
Public method Static member ReadIntPtr(IntPtr, Int32) Reads a processor native sized integer at a given offset from unmanaged memory.
Public method Static member ReadIntPtr(Object, Int32) Reads a processor native sized integer from unmanaged memory.
Public method Static member ReAllocCoTaskMem Resizes a block of memory previously allocated with AllocCoTaskMem.
Public method Static member ReAllocHGlobal Resizes a block of memory previously allocated with AllocHGlobal.
Public method Static member Release Decrements the reference count on the specified interface.
Public method Static member ReleaseComObject Decrements the reference count of the specified Runtime Callable Wrapper (RCW) associated with the specified COM object.
Public method Static member ReleaseThreadCache Obsolete. Releases the thread cache.
Public method Static member SecureStringToBSTR Allocates a BSTR Data Type and copies the contents of a managed SecureString object into it.
Public method Static member SecureStringToCoTaskMemAnsi Copies the contents of a managed SecureString object to a block of memory allocated from the unmanaged COM task allocator.
Public method Static member SecureStringToCoTaskMemUnicode Copies the contents of a managed SecureString object to a block of memory allocated from the unmanaged COM task allocator.
Public method Static member SecureStringToGlobalAllocAnsi Copies the contents of a managed SecureString into unmanaged memory, converting into ANSI format as it copies.
Public method Static member SecureStringToGlobalAllocUnicode Copies the contents of a managed SecureString object into unmanaged memory.
Public method Static member SetComObjectData Sets data referenced by the specified key in the specified COM object.
Public method Static member SizeOf(Object) Returns the unmanaged size of an object in bytes.
Public method Static member SizeOf(Type) Returns the size of an unmanaged type in bytes.
Public method Static member SizeOf<T>() [Supported in the .NET Framework 4.5.1 and later versions] Returns the size of an unmanaged type in bytes.
Public method Static member SizeOf<T>(T) [Supported in the .NET Framework 4.5.1 and later versions] Returns the unmanaged size of an object of a specified type in bytes.
Public method Static member StringToBSTR Allocates a BSTR Data Type and copies the contents of a managed String into it.
Public method Static member StringToCoTaskMemAnsi Copies the contents of a managed String to a block of memory allocated from the unmanaged COM task allocator.
Public method Static member StringToCoTaskMemAuto Copies the contents of a managed String to a block of memory allocated from the unmanaged COM task allocator.
Public method Static member StringToCoTaskMemUni Copies the contents of a managed String to a block of memory allocated from the unmanaged COM task allocator.
Public method Static member StringToHGlobalAnsi Copies the contents of a managed String into unmanaged memory, converting into ANSI format as it copies.
Public method Static member StringToHGlobalAuto Copies the contents of a managed String into unmanaged memory, converting into ANSI format if required.
Public method Static member StringToHGlobalUni Copies the contents of a managed String into unmanaged memory.
Public method Static member StructureToPtr(Object, IntPtr, Boolean) Marshals data from a managed object to an unmanaged block of memory.
Public method Static member StructureToPtr<T>(T, IntPtr, Boolean) [Supported in the .NET Framework 4.5.1 and later versions] Marshals data from a managed object of a specified type to an unmanaged block of memory.
Public method Static member ThrowExceptionForHR(Int32) Throws an exception with a specific failure HRESULT value.
Public method Static member ThrowExceptionForHR(Int32, IntPtr) Throws an exception with a specific failure HRESULT, based on the specified IErrorInfo Interface interface.
Public method Static member UnsafeAddrOfPinnedArrayElement(Array, Int32) Gets the address of the element at the specified index inside the specified array.
Public method Static member UnsafeAddrOfPinnedArrayElement<T>(T[], Int32) [Supported in the .NET Framework 4.5.1 and later versions] Gets the address of the element at the specified index in an array of a specified type.
Public method Static member WriteByte(IntPtr, Byte) Writes a single byte value to unmanaged memory.
Public method Static member WriteByte(IntPtr, Int32, Byte) Writes a single byte value to unmanaged memory at a specified offset.
Public method Static member WriteByte(Object, Int32, Byte) Writes a single byte value to unmanaged memory at a specified offset.
Public method Static member WriteInt16(IntPtr, Char) Writes a character as a 16-bit integer value to unmanaged memory.
Public method Static member WriteInt16(IntPtr, Int16) Writes a 16-bit integer value to unmanaged memory.
Public method Static member WriteInt16(IntPtr, Int32, Char) Writes a 16-bit signed integer value to unmanaged memory at a specified offset.
Public method Static member WriteInt16(IntPtr, Int32, Int16) Writes a 16-bit signed integer value into unmanaged memory at a specified offset.
Public method Static member WriteInt16(Object, Int32, Char) Writes a 16-bit signed integer value to unmanaged memory at a specified offset.
Public method Static member WriteInt16(Object, Int32, Int16) Writes a 16-bit signed integer value to unmanaged memory at a specified offset.
Public method Static member WriteInt32(IntPtr, Int32) Writes a 32-bit signed integer value to unmanaged memory.
Public method Static member WriteInt32(IntPtr, Int32, Int32) Writes a 32-bit signed integer value into unmanaged memory at a specified offset.
Public method Static member WriteInt32(Object, Int32, Int32) Writes a 32-bit signed integer value to unmanaged memory at a specified offset.
Public method Static member WriteInt64(IntPtr, Int64) Writes a 64-bit signed integer value to unmanaged memory.
Public method Static member WriteInt64(IntPtr, Int32, Int64) Writes a 64-bit signed integer value to unmanaged memory at a specified offset.
Public method Static member WriteInt64(Object, Int32, Int64) Writes a 64-bit signed integer value to unmanaged memory at a specified offset.
Public method Static member WriteIntPtr(IntPtr, IntPtr) Writes a processor native sized integer value into unmanaged memory.
Public method Static member WriteIntPtr(IntPtr, Int32, IntPtr) Writes a processor native-sized integer value to unmanaged memory at a specified offset.
Public method Static member WriteIntPtr(Object, Int32, IntPtr) Writes a processor native sized integer value to unmanaged memory.
Public method Static member ZeroFreeBSTR Frees a BSTR Data Type pointer that was allocated using the SecureStringToBSTR method.
Public method Static member ZeroFreeCoTaskMemAnsi Frees an unmanaged string pointer that was allocated using the SecureStringToCoTaskMemAnsi method.
Public method Static member ZeroFreeCoTaskMemUnicode Frees an unmanaged string pointer that was allocated using the SecureStringToCoTaskMemUnicode method.
Public method Static member ZeroFreeGlobalAllocAnsi Frees an unmanaged string pointer that was allocated using the SecureStringToGlobalAllocAnsi method.
Public method Static member ZeroFreeGlobalAllocUnicode Frees an unmanaged string pointer that was allocated using the SecureStringToGlobalAllocUnicode method.
Top
Show:
© 2014 Microsoft