objectfromlresult (oleacc)
Last changed: anfortas.geo@yahoo.com-216.204.61.86

.
Summary
Retrieves a requested interface pointer for an accessible object based on a previously generated object reference

C# Signature:

[DllImport("oleacc.dll", PreserveSig=false)]
[return: MarshalAs(UnmanagedType.Interface)]
static extern object ObjectFromLresult(UIntPtr lResult,
     [MarshalAs(UnmanagedType.LPStruct)] Guid refiid, IntPtr wParam);

VB Signature:

Declare Auto Function ObjectFromLresult Lib "oleacc.dll" (ByVal lResult As UIntPtr, <MarshalAs(UnmanagedType.LPStruct)> ByVal refiid As Guid, ByVal wParam As IntPtr) As <MarshalAs(UnmanagedType.Interface)> Object

or

<Dllimport("oleacc.dll")> _
Shared Function ObjectFromLresult(ByVal lResult As UIntPtr, <MarshalAs(UnmanagedType.LPStruct)> ByVal refiid As Guid, ByVal wParam As IntPtr) As <MarshalAs(UnmanagedType.Interface)> Object
End Function

User-Defined Types:

None.

Notes:

None.

Tips & Tricks:

Please add some!

Sample Code:

// Get the ActiveX interface of some window of class "Internet Explorer_Server"
IntPtr hWnd = GetThatWindow(); // from wherever
uint nMsg = RegisterWindowMessage("WM_HTML_GETOBJECT");
UIntPtr lRes;
if ( SendMessageTimeout(hWnd, nMsg, UIntPtr.Zero, IntPtr.Zero,
     SendMessageTimeoutFlags.SMTO_ABORTIFHUNG, 1000, out lRes) == IntPtr.Zero )
     return null;
return (mshtml.IHTMLDocument) ObjectFromLresult(lRes,
     typeof(mshtml.IHTMLDocument).GUID, IntPtr.Zero);

See

Alternative Managed API:

Do you know one? Please contribute it!

Documentation