use of com.sun.jna.platform.win32.COM.ITypeInfo in project jna by java-native-access.
the class ITypeInfoTest method testGetMops.
@Test
public void testGetMops() {
ITypeInfo typeInfo = getTypeInfo();
MEMBERID memid = new MEMBERID(0);
BSTRByReference pBstrMops = new BSTRByReference();
HRESULT hr = typeInfo.GetMops(memid, pBstrMops);
COMUtils.checkRC(hr);
assertEquals(0, hr.intValue());
//System.out.println("pBstrMops: " + pBstrMops.toString());
}
use of com.sun.jna.platform.win32.COM.ITypeInfo in project jna by java-native-access.
the class ITypeInfoTest method testGetImplTypeFlags.
@Test
public void testGetImplTypeFlags() {
ITypeInfo typeInfo = getTypeInfo();
IntByReference pImplTypeFlags = new IntByReference();
HRESULT hr = typeInfo.GetImplTypeFlags(new UINT(0), pImplTypeFlags);
COMUtils.checkRC(hr);
assertEquals(0, hr.intValue());
//System.out.println("GetImplTypeFlags: " + pImplTypeFlags.toString());
}
use of com.sun.jna.platform.win32.COM.ITypeInfo in project jna by java-native-access.
the class ITypeLibTest method testGetTypeInfo.
public void testGetTypeInfo() {
ITypeLib shellTypeLib = loadShellTypeLib();
PointerByReference ppTInfo = new PointerByReference();
HRESULT hr = shellTypeLib.GetTypeInfo(new UINT(0), ppTInfo);
assertTrue(COMUtils.SUCCEEDED(hr));
//System.out.println("ITypeInfo: " + ppTInfo.toString());
}
use of com.sun.jna.platform.win32.COM.ITypeInfo in project jna by java-native-access.
the class TypeLibUtilTest method testFindName.
public void testFindName() {
// Test is modelled after ITypeLibTest#testFindName
TypeLibUtil shellTypeLib = loadShellTypeLib();
String memberValue = "count";
String memberValueOk = "Count";
FindName result = shellTypeLib.FindName(memberValue, 0, (short) 100);
// 2 matches come from manual tests
assertEquals(2, result.getFound());
// Check that function return corrected member name (Count) - see uppercase C
assertEquals(memberValueOk, result.getNameBuf());
// There have to be as many pointers as reported by pcFound
ITypeInfo[] typelib = result.getTInfo();
assertEquals(2, typelib.length);
assertNotNull(typelib[0]);
assertNotNull(typelib[1]);
PointerByReference pbr = new PointerByReference();
HRESULT hr = typelib[1].GetTypeAttr(pbr);
assertTrue(COMUtils.SUCCEEDED(hr));
OaIdl.TYPEATTR pTypeAttr = new OaIdl.TYPEATTR(pbr.getValue());
// Either interface FolderItemVerbs ({1F8352C0-50B0-11CF-960C-0080C7F4EE85})
// or FolderItems ({744129E0-CBE5-11CE-8350-444553540000})
String typeGUID = pTypeAttr.guid.toGuidString();
assertTrue(typeGUID.equals("{1F8352C0-50B0-11CF-960C-0080C7F4EE85}") || typeGUID.equals("{744129E0-CBE5-11CE-8350-444553540000}"));
typelib[1].ReleaseTypeAttr(pTypeAttr);
}
use of com.sun.jna.platform.win32.COM.ITypeInfo in project jna by java-native-access.
the class TypeLibUtilTest method testGetTypeInfo.
public void testGetTypeInfo() {
TypeLibUtil shellTypeLib = loadShellTypeLib();
int typeInfoCount = shellTypeLib.getTypeInfoCount();
for (int i = 0; i < typeInfoCount; i++) {
ITypeInfo typeInfo = shellTypeLib.getTypeInfo(i);
TypeInfoUtil typeInfoUtil = new TypeInfoUtil(typeInfo);
TYPEATTR typeAttr = typeInfoUtil.getTypeAttr();
int cFuncs = typeAttr.cFuncs.intValue();
for (int y = 0; y < cFuncs; y++) {
// Get the function description
FUNCDESC funcDesc = typeInfoUtil.getFuncDesc(y);
// Get the member ID
MEMBERID memberID = funcDesc.memid;
// Get the name of the method
TypeInfoDoc typeInfoDoc2 = typeInfoUtil.getDocumentation(memberID);
String methodName = typeInfoDoc2.getName();
assertNotNull(methodName);
typeInfoUtil.ReleaseFuncDesc(funcDesc);
}
typeInfoUtil.ReleaseTypeAttr(typeAttr);
}
}
Aggregations