use of com.sun.jna.platform.win32.COM.TypeInfoUtil.TypeInfoDoc 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);
}
}
use of com.sun.jna.platform.win32.COM.TypeInfoUtil.TypeInfoDoc in project jna by java-native-access.
the class TlbAbstractMethod method getUserdefinedType.
protected String getUserdefinedType(HREFTYPE hreftype) {
ITypeInfo refTypeInfo = this.typeInfoUtil.getRefTypeInfo(hreftype);
TypeInfoUtil typeInfoUtil = new TypeInfoUtil(refTypeInfo);
TypeInfoDoc documentation = typeInfoUtil.getDocumentation(OaIdl.MEMBERID_NIL);
return documentation.getName();
}
use of com.sun.jna.platform.win32.COM.TypeInfoUtil.TypeInfoDoc in project jna by java-native-access.
the class TypeInfoUtil method getDocumentation.
/**
* Gets the documentation.
*
* @param memid
* the memid
* @return the documentation
*/
public TypeInfoDoc getDocumentation(MEMBERID memid) {
BSTRByReference pBstrName = new BSTRByReference();
BSTRByReference pBstrDocString = new BSTRByReference();
DWORDByReference pdwHelpContext = new DWORDByReference();
BSTRByReference pBstrHelpFile = new BSTRByReference();
HRESULT hr = this.typeInfo.GetDocumentation(memid, pBstrName, pBstrDocString, pdwHelpContext, pBstrHelpFile);
COMUtils.checkRC(hr);
TypeInfoDoc TypeInfoDoc = new TypeInfoDoc(pBstrName.getString(), pBstrDocString.getString(), pdwHelpContext.getValue().intValue(), pBstrHelpFile.getString());
OLEAUTO.SysFreeString(pBstrName.getValue());
OLEAUTO.SysFreeString(pBstrDocString.getValue());
OLEAUTO.SysFreeString(pBstrHelpFile.getValue());
return TypeInfoDoc;
}
Aggregations