-----------------------------------------------------------

New Message on BDOTNET

-----------------------------------------------------------
From: LovedJohnySmith
Message 1 in Discussion



...continues from Part
II

Again we will check what
things look like in OLE/COM Object Viewer. 

// Generated .IDL file (by the OLE/COM Object Viewer)


// 

// typelib filename: sample.tlb 



[ 

uuid(AD7B6A7C-4F96-3710-B1AC-5170E611BA57), 

version(1.0), 

custom(90883F05-3D28-11D2-8F17-00A0C9A6186D, sample, Version=0.0.0.0, 
Culture=neutral,
PublicKeyToken=null) 



] 

library sample 

{ 

// TLib : // TLib : Common Language Runtime Library : 
{BED7F4EA-1A96-11D2-8F08-00A0C9A6186D}


importlib("mscorlib.tlb"); 

// TLib : OLE Automation : {00020430-0000-0000-C000-000000000046}


importlib("stdole2.tlb"); 



// Forward declare all types defined in this typelib


interface _T; 



[ 

uuid(4996A037-02BD-3839-A363-A9A321885D2C), 

version(1.0), 

custom(0F21F359-AB84-41E8-9A78-36D110E6D2F9, T) 

] 

coclass T { 

[default] interface _T; 

interface _Object; 

}; 



[ 

odl, 

uuid(C145FF57-9C23-355C-B068-BADECB60531B), 

hidden, 

dual, 

nonextensible, 

oleautomation, 

custom(0F21F359-AB84-41E8-9A78-36D110E6D2F9, T) 



] 

interface _T : IDispatch { 

[id(00000000), propget, 

custom(54FC8F55-38DE-4703-9C4E-250351302B1C, 1)] 

HRESULT ToString([out, retval] BSTR* pRetVal); 

[id(0x60020001)] 

HRESULT Equals( 

[in] VARIANT obj, 

[out, retval] VARIANT_BOOL* pRetVal); 

[id(0x60020002)] 

HRESULT GetHashCode([out, retval] long* pRetVal); 

[id(0x60020003)] 

HRESULT GetType([out, retval] _Type** pRetVal); 

[id(0x60020004)] 

HRESULT A( 

[in] BSTR s, 

[out, retval] BSTR* pRetVal); 

}; 

}; 

If we compare it with
old IDL now our class T is described with interface _T as last time but
there are all methods (some of them are inherited from Object).


If you like its possible to do things slightly differently, you can generate
tlb in one go using command regasm sample.dll /tlb:sample.tlb or you can
generate registry file and do registration manually using regasm str.dll
/regfile:sample.reg which looks like this 

REGEDIT4 

[HKEY_CLASSES_ROOT\T] 

@="T" 

[HKEY_CLASSES_ROOT\T\CLSID] 

@="{4996A037-02BD-3839-A363-A9A321885D2C}"


[HKEY_CLASSES_ROOT\CLSID\{4996A037-02BD-3839-A363-A9A321885D2C}]


@="T" 

[HKEY_CLASSES_ROOT\CLSID\{4996A037-02BD-3839-A363-A9A321885D2C}\InprocServer32]


@="C:\WINNT\System32\mscoree.dll" 

"ThreadingModel"="Both" 

"Class"="T" 

"Assembly"="sample, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"


"RuntimeVersion"="v1.0.3705" 

[HKEY_CLASSES_ROOT\CLSID\{4996A037-02BD-3839-A363-A9A321885D2C}\ProgId]


@="T" 

[HKEY_CLASSES_ROOT\CLSID\{4996A037-02BD-3839-A363-A9A321885D2C}\Implemented
Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}]


I hope this article cover
How we can Invoke Managed Code from Unmanaged Code., Pls lemmi noe your
comments and queries

Regards,

Smith


Notice: The information contained in this e-mail message and/or attachments to 
it may contain confidential or privileged information.   If you are not the 
intended recipient, any dissemination, use, review, distribution, printing or 
copying of the information contained in this e-mail message and/or attachments 
to it are strictly prohibited.   If you have received this communication in 
error, please notify us by reply e-mail or telephone and immediately and 
permanently delete the message and any attachments.  Thank you




-----------------------------------------------------------

To stop getting this e-mail, or change how often it arrives, go to your E-mail 
Settings.
http://groups.msn.com/BDotNet/_emailsettings.msnw

Need help? If you've forgotten your password, please go to Passport Member 
Services.
http://groups.msn.com/_passportredir.msnw?ppmprop=help

For other questions or feedback, go to our Contact Us page.
http://groups.msn.com/contact

If you do not want to receive future e-mail from this MSN group, or if you 
received this message by mistake, please click the "Remove" link below. On the 
pre-addressed e-mail message that opens, simply click "Send". Your e-mail 
address will be deleted from this group's mailing list.
mailto:[EMAIL PROTECTED]

Reply via email to