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