Search in sources :

Example 21 with REFIID

use of com.sun.jna.platform.win32.Guid.REFIID in project jna by java-native-access.

the class ComEventCallbacks_Test method GetConnectionInterface.

@Test
public void GetConnectionInterface() {
    // query for ConnectionPointContainer
    Unknown unk = new Unknown(this.ieApp.getValue());
    PointerByReference ppCpc = new PointerByReference();
    HRESULT hr = unk.QueryInterface(new REFIID(IID_IConnectionPointContainer), ppCpc);
    COMUtils.checkRC(hr);
    ConnectionPointContainer cpc = new ConnectionPointContainer(ppCpc.getValue());
    // find connection point for DWebBrowserEvents2
    REFIID riid = new REFIID(IID_DWebBrowserEvents2);
    PointerByReference ppCp = new PointerByReference();
    hr = cpc.FindConnectionPoint(riid, ppCp);
    COMUtils.checkRC(hr);
    ConnectionPoint cp = new ConnectionPoint(ppCp.getValue());
    IID cp_iid = new IID();
    hr = cp.GetConnectionInterface(cp_iid);
    COMUtils.checkRC(hr);
    Assert.assertEquals(IID_DWebBrowserEvents2, cp_iid);
}
Also used : HRESULT(com.sun.jna.platform.win32.WinNT.HRESULT) IID(com.sun.jna.platform.win32.Guid.IID) REFIID(com.sun.jna.platform.win32.Guid.REFIID) PointerByReference(com.sun.jna.ptr.PointerByReference) REFIID(com.sun.jna.platform.win32.Guid.REFIID) Test(org.junit.Test)

Example 22 with REFIID

use of com.sun.jna.platform.win32.Guid.REFIID in project jna by java-native-access.

the class RunningObjectTable_Test method GetObject.

@Test
public void GetObject() {
    PointerByReference pprot = new PointerByReference();
    HRESULT hr = Ole32.INSTANCE.GetRunningObjectTable(new DWORD(0), pprot);
    COMUtils.checkRC(hr);
    IRunningObjectTable rot = new RunningObjectTable(pprot.getValue());
    PointerByReference ppenumMoniker = new PointerByReference();
    hr = rot.EnumRunning(ppenumMoniker);
    COMUtils.checkRC(hr);
    IEnumMoniker iterator = new EnumMoniker(ppenumMoniker.getValue());
    iterator.Reset();
    PointerByReference rgelt = new PointerByReference();
    ULONGByReference pceltFetched = new ULONGByReference();
    hr = iterator.Next(new ULONG(1), rgelt, pceltFetched);
    while (WinNT.S_OK.equals(hr) && pceltFetched.getValue().intValue() > 0) {
        Moniker moniker = new Moniker(rgelt.getValue());
        PointerByReference ppbc = new PointerByReference();
        Ole32.INSTANCE.CreateBindCtx(new DWORD(), ppbc);
        String name = moniker.GetDisplayName(ppbc.getValue(), moniker.getPointer());
        PointerByReference ppunkObject = new PointerByReference();
        hr = rot.GetObject(moniker.getPointer(), ppunkObject);
        COMUtils.checkRC(hr);
        IUnknown unk = new Unknown(ppunkObject.getValue());
        PointerByReference ppvObject = new PointerByReference();
        hr = unk.QueryInterface(new REFIID(IUnknown.IID_IUNKNOWN), ppvObject);
        assertEquals(0, hr.intValue());
        assertNotNull(ppvObject.getValue());
        moniker.Release();
        hr = iterator.Next(new ULONG(1), rgelt, pceltFetched);
    }
}
Also used : ULONG(com.sun.jna.platform.win32.WinDef.ULONG) HRESULT(com.sun.jna.platform.win32.WinNT.HRESULT) DWORD(com.sun.jna.platform.win32.WinDef.DWORD) REFIID(com.sun.jna.platform.win32.Guid.REFIID) ULONGByReference(com.sun.jna.platform.win32.WinDef.ULONGByReference) PointerByReference(com.sun.jna.ptr.PointerByReference) Test(org.junit.Test)

Aggregations

REFIID (com.sun.jna.platform.win32.Guid.REFIID)20 HRESULT (com.sun.jna.platform.win32.WinNT.HRESULT)19 PointerByReference (com.sun.jna.ptr.PointerByReference)16 WString (com.sun.jna.WString)9 IID (com.sun.jna.platform.win32.Guid.IID)7 Test (org.junit.Test)7 COMException (com.sun.jna.platform.win32.COM.COMException)6 DISPIDByReference (com.sun.jna.platform.win32.OaIdl.DISPIDByReference)6 VARIANT (com.sun.jna.platform.win32.Variant.VARIANT)6 ConnectionPoint (com.sun.jna.platform.win32.COM.ConnectionPoint)4 Dispatch (com.sun.jna.platform.win32.COM.Dispatch)4 IntByReference (com.sun.jna.ptr.IntByReference)4 IDispatch (com.sun.jna.platform.win32.COM.IDispatch)3 EXCEPINFO (com.sun.jna.platform.win32.OaIdl.EXCEPINFO)3 DISPPARAMS (com.sun.jna.platform.win32.OleAuto.DISPPARAMS)3 WinDef (com.sun.jna.platform.win32.WinDef)3 ComInterface (com.sun.jna.platform.win32.COM.util.annotation.ComInterface)2 DISPID (com.sun.jna.platform.win32.OaIdl.DISPID)2 Variant (com.sun.jna.platform.win32.Variant)2 DWORDByReference (com.sun.jna.platform.win32.WinDef.DWORDByReference)2