How to Use structs in COM interfaces when Automation
compatibility is not an issue?
Answer / krishna akkulu
Structs, also known as User Defined Types (UDTs), can be
used in Automation- compatible interfaces
An Automation- compatible struct may contain only primitive
Automation types as its members.
Nesting structs is not allowed, but VARIANT is allowed thus
enabling nested structs (you can store a struct in a
VARIANT).
In order for a struct to be usable for Automation-
compatible interfaces, the struct must be described in a
type library and it must be declared with its own GUID:
[uuid(21602F40-CC62-11d4-AA2B-00A0CC39CFE0)]
struct MyStruct
{
[helpstring("A long value")]
long nLongValue;
[helpstring("A string")]
BSTR bstrStringValue;
};
// Later in the IDL file
[uuid(...), version(...), helpstring(...)]
library MyLib
{
...
struct MyStruct;
};
For more info see : http://vcfaq.mvps.org/com/4.htm
Is This Answer Correct ? | 0 Yes | 3 No |
How do you make a NET component talk to a COM component?
Differentiate normal DLL to COM DLL
Does .net replace com?
What kind of components can be used as DCOM servers?
Do COM keep track of all the object references(Accounting)?
Can you explain what is dcom?
Explain JIT activation?
How to create an instance of the object in COM?
what is oops
What should QueryInterface functions do if requested object was not found?
How to Use structs in COM interfaces when Automation compatibility is not an issue?
Can I use com components from .net programs?