Search in sources :

Example 1 with REFIID

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

the class IUnknownTest method testQueryInterface.

public void testQueryInterface() {
    Unknown iUnknown = this.createIUnknown();
    PointerByReference ppvObject = new PointerByReference();
    iUnknown.QueryInterface(new REFIID(IUnknown.IID_IUNKNOWN), ppvObject);
    assertTrue("ppvObject:" + ppvObject.toString(), ppvObject != null);
}
Also used : PointerByReference(com.sun.jna.ptr.PointerByReference) REFIID(com.sun.jna.platform.win32.Guid.REFIID)

Example 2 with REFIID

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

the class ComEventCallbacksFactory_Test method testComEventCallback.

@Test
public void testComEventCallback() {
    DWebBrowserEvents2_Listener listener = new DWebBrowserEvents2_Listener();
    CallbackProxy proxy = new CallbackProxy(factory, DWebBrowserEvents2.class, listener);
    REFIID refiid = new REFIID(new IID(DWebBrowserEvents2.IID));
    // precondition: the structures for the listenedToRiid and
    // refiid have to be different (else the PointerType#equals would
    // be enough
    assertFalse(proxy.listenedToRiid.getPointer().equals(refiid.getPointer()));
    // Neverthe less, the QueryInterface method has to return the
    // correct pointer (the IID is relevant, not its wrapper
    PointerByReference interfacePointer = new PointerByReference();
    // Check the "business" interface
    HRESULT hr = proxy.QueryInterface(refiid, interfacePointer);
    assertTrue(COMUtils.SUCCEEDED(hr));
    assertEquals(interfacePointer.getValue(), proxy.getPointer());
    // IUnknown must be implemented
    hr = proxy.QueryInterface(new REFIID(IID_IUNKNOWN), interfacePointer);
    assertTrue(COMUtils.SUCCEEDED(hr));
    assertEquals(interfacePointer.getValue(), proxy.getPointer());
    // Currently only Dispatch based callbacks are supported,
    // so this interface must be present to
    hr = proxy.QueryInterface(new REFIID(IID_IDISPATCH), interfacePointer);
    assertTrue(COMUtils.SUCCEEDED(hr));
    assertEquals(interfacePointer.getValue(), proxy.getPointer());
    // Negative check -- this has to fail, the IID should not be
    // assigned
    hr = proxy.QueryInterface(new REFIID(new IID("{00000000-0000-0000-C000-000000000000}")), interfacePointer);
    assertTrue(COMUtils.FAILED(hr));
}
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 3 with REFIID

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

the class ComEventCallbacks_Test method before.

@Before
public void before() {
    AbstractWin32TestSupport.killProcessByName("iexplore.exe");
    try {
        Thread.sleep(5 * 1000);
    } catch (InterruptedException ex) {
    }
    HRESULT hr = Ole32.INSTANCE.CoInitializeEx(null, Ole32.COINIT_MULTITHREADED);
    COMUtils.checkRC(hr);
    // Create InternetExplorer object
    ieApp = new PointerByReference();
    hr = Ole32.INSTANCE.CoCreateInstance(CLSID_InternetExplorer, null, WTypes.CLSCTX_SERVER, IDispatch.IID_IDISPATCH, ieApp);
    COMUtils.checkRC(hr);
    ieDispatch = new Dispatch(ieApp.getValue());
    ieDispatch.AddRef();
    hr = ieDispatch.GetIDsOfNames(new REFIID(Guid.IID_NULL), new WString[] { new WString("Quit") }, 1, lcid, dispIdQuit);
    COMUtils.checkRC(hr);
    hr = ieDispatch.GetIDsOfNames(new REFIID(Guid.IID_NULL), new WString[] { new WString("Visible") }, 1, lcid, dispIdVisible);
    COMUtils.checkRC(hr);
    hr = ieDispatch.GetIDsOfNames(new REFIID(Guid.IID_NULL), new WString[] { new WString("Navigate") }, 1, lcid, dispIdNavigate);
    COMUtils.checkRC(hr);
}
Also used : WString(com.sun.jna.WString) HRESULT(com.sun.jna.platform.win32.WinNT.HRESULT) PointerByReference(com.sun.jna.ptr.PointerByReference) REFIID(com.sun.jna.platform.win32.Guid.REFIID) Before(org.junit.Before)

Example 4 with REFIID

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

the class ComEventCallbacks_Test method FindConnectionPoint.

@Test
public void FindConnectionPoint() {
    // query for ConnectionPointContainer
    Unknown unk = new Unknown(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);
    // On success the returned pointer must not be null
    Assert.assertNotNull(ppCpc.getPointer());
}
Also used : HRESULT(com.sun.jna.platform.win32.WinNT.HRESULT) PointerByReference(com.sun.jna.ptr.PointerByReference) REFIID(com.sun.jna.platform.win32.Guid.REFIID) Test(org.junit.Test)

Example 5 with REFIID

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

the class IDispatchTest method testGetIDsOfNames.

public void testGetIDsOfNames() {
    Dispatch dispatch = this.createIDispatch();
    WString[] ptName = new WString[] { new WString("Application") };
    DISPIDByReference pdispID = new DISPIDByReference();
    HRESULT hr = dispatch.GetIDsOfNames(new REFIID(Guid.IID_NULL), ptName, 1, LOCALE_SYSTEM_DEFAULT, pdispID);
    COMUtils.checkRC(hr);
    assertEquals(0, hr.intValue());
}
Also used : WString(com.sun.jna.WString) HRESULT(com.sun.jna.platform.win32.WinNT.HRESULT) DISPIDByReference(com.sun.jna.platform.win32.OaIdl.DISPIDByReference) REFIID(com.sun.jna.platform.win32.Guid.REFIID)

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