[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

microsoft.public.dotnet.framework.interop

instantiating IGroupPolicyObject

paul moore

9/19/2007 1:26:00 AM

I have
[ComImport, Guid("EA502723-A23D-11d1-A7D3-0000F87571E3"),
InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
interface IGroupPolicyObject
{
.....
}

and
[ComImport, Guid("EA502722-A23D-11d1-A7D3-0000F87571E3")]
class GroupPolicyObject
{
}


I then do


GroupPolicyObject gpo = new GroupPolicyObject();
System.Console.WriteLine("waiting..");
System.Console.Read();
IGroupPolicyObject igpo = (IGroupPolicyObject)gpo;
System.Console.WriteLine("ok");

The cast fails with invlaid cast saying that the object doesnt support the
requested interface (E_NOINTERFACE)

I did run this under windbg and see that
gpedit!CGroupPolicyObject::QueryInterface is called with the IID of
IGroupPolicyObject and it returns OK, but something else is not happy

Doing C++ code
HRESULT hr = CoCreateInstance(CLSID_GroupPolicyObject, NULL,
CLSCTX_ALL, IID_IGroupPolicyObject, (LPVOID*)&p);

works fine, but i want c# (this is 2007 after all)
XP sp2, vs2005