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);
}
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));
}
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);
}
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());
}
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());
}
Aggregations