Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
MSDN Library

Marshal.SetComObjectData Method

Sets data referenced by the specified key in the specified COM object.

Namespace:  System.Runtime.InteropServices
Assembly:  mscorlib (in mscorlib.dll)

public static bool SetComObjectData(
	Object obj,
	Object key,
	Object data


Type: System.Object

The COM object in which to store the data.

Type: System.Object

The key in the internal hash table of the COM object in which to store the data.

Type: System.Object

The data to set.

Return Value

Type: System.Boolean
true if the data was set successfully; otherwise, false.


obj is null.


key is null.


obj is not a COM object.


obj is a Windows Runtime object.

All COM objects wrapped in a Runtime Callable Wrapper (RCW) have an associated hash table, to which SetComObjectData adds data. Marshal.GetComObjectData retrieves data from the hash table. You should never have to call either method from your code.

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

  • SecurityCriticalAttribute 

    requires full trust for the immediate caller. This member cannot be used by partially trusted or transparent code.

© 2015 Microsoft