Java Examples for com.sun.jna.ptr.LongByReference
The following java examples will help you to understand the usage of com.sun.jna.ptr.LongByReference. These source code samples are taken from different open source projects.
Example 1
| Project: intellij-community-master File: NativeFileManager.java View source code |
public static List<Process> getProcessesUsing(File file) {
List<Process> processes = new LinkedList<>();
// If the DLL was not present (XP or other OS), do not try to find it again.
if (ourFailed) {
return processes;
}
try {
IntByReference session = new IntByReference();
char[] sessionKey = new char[Win32RestartManager.CCH_RM_SESSION_KEY + 1];
int error = Win32RestartManager.INSTANCE.RmStartSession(session, 0, sessionKey);
if (error != 0) {
Runner.logger().warn("Unable to start restart manager session");
return processes;
}
StringArray resources = new StringArray(new WString[] { new WString(file.toString()) });
error = Win32RestartManager.INSTANCE.RmRegisterResources(session.getValue(), 1, resources, 0, Pointer.NULL, 0, null);
if (error != 0) {
Runner.logger().warn("Unable to register restart manager resource " + file.getAbsolutePath());
return processes;
}
IntByReference procInfoNeeded = new IntByReference();
Win32RestartManager.RmProcessInfo info = new Win32RestartManager.RmProcessInfo();
Win32RestartManager.RmProcessInfo[] infos = (Win32RestartManager.RmProcessInfo[]) info.toArray(MAX_PROCESSES);
IntByReference procInfo = new IntByReference(infos.length);
error = Win32RestartManager.INSTANCE.RmGetList(session.getValue(), procInfoNeeded, procInfo, info, new LongByReference());
if (error != 0) {
Runner.logger().warn("Unable to get the list of processes using " + file.getAbsolutePath());
return processes;
}
for (int i = 0; i < procInfo.getValue(); i++) {
processes.add(new Process(infos[i].Process.dwProcessId, new String(infos[i].strAppName).trim()));
}
Win32RestartManager.INSTANCE.RmEndSession(session.getValue());
} catch (Throwable t) {
ourFailed = true;
}
return processes;
}Example 2
| Project: Java-Thread-Affinity-master File: WindowsJNAAffinity.java View source code |
@Override
public BitSet getAffinity() {
final CLibrary lib = CLibrary.INSTANCE;
final LongByReference cpuset1 = new LongByReference(0);
final LongByReference cpuset2 = new LongByReference(0);
try {
final int ret = lib.GetProcessAffinityMask(-1, cpuset1, cpuset2);
// https://msdn.microsoft.com/en-us/library/windows/desktop/ms683213%28v=vs.85%29.aspx
if (ret <= 0) {
throw new IllegalStateException("GetProcessAffinityMask(( -1 ), &(" + cpuset1 + "), &(" + cpuset2 + ") ) return " + ret);
}
long[] longs = new long[1];
longs[0] = cpuset1.getValue();
return BitSet.valueOf(longs);
} catch (Exception e) {
LOGGER.error(e.getMessage(), e);
}
return new BitSet();
}Example 3
| Project: sheepit-client-master File: GPU.java View source code |
public static boolean generate() {
devices = new LinkedList<GPUDevice>();
OS os = OS.getOS();
String path = os.getCUDALib();
if (path == null) {
System.out.println("GPU::generate no CUDA lib path found");
return false;
}
CUDA cudalib = null;
try {
cudalib = (CUDA) Native.loadLibrary(path, CUDA.class);
} catch (java.lang.UnsatisfiedLinkError e) {
System.out.println("GPU::generate failed to load CUDA lib (path: " + path + ")");
return false;
} catch (java.lang.ExceptionInInitializerError e) {
System.out.println("GPU::generate ExceptionInInitializerError " + e);
return false;
} catch (Exception e) {
System.out.println("GPU::generate generic exception " + e);
return false;
}
int result = CUresult.CUDA_ERROR_UNKNOWN;
result = cudalib.cuInit(0);
if (result != CUresult.CUDA_SUCCESS) {
System.out.println("GPU::generate cuInit failed (ret: " + result + ")");
if (result == CUresult.CUDA_ERROR_UNKNOWN) {
System.out.println("If you are running Linux, this error is usually due to nvidia kernel module 'nvidia_uvm' not loaded.");
System.out.println("Relaunch the application as root or load the module.");
System.out.println("Most of time it does fix the issue.");
}
return false;
}
if (result == CUresult.CUDA_ERROR_NO_DEVICE) {
return false;
}
IntByReference count = new IntByReference();
result = cudalib.cuDeviceGetCount(count);
if (result != CUresult.CUDA_SUCCESS) {
System.out.println("GPU::generate cuDeviceGetCount failed (ret: " + CUresult.stringFor(result) + ")");
return false;
}
for (int num = 0; num < count.getValue(); num++) {
byte name[] = new byte[256];
result = cudalib.cuDeviceGetName(name, 256, num);
if (result != CUresult.CUDA_SUCCESS) {
System.out.println("GPU::generate cuDeviceGetName failed (ret: " + CUresult.stringFor(result) + ")");
continue;
}
LongByReference ram = new LongByReference();
try {
result = cudalib.cuDeviceTotalMem_v2(ram, num);
} catch (UnsatisfiedLinkError e) {
result = cudalib.cuDeviceTotalMem(ram, num);
}
if (result != CUresult.CUDA_SUCCESS) {
System.out.println("GPU::generate cuDeviceTotalMem failed (ret: " + CUresult.stringFor(result) + ")");
return false;
}
devices.add(new GPUDevice(new String(name).trim(), ram.getValue(), "CUDA_" + Integer.toString(num)));
}
return true;
}Example 4
| Project: floe2-master File: PosixJNAAffinity.java View source code |
/**
* Returns the affinity mask using JNA call to the clibrary.
* @param pid pid of the process to get the affinity mask. 0 implies,
* current thread/process.
* @return the affinity mask.
*/
@Override
public long getAffinity(final int pid) {
final CLibrary lib = CLibrary.INSTANCE;
//TODO: for systems with 64+ cores...
final LongByReference cpuset = new LongByReference(0L);
try {
final int ret = lib.sched_getaffinity(pid, Long.SIZE / BYTE_SIZE, cpuset);
if (ret < 0) {
throw new IllegalStateException("sched_getaffinity((" + Long.SIZE / BYTE_SIZE + ") , &(" + cpuset + ") ) return " + ret);
}
return cpuset.getValue();
} catch (LastErrorException e) {
if (e.getErrorCode() != MASK_ERROR) {
throw new IllegalStateException("sched_getaffinity((" + Long.SIZE / BYTE_SIZE + ") , &(" + cpuset + ") ) errorNo=" + e.getErrorCode(), e);
}
}
final IntByReference cpuset32 = new IntByReference(0);
try {
final int ret = lib.sched_getaffinity(pid, Integer.SIZE / BYTE_SIZE, cpuset32);
if (ret < 0) {
throw new IllegalStateException("sched_getaffinity((" + Integer.SIZE / BYTE_SIZE + ") , &(" + cpuset32 + ") ) return " + ret);
}
return cpuset32.getValue() & LONG_MASK;
} catch (LastErrorException e) {
throw new IllegalStateException("sched_getaffinity((" + Integer.SIZE / BYTE_SIZE + ") , &(" + cpuset32 + ") ) errorNo=" + e.getErrorCode(), e);
}
}Example 5
| Project: gst1-java-core-master File: AppSrc.java View source code |
public void getLatency(long[] minmax) {
LongByReference minRef = new LongByReference();
LongByReference maxRef = new LongByReference();
gst().gst_app_src_get_latency(this, minRef, minRef);
if ((minmax == null) || (minmax.length != 2))
minmax = new long[2];
minmax[0] = minRef.getValue();
minmax[1] = maxRef.getValue();
}Example 6
| Project: gstreamer-java-master File: AppSrc.java View source code |
public void getLatency(long[] minmax) {
LongByReference minRef = new LongByReference();
LongByReference maxRef = new LongByReference();
gst().gst_app_src_get_latency(this, minRef, minRef);
if ((minmax == null) || (minmax.length != 2))
minmax = new long[2];
minmax[0] = minRef.getValue();
minmax[1] = maxRef.getValue();
}Example 7
| Project: gstreamer1.x-java-master File: AppSrc.java View source code |
public void getLatency(long[] minmax) {
LongByReference minRef = new LongByReference();
LongByReference maxRef = new LongByReference();
gst().gst_app_src_get_latency(this, minRef, minRef);
if ((minmax == null) || (minmax.length != 2))
minmax = new long[2];
minmax[0] = minRef.getValue();
minmax[1] = maxRef.getValue();
}Example 8
| Project: jhllib-master File: ManagedCallImpl.java View source code |
public long itemGetSizeOnDiskEx(DirectoryItem item) {
LongByReference temp = new LongByReference();
boolean success = lib.itemGetSizeOnDiskEx(item, temp);
if (success) {
return temp.getValue();
} else {
logger.error("Failed getting size-on-disk for DirectoryItem: {} ", this.itemGetPath(item));
return -1;
}
}Example 9
| Project: jna-master File: StructureTest.java View source code |
private void testAlignStruct(int index) {
AlignmentTest lib = Native.loadLibrary("testlib", AlignmentTest.class);
try {
IntByReference offset = new IntByReference();
LongByReference value = new LongByReference();
Class<?> cls = Class.forName(getClass().getName() + "$TestStructure" + index);
Structure s = (Structure) cls.newInstance();
int result = lib.testStructureAlignment(s, index, offset, value);
assertEquals("Wrong native value at field " + result + "=0x" + Long.toHexString(value.getValue()) + " (actual native field offset=" + offset.getValue() + ") in " + s, -2, result);
} catch (Exception e) {
throw new Error(e);
}
}Example 10
| Project: ps3mediaserver-master File: WinUtils.java View source code |
/* (non-Javadoc)
* @see net.pms.io.SystemUtils#getDiskLabel(java.io.File)
*/
@Override
public String getDiskLabel(File f) {
String driveName;
try {
driveName = f.getCanonicalPath().substring(0, 2) + "\\";
char[] lpRootPathName_chars = new char[4];
for (int i = 0; i < 3; i++) {
lpRootPathName_chars[i] = driveName.charAt(i);
}
lpRootPathName_chars[3] = '\0';
int nVolumeNameSize = 256;
CharBuffer lpVolumeNameBuffer_char = CharBuffer.allocate(nVolumeNameSize);
LongByReference lpVolumeSerialNumber = new LongByReference();
LongByReference lpMaximumComponentLength = new LongByReference();
LongByReference lpFileSystemFlags = new LongByReference();
int nFileSystemNameSize = 256;
CharBuffer lpFileSystemNameBuffer_char = CharBuffer.allocate(nFileSystemNameSize);
boolean result2 = Kernel32.INSTANCE.GetVolumeInformationW(lpRootPathName_chars, lpVolumeNameBuffer_char, nVolumeNameSize, lpVolumeSerialNumber, lpMaximumComponentLength, lpFileSystemFlags, lpFileSystemNameBuffer_char, nFileSystemNameSize);
if (!result2) {
return null;
}
String diskLabel = charString2String(lpVolumeNameBuffer_char);
return diskLabel;
} catch (Exception e) {
return null;
}
}Example 11
| Project: che-master File: CgroupOOMDetector.java View source code |
@Override
public void run() {
final String cf = containerCgroup + "cgroup.event_control";
final String oomf = containerCgroup + "memory.oom_control";
int efd = -1;
int oomfd = -1;
try {
if ((efd = cLib.eventfd(0, 1)) == -1) {
LOG.error("Unable create a file descriptor for event notification");
return;
}
int cfd;
if ((cfd = cLib.open(cf, CLibrary.O_WRONLY)) == -1) {
LOG.error("Unable open event control file '{}' for write", cf);
return;
}
if ((oomfd = cLib.open(oomf, CLibrary.O_RDONLY)) == -1) {
LOG.error("Unable open OOM event file '{}' for read", oomf);
return;
}
final byte[] data = String.format("%d %d", efd, oomfd).getBytes();
if (cLib.write(cfd, data, data.length) != data.length) {
LOG.error("Unable write event control data to file '{}'", cf);
return;
}
if (cLib.close(cfd) == -1) {
LOG.error("Error closing of event control file '{}'", cf);
return;
}
final LongByReference eventHolder = new LongByReference();
if (cLib.eventfd_read(efd, eventHolder) == 0) {
if (stopped) {
return;
}
LOG.warn("OOM event received for container '{}'", container);
if (readCgroupValue("memory.failcnt") > 0) {
try {
containerLogProcessor.process(new LogMessage(LogMessage.Type.DOCKER, "[ERROR] The processes in this machine need more RAM. This machine started with " + Size.toHumanSize(memory)));
containerLogProcessor.process(new LogMessage(LogMessage.Type.DOCKER, "[ERROR] Create a new machine configuration that allocates additional RAM or increase" + " the workspace RAM limit in the user dashboard."));
} catch (/*IOException*/
Exception e) {
LOG.warn(e.getMessage(), e);
}
}
}
} finally {
if (!stopped) {
stopDetection(container);
}
close(oomfd);
close(efd);
}
}Example 12
| Project: che-plugins-master File: CgroupOOMDetector.java View source code |
@Override
public void run() {
final String cf = containerCgroup + "cgroup.event_control";
final String oomf = containerCgroup + "memory.oom_control";
int efd = -1;
int oomfd = -1;
try {
if ((efd = cLib.eventfd(0, 1)) == -1) {
LOG.error("Unable create a file descriptor for event notification");
return;
}
int cfd;
if ((cfd = cLib.open(cf, CLibrary.O_WRONLY)) == -1) {
LOG.error("Unable open event control file '{}' for write", cf);
return;
}
if ((oomfd = cLib.open(oomf, CLibrary.O_RDONLY)) == -1) {
LOG.error("Unable open OOM event file '{}' for read", oomf);
return;
}
final byte[] data = String.format("%d %d", efd, oomfd).getBytes();
if (cLib.write(cfd, data, data.length) != data.length) {
LOG.error("Unable write event control data to file '{}'", cf);
return;
}
if (cLib.close(cfd) == -1) {
LOG.error("Error closing of event control file '{}'", cf);
return;
}
final LongByReference eventHolder = new LongByReference();
if (cLib.eventfd_read(efd, eventHolder) == 0) {
if (stopped) {
return;
}
LOG.warn("OOM event received for container '{}'", container);
if (readCgroupValue("memory.failcnt") > 0) {
try {
containerLogProcessor.process(new LogMessage(LogMessage.Type.DOCKER, "[ERROR] The processes in this machine need more RAM. This machine started with " + Size.toHumanSize(memory)));
containerLogProcessor.process(new LogMessage(LogMessage.Type.DOCKER, "[ERROR] Create a new machine configuration that allocates additional RAM or increase" + " the workspace RAM limit in the user dashboard."));
} catch (/*IOException*/
Exception e) {
LOG.warn(e.getMessage(), e);
}
}
}
} finally {
if (!stopped) {
stopDetection(container);
}
close(oomfd);
close(efd);
}
}Example 13
| Project: DevTools-master File: CgroupOOMDetector.java View source code |
@Override
public void run() {
final String cf = containerCgroup + "cgroup.event_control";
final String oomf = containerCgroup + "memory.oom_control";
int efd = -1;
int oomfd = -1;
try {
if ((efd = cLib.eventfd(0, 1)) == -1) {
LOG.error("Unable create a file descriptor for event notification");
return;
}
int cfd;
if ((cfd = cLib.open(cf, CLibrary.O_WRONLY)) == -1) {
LOG.error("Unable open event control file '{}' for write", cf);
return;
}
if ((oomfd = cLib.open(oomf, CLibrary.O_RDONLY)) == -1) {
LOG.error("Unable open OOM event file '{}' for read", oomf);
return;
}
final byte[] data = String.format("%d %d", efd, oomfd).getBytes();
if (cLib.write(cfd, data, data.length) != data.length) {
LOG.error("Unable write event control data to file '{}'", cf);
return;
}
if (cLib.close(cfd) == -1) {
LOG.error("Error closing of event control file '{}'", cf);
return;
}
final LongByReference eventHolder = new LongByReference();
if (cLib.eventfd_read(efd, eventHolder) == 0) {
if (stopped) {
return;
}
LOG.warn("OOM event received for container '{}'", container);
if (readCgroupValue("memory.failcnt") > 0) {
try {
containerLogProcessor.process(new LogMessage(LogMessage.Type.DOCKER, "[ERROR] The processes in this machine need more RAM. This machine started with " + Size.toHumanSize(memory)));
containerLogProcessor.process(new LogMessage(LogMessage.Type.DOCKER, "[ERROR] Create a new machine configuration that allocates additional RAM or increase" + " the workspace RAM limit in the user dashboard."));
} catch (/*IOException*/
Exception e) {
LOG.warn(e.getMessage(), e);
}
}
}
} finally {
if (!stopped) {
stopDetection(container);
}
close(oomfd);
close(efd);
}
}Example 14
| Project: oshi-master File: WmiUtil.java View source code |
/**
* Enumerate the results of a WMI query. This method is called while results
* are still being retrieved and may iterate in the forward direction only.
*
* @param values
* A map to hold the results of the query using the property as
* the key, and placing each enumerated result in a
* (common-index) list for each property
* @param enumerator
* The enumerator with the results
* @param properties
* Comma-delimited list of properties to retrieve
* @param propertyTypes
* An array of property types matching the properties or a single
* property type which will be used for all properties
* @param svc
* The WbemServices object
*/
private static void enumerateProperties(Map<String, List<Object>> values, EnumWbemClassObject enumerator, String[] properties, ValueType[] propertyTypes, WbemServices svc) {
if (propertyTypes.length > 1 && properties.length != propertyTypes.length) {
throw new IllegalArgumentException("Property type array size must be 1 or equal to properties array size.");
}
// Step 7: -------------------------------------------------
// Get the data from the query in step 6 -------------------
PointerByReference pclsObj = new PointerByReference();
LongByReference uReturn = new LongByReference(0L);
while (enumerator.getPointer() != Pointer.NULL) {
HRESULT hres = enumerator.Next(new NativeLong(EnumWbemClassObject.WBEM_INFINITE), new NativeLong(1), pclsObj, uReturn);
// Requested 1; if 0 objects returned, we're done
if (0L == uReturn.getValue() || COMUtils.FAILED(hres)) {
// release it here.
return;
}
VARIANT.ByReference vtProp = new VARIANT.ByReference();
// Get the value of the properties
WbemClassObject clsObj = new WbemClassObject(pclsObj.getValue());
for (int p = 0; p < properties.length; p++) {
String property = properties[p];
hres = clsObj.Get(new BSTR(property), new NativeLong(0L), vtProp, null, null);
ValueType propertyType = propertyTypes.length > 1 ? propertyTypes[p] : propertyTypes[0];
switch(propertyType) {
case STRING:
values.get(property).add(vtProp.getValue() == null ? "unknown" : vtProp.stringValue());
break;
// uint16 == VT_I4, a 32-bit number
case UINT16:
values.get(property).add(vtProp.getValue() == null ? 0L : vtProp.intValue());
break;
// WMI Uint32s will return as longs
case UINT32:
values.get(property).add(vtProp.getValue() == null ? 0L : vtProp.longValue());
break;
// letting this method do the parsing
case UINT64:
values.get(property).add(vtProp.getValue() == null ? 0L : ParseUtil.parseLongOrDefault(vtProp.stringValue(), 0L));
break;
case FLOAT:
values.get(property).add(vtProp.getValue() == null ? 0f : vtProp.floatValue());
break;
case DATETIME:
// Read a string in format 20160513072950.782000-420 and
// parse to a long representing ms since eopch
values.get(property).add(vtProp.getValue() == null ? 0L : ParseUtil.cimDateTimeToMillis(vtProp.stringValue()));
break;
case BOOLEAN:
values.get(property).add(vtProp.getValue() == null ? 0L : vtProp.booleanValue());
break;
case PROCESS_GETOWNER:
// Win32_Process object GetOwner method
String owner = FormatUtil.join("\\", execMethod(svc, vtProp.stringValue(), "GetOwner", "Domain", "User"));
values.get(propertyType.name()).add("\\".equals(owner) ? "N/A" : owner);
break;
case PROCESS_GETOWNERSID:
// Win32_Process object GetOwnerSid method
String[] ownerSid = execMethod(svc, vtProp.stringValue(), "GetOwnerSid", "Sid");
values.get(propertyType.name()).add(ownerSid.length < 1 ? "" : ownerSid[0]);
break;
default:
// added something to the enum without adding it here. Tsk.
throw new IllegalArgumentException("Unimplemented enum type: " + propertyType.toString());
}
OleAuto.INSTANCE.VariantClear(vtProp);
}
clsObj.Release();
}
}Example 15
| Project: Tank-master File: WindowsProxy.java View source code |
public static ProxySettings getProxySettings() {
if (available != null)
throw new RuntimeException("Unable to initialise JNA libraries", available);
INTERNET_PER_CONN_OPTION opt = new INTERNET_PER_CONN_OPTION();
INTERNET_PER_CONN_OPTION[] options = (INTERNET_PER_CONN_OPTION[]) opt.toArray(5);
options[0].dwOption = WinInet.INTERNET_PER_CONN_FLAGS;
options[1].dwOption = WinInet.INTERNET_PER_CONN_PROXY_SERVER;
options[2].dwOption = WinInet.INTERNET_PER_CONN_PROXY_BYPASS;
options[3].dwOption = WinInet.INTERNET_PER_CONN_AUTOCONFIG_URL;
options[4].dwOption = WinInet.INTERNET_PER_CONN_AUTODISCOVERY_FLAGS;
for (int i = 0; i < options.length; i++) options[i].write();
INTERNET_PER_CONN_OPTION_LIST list = new INTERNET_PER_CONN_OPTION_LIST();
list.dwOptionCount = options.length;
list.dwOptionError = 0;
list.pOptions = options[0].getPointer();
list.dwSize = list.size();
list.write();
LongByReference size = new LongByReference(list.size());
boolean result = wininet.InternetQueryOptionA(null, WinInet.INTERNET_OPTION_PER_CONNECTION_OPTION, list.getPointer(), size);
if (!result) {
System.out.println("Error: " + kernel32.GetLastError());
System.out.println("Option error: " + list.dwOptionError);
return null;
} else {
ProxySettings settings = new ProxySettings();
list.read();
for (int i = 0; i < options.length; i++) {
switch(options[i].dwOption) {
case WinInet.INTERNET_PER_CONN_FLAGS:
settings.flags = getInt(options[i]);
break;
case WinInet.INTERNET_PER_CONN_PROXY_SERVER:
settings.proxyServer = getString(options[i]);
break;
case WinInet.INTERNET_PER_CONN_PROXY_BYPASS:
settings.proxyBypass = getString(options[i]);
break;
case WinInet.INTERNET_PER_CONN_AUTOCONFIG_URL:
settings.autoConfigUrl = getString(options[i]);
break;
case WinInet.INTERNET_PER_CONN_AUTODISCOVERY_FLAGS:
settings.autoDiscoveryFlags = getInt(options[i]);
break;
}
}
return settings;
}
}Example 16
| Project: UniversalMediaServer-master File: WinUtils.java View source code |
/* (non-Javadoc)
* @see net.pms.io.SystemUtils#getDiskLabel(java.io.File)
*/
@Override
public String getDiskLabel(File f) {
String driveName;
try {
driveName = f.getCanonicalPath().substring(0, 2) + "\\";
char[] lpRootPathName_chars = new char[4];
for (int i = 0; i < 3; i++) {
lpRootPathName_chars[i] = driveName.charAt(i);
}
lpRootPathName_chars[3] = '\0';
int nVolumeNameSize = 256;
CharBuffer lpVolumeNameBuffer_char = CharBuffer.allocate(nVolumeNameSize);
LongByReference lpVolumeSerialNumber = new LongByReference();
LongByReference lpMaximumComponentLength = new LongByReference();
LongByReference lpFileSystemFlags = new LongByReference();
int nFileSystemNameSize = 256;
CharBuffer lpFileSystemNameBuffer_char = CharBuffer.allocate(nFileSystemNameSize);
boolean result2 = Kernel32.INSTANCE.GetVolumeInformationW(lpRootPathName_chars, lpVolumeNameBuffer_char, nVolumeNameSize, lpVolumeSerialNumber, lpMaximumComponentLength, lpFileSystemFlags, lpFileSystemNameBuffer_char, nFileSystemNameSize);
if (!result2) {
return null;
}
String diskLabel = charString2String(lpVolumeNameBuffer_char);
return diskLabel;
} catch (Exception e) {
return null;
}
}Example 17
| Project: basic-algorithm-operations-master File: IEProxy.java View source code |
/**
* Invokes WinInet.InternetQueryOptionA to obtain Windows Proxy Settings
*
* @return a {@link ProxySettings} object containing the extracted values
* @throws LastErrorException
* if there is an error retrieving the settings
*/
public static ProxySettings getProxySettings() throws LastErrorException {
if (available != null)
throw new RuntimeException("Unable to initialise JNA libraries", available);
INTERNET_PER_CONN_OPTION.ByReference optRef = new INTERNET_PER_CONN_OPTION.ByReference();
INTERNET_PER_CONN_OPTION[] options = (INTERNET_PER_CONN_OPTION[]) optRef.toArray(5);
options[0].dwOption = WinInet.INTERNET_PER_CONN_FLAGS;
options[1].dwOption = WinInet.INTERNET_PER_CONN_PROXY_SERVER;
options[2].dwOption = WinInet.INTERNET_PER_CONN_PROXY_BYPASS;
options[3].dwOption = WinInet.INTERNET_PER_CONN_AUTOCONFIG_URL;
options[4].dwOption = WinInet.INTERNET_PER_CONN_AUTODISCOVERY_FLAGS;
for (int i = 0; i < options.length; i++) options[i].write();
INTERNET_PER_CONN_OPTION_LIST list = new INTERNET_PER_CONN_OPTION_LIST();
list.dwOptionCount = options.length;
list.dwOptionError = 0;
list.pOptions = optRef;
list.dwSize = list.size();
list.write();
LongByReference size = new LongByReference(list.size());
boolean result = wininet.InternetQueryOptionA(null, WinInet.INTERNET_OPTION_PER_CONNECTION_OPTION, list.getPointer(), size);
if (!result) {
System.out.println("Error: " + Native.getLastError());
System.out.println("Option error: " + list.dwOptionError);
return null;
} else {
ProxySettings settings = new ProxySettings();
list.read();
for (int i = 0; i < options.length; i++) {
switch(options[i].dwOption) {
case WinInet.INTERNET_PER_CONN_FLAGS:
settings.flags = getInt(options[i]);
break;
case WinInet.INTERNET_PER_CONN_PROXY_SERVER:
settings.proxyServer = getString(options[i]);
break;
case WinInet.INTERNET_PER_CONN_PROXY_BYPASS:
settings.proxyBypass = getString(options[i]);
break;
case WinInet.INTERNET_PER_CONN_AUTOCONFIG_URL:
settings.autoConfigUrl = getString(options[i]);
break;
case WinInet.INTERNET_PER_CONN_AUTODISCOVERY_FLAGS:
settings.autoDiscoveryFlags = getInt(options[i]);
break;
}
}
return settings;
}
}Example 18
| Project: jmonkeyengine-master File: OpenVR.java View source code |
@Override
public boolean initialize() {
logger.config("Initializing OpenVR system...");
hmdErrorStore = new IntByReference();
vrsystemFunctions = null;
JOpenVRLibrary.VR_InitInternal(hmdErrorStore, JOpenVRLibrary.EVRApplicationType.EVRApplicationType_VRApplication_Scene);
if (hmdErrorStore.getValue() == 0) {
vrsystemFunctions = new VR_IVRSystem_FnTable(JOpenVRLibrary.VR_GetGenericInterface(JOpenVRLibrary.IVRSystem_Version, hmdErrorStore).getPointer());
}
if (vrsystemFunctions == null || hmdErrorStore.getValue() != 0) {
logger.severe("OpenVR Initialize Result: " + JOpenVRLibrary.VR_GetVRInitErrorAsEnglishDescription(hmdErrorStore.getValue()).getString(0));
logger.severe("Initializing OpenVR system [FAILED]");
return false;
} else {
logger.config("OpenVR initialized & VR connected.");
vrsystemFunctions.setAutoSynch(false);
vrsystemFunctions.read();
tlastVsync = new FloatByReference();
_tframeCount = new LongByReference();
hmdDisplayFrequency = IntBuffer.allocate(1);
hmdDisplayFrequency.put((int) JOpenVRLibrary.ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_DisplayFrequency_Float);
hmdTrackedDevicePoseReference = new TrackedDevicePose_t.ByReference();
hmdTrackedDevicePoses = (TrackedDevicePose_t[]) hmdTrackedDevicePoseReference.toArray(JOpenVRLibrary.k_unMaxTrackedDeviceCount);
poseMatrices = new Matrix4f[JOpenVRLibrary.k_unMaxTrackedDeviceCount];
for (int i = 0; i < poseMatrices.length; i++) poseMatrices[i] = new Matrix4f();
timePerFrame = 1.0 / hmdDisplayFrequency.get(0);
// disable all this stuff which kills performance
hmdTrackedDevicePoseReference.setAutoRead(false);
hmdTrackedDevicePoseReference.setAutoWrite(false);
hmdTrackedDevicePoseReference.setAutoSynch(false);
for (int i = 0; i < JOpenVRLibrary.k_unMaxTrackedDeviceCount; i++) {
hmdTrackedDevicePoses[i].setAutoRead(false);
hmdTrackedDevicePoses[i].setAutoWrite(false);
hmdTrackedDevicePoses[i].setAutoSynch(false);
}
// init controllers for the first time
VRinput = new OpenVRInput(environment);
VRinput.init();
VRinput.updateConnectedControllers();
// init bounds & chaperone info
VRBounds.init();
logger.config("Initializing OpenVR system [SUCCESS]");
initSuccess = true;
return true;
}
}Example 19
| Project: OWASP-Proxy-master File: WindowsProxy.java View source code |
/**
* Invokes WinInet.InternetQueryOptionA to obtain Windows Proxy Settings
*
* @return a {@link ProxySettings} object containing the extracted values
* @throws LastErrorException
* if there is an error retrieving the settings
*/
public static ProxySettings getProxySettings() throws LastErrorException {
if (available != null)
throw new RuntimeException("Unable to initialise JNA libraries", available);
INTERNET_PER_CONN_OPTION.ByReference optRef = new INTERNET_PER_CONN_OPTION.ByReference();
INTERNET_PER_CONN_OPTION[] options = (INTERNET_PER_CONN_OPTION[]) optRef.toArray(5);
options[0].dwOption = WinInet.INTERNET_PER_CONN_FLAGS;
options[1].dwOption = WinInet.INTERNET_PER_CONN_PROXY_SERVER;
options[2].dwOption = WinInet.INTERNET_PER_CONN_PROXY_BYPASS;
options[3].dwOption = WinInet.INTERNET_PER_CONN_AUTOCONFIG_URL;
options[4].dwOption = WinInet.INTERNET_PER_CONN_AUTODISCOVERY_FLAGS;
for (int i = 0; i < options.length; i++) options[i].write();
INTERNET_PER_CONN_OPTION_LIST list = new INTERNET_PER_CONN_OPTION_LIST();
list.dwOptionCount = options.length;
list.dwOptionError = 0;
list.pOptions = optRef;
list.dwSize = list.size();
list.write();
LongByReference size = new LongByReference(list.size());
boolean result = wininet.InternetQueryOptionA(null, WinInet.INTERNET_OPTION_PER_CONNECTION_OPTION, list.getPointer(), size);
if (!result) {
System.out.println("Error: " + Native.getLastError());
System.out.println("Option error: " + list.dwOptionError);
return null;
} else {
ProxySettings settings = new ProxySettings();
list.read();
for (int i = 0; i < options.length; i++) {
switch(options[i].dwOption) {
case WinInet.INTERNET_PER_CONN_FLAGS:
settings.flags = getInt(options[i]);
break;
case WinInet.INTERNET_PER_CONN_PROXY_SERVER:
settings.proxyServer = getString(options[i]);
break;
case WinInet.INTERNET_PER_CONN_PROXY_BYPASS:
settings.proxyBypass = getString(options[i]);
break;
case WinInet.INTERNET_PER_CONN_AUTOCONFIG_URL:
settings.autoConfigUrl = getString(options[i]);
break;
case WinInet.INTERNET_PER_CONN_AUTODISCOVERY_FLAGS:
settings.autoDiscoveryFlags = getInt(options[i]);
break;
}
}
return settings;
}
}Example 20
| Project: muCommander-master File: LocalFile.java View source code |
/**
* Uses platform dependent functions to retrieve the total and free space on the volume where this file resides.
*
* @return a {totalSpace, freeSpace} long array, both values can be <code>null</code> if the information could not
* be retrieved.
* @throws IOException if an I/O error occurred
*/
protected long[] getNativeVolumeInfo() throws IOException {
BufferedReader br = null;
String absPath = getAbsolutePath();
long dfInfo[] = new long[] { -1, -1 };
try {
// OS is Windows
if (IS_WINDOWS) {
// Use the Kernel32 DLL if it is available
if (Kernel32.isAvailable()) {
// Retrieves the total and free space information using the GetDiskFreeSpaceEx function of the
// Kernel32 API.
LongByReference totalSpaceLBR = new LongByReference();
LongByReference freeSpaceLBR = new LongByReference();
if (Kernel32.getInstance().GetDiskFreeSpaceEx(absPath, null, totalSpaceLBR, freeSpaceLBR)) {
dfInfo[0] = totalSpaceLBR.getValue();
dfInfo[1] = freeSpaceLBR.getValue();
} else {
LOGGER.warn("Call to GetDiskFreeSpaceEx failed, absPath={}", absPath);
}
} else // appear briefly every time this method is called (See ticket #63).
if (OsVersion.WINDOWS_NT.isCurrentOrHigher()) {
// 'dir' command returns free space on the last line
Process process = Runtime.getRuntime().exec((OsVersion.getCurrent().compareTo(OsVersion.WINDOWS_NT) >= 0 ? "cmd /c" : "command.com /c") + " dir \"" + absPath + "\"");
// Check that the process was correctly started
if (process != null) {
br = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
String lastLine = null;
// Retrieves last line of dir
while ((line = br.readLine()) != null) {
if (!line.trim().equals(""))
lastLine = line;
}
// 6 Rep(s) 14 767 521 792 octets libres
if (lastLine != null) {
StringTokenizer st = new StringTokenizer(lastLine, " \t\n\r\f,.");
// Discard first token
st.nextToken();
// Concatenates as many contiguous groups of numbers
String token;
String freeSpace = "";
while (st.hasMoreTokens()) {
token = st.nextToken();
char c = token.charAt(0);
if (c >= '0' && c <= '9')
freeSpace += token;
else if (!freeSpace.equals(""))
break;
}
dfInfo[1] = Long.parseLong(freeSpace);
}
}
}
} else if (OsFamily.getCurrent().isUnixBased()) {
// Parses the output of 'df -P -k "filePath"' command on UNIX-based systems to retrieve free and total space information
// 'df -P -k' returns totals in block of 1K = 1024 bytes, -P uses the POSIX output format, ensures that line won't break
Process process = Runtime.getRuntime().exec(new String[] { "df", "-P", "-k", absPath }, null, file);
// Check that the process was correctly started
if (process != null) {
br = new BufferedReader(new InputStreamReader(process.getInputStream()));
// Discard the first line ("Filesystem 1K-blocks Used Avail Capacity Mounted on");
br.readLine();
String line = br.readLine();
// Sample lines:
// /dev/disk0s2 116538416 109846712 6179704 95% /
// automount -fstab [202] 0 0 0 100% /automount/Servers
// /dev/disk2s2 2520 1548 972 61% /Volumes/muCommander 0.8
// We're interested in the '1K-blocks' and 'Avail' fields (only).
// The 'Filesystem' and 'Mounted On' fields can contain spaces (e.g. 'automount -fstab [202]' and
// '/Volumes/muCommander 0.8' resp.) and therefore be made of several tokens. A stable way to
// determine the position of the fields we're interested in is to look for the last token that
// starts with a '/' character which should necessarily correspond to the first token of the
// 'Mounted on' field. The '1K-blocks' and 'Avail' fields are 4 and 2 tokens away from it
// respectively.
// Start by tokenizing the whole line
Vector<String> tokenV = new Vector<String>();
if (line != null) {
StringTokenizer st = new StringTokenizer(line);
while (st.hasMoreTokens()) tokenV.add(st.nextToken());
}
int nbTokens = tokenV.size();
if (nbTokens < 6) {
// This shouldn't normally happen
LOGGER.warn("Failed to parse output of df -k {} line={}", absPath, line);
return dfInfo;
}
// Find the last token starting with '/'
int pos = nbTokens - 1;
while (!tokenV.elementAt(pos).startsWith("/")) {
if (pos == 0) {
// This shouldn't normally happen
LOGGER.warn("Failed to parse output of df -k {} line={}", absPath, line);
return dfInfo;
}
--pos;
}
// '1-blocks' field (total space)
dfInfo[0] = Long.parseLong(tokenV.elementAt(pos - 4)) * 1024;
// 'Avail' field (free space)
dfInfo[1] = Long.parseLong(tokenV.elementAt(pos - 2)) * 1024;
}
// // Retrieves the total and free space information using the POSIX statvfs function
// POSIX.STATVFSSTRUCT struct = new POSIX.STATVFSSTRUCT();
// if(POSIX.INSTANCE.statvfs(absPath, struct)==0) {
// dfInfo[0] = struct.f_blocks * (long)struct.f_frsize;
// dfInfo[1] = struct.f_bfree * (long)struct.f_frsize;
// }
}
} finally {
if (br != null)
try {
br.close();
} catch (IOException e) {
}
}
return dfInfo;
}Example 21
| Project: Couverjure-master File: StructureTest.java View source code |
private void testAlignStruct(int index) {
AlignmentTest lib = (AlignmentTest) Native.loadLibrary("testlib", AlignmentTest.class);
try {
IntByReference offset = new IntByReference();
LongByReference value = new LongByReference();
Class cls = Class.forName(getClass().getName() + "$TestStructure" + index);
Structure s = (Structure) cls.newInstance();
int result = lib.testStructureAlignment(s, index, offset, value);
assertEquals("Wrong native value at field " + result + "=0x" + Long.toHexString(value.getValue()) + " (actual native field offset=" + offset.getValue() + ") in " + s, -2, result);
} catch (Exception e) {
throw new Error(e);
}
}Example 22
| Project: jna-mirror-master File: StructureTest.java View source code |
private void testAlignStruct(int index) {
AlignmentTest lib = (AlignmentTest) Native.loadLibrary("testlib", AlignmentTest.class);
try {
IntByReference offset = new IntByReference();
LongByReference value = new LongByReference();
Class cls = Class.forName(getClass().getName() + "$TestStructure" + index);
Structure s = (Structure) cls.newInstance();
int result = lib.testStructureAlignment(s, index, offset, value);
assertEquals("Wrong native value at field " + result + "=0x" + Long.toHexString(value.getValue()) + " (actual native field offset=" + offset.getValue() + ") in " + s, -2, result);
} catch (Exception e) {
throw new Error(e);
}
}Example 23
| Project: JNAerator-master File: TypeConversion.java View source code |
public void initTypes() {
result.prim("void", JavaPrim.Void);
result.prim("VOID", JavaPrim.Void);
result.prim("UTF32Char", JavaPrim.Int);
result.prim("unichar", JavaPrim.Char);
result.prim("int64_t", JavaPrim.Long);
result.prim("uint64_t", JavaPrim.Long);
result.prim("u_int64_t", JavaPrim.Long);
result.prim("long long", JavaPrim.Long);
result.prim("long long int", JavaPrim.Long);
result.prim("long int", JavaPrim.Int);
result.prim("LONGLONG", JavaPrim.Long);
result.prim("ULONGLONG", JavaPrim.Long);
result.prim("INT", JavaPrim.Int);
result.prim("UINT", JavaPrim.Int);
result.prim("SHORT", JavaPrim.Short);
result.prim("USHORT", JavaPrim.Short);
result.prim("CHAR", JavaPrim.Byte);
result.prim("byte", JavaPrim.Byte);
result.prim("BYTE", JavaPrim.Byte);
result.prim("UBYTE", JavaPrim.Byte);
result.prim("DOUBLE", JavaPrim.Double);
result.prim("FLOAT", JavaPrim.Float);
result.prim("WORD", JavaPrim.Short);
result.prim("DWORD", JavaPrim.Int);
result.prim("DWORD64", JavaPrim.Long);
result.prim("LONG64", JavaPrim.Long);
result.prim("UInt64", JavaPrim.Long);
result.prim("SInt64", JavaPrim.Long);
result.prim("__int64", JavaPrim.Long);
result.prim("__int64_t", JavaPrim.Long);
result.prim("int32_t", JavaPrim.Int);
result.prim("uint32_t", JavaPrim.Int);
result.prim("__int32_t", JavaPrim.Int);
result.prim("__uint32_t", JavaPrim.Int);
result.prim("u_int32_t", JavaPrim.Int);
result.prim("uint32", JavaPrim.Int);
result.prim("int32", JavaPrim.Int);
result.prim("int", JavaPrim.Int);
//prim("NSUInteger", JavaPrim.NativeSize);
//prim("NSInteger", JavaPrim.NativeSize);
result.prim("SInt32", JavaPrim.Int);
result.prim("UInt32", JavaPrim.Int);
result.prim("GLint", JavaPrim.Int);
result.prim("GLuint", JavaPrim.Int);
result.prim("GLenum", JavaPrim.Int);
result.prim("GLsizei", JavaPrim.Int);
result.prim("__int32", JavaPrim.Int);
result.prim("NSInteger", JavaPrim.NSInteger);
result.prim("NSUInteger", JavaPrim.NSUInteger);
result.prim("CGFloat", JavaPrim.CGFloat);
JavaPrim longPrim = result.config.gccLong ? JavaPrim.NativeSize : JavaPrim.NativeLong;
result.prim("long", longPrim);
result.prim("LONG", longPrim);
result.prim("ULONG", longPrim);
result.prim("time_t", JavaPrim.NativeTime);
JavaPrim sizePrim = result.config.sizeAsLong ? longPrim : JavaPrim.NativeSize;
result.prim("size_t", sizePrim);
result.prim("ptrdiff_t", sizePrim);
result.prim("__darwin_size_t", JavaPrim.NativeSize);
result.prim("complex double", JavaPrim.ComplexDouble);
result.prim("int16_t", JavaPrim.Short);
result.prim("uint16_t", JavaPrim.Short);
result.prim("__int16_t", JavaPrim.Short);
result.prim("__uint16_t", JavaPrim.Short);
result.prim("u_int16_t", JavaPrim.Short);
result.prim("uint16", JavaPrim.Short);
result.prim("int16", JavaPrim.Short);
result.prim("SInt16", JavaPrim.Short);
result.prim("UInt16", JavaPrim.Short);
result.prim("short", JavaPrim.Short);
result.prim("WCHAR", JavaPrim.Short);
result.prim("wchar_t", result.config.wcharAsShort ? JavaPrim.Short : JavaPrim.Char);
result.prim("__int16", JavaPrim.Short);
result.prim("int8_t", JavaPrim.Byte);
result.prim("uint8_t", JavaPrim.Byte);
result.prim("u_int8_t", JavaPrim.Byte);
result.prim("__uint8_t", JavaPrim.Byte);
result.prim("__int8_t", JavaPrim.Byte);
result.prim("SInt8", JavaPrim.Byte);
result.prim("UInt8", JavaPrim.Byte);
result.prim("char", JavaPrim.Byte);
result.prim("unsigned char", JavaPrim.Byte);
result.prim("__unsigned char", JavaPrim.Byte);
result.prim("signed char", JavaPrim.Byte);
result.prim("__signed char", JavaPrim.Byte);
result.prim("SignedByte", JavaPrim.Byte);
result.prim("__int8", JavaPrim.Byte);
result.prim("float", JavaPrim.Float);
result.prim("NSFloat", JavaPrim.Float);
result.prim("CGFloat", JavaPrim.Float);
result.prim("double_t", JavaPrim.Double);
result.prim("double", JavaPrim.Double);
result.prim("NSDouble", JavaPrim.Double);
result.prim("CGDouble", JavaPrim.Double);
JavaPrim cppBoolType = getCppBoolMappingType();
result.prim("bool", cppBoolType);
result.prim("Boolean", cppBoolType);
result.prim("boolean_t", cppBoolType);
primToByReference.put(JavaPrim.Int, IntByReference.class);
primToByReference.put(JavaPrim.Char, (Class) CharByReference.class);
primToByReference.put(JavaPrim.Short, ShortByReference.class);
primToByReference.put(JavaPrim.Byte, ByteByReference.class);
primToByReference.put(JavaPrim.Long, LongByReference.class);
primToByReference.put(JavaPrim.Float, FloatByReference.class);
primToByReference.put(JavaPrim.Double, DoubleByReference.class);
primToByReference.put(JavaPrim.NativeLong, NativeLongByReference.class);
primToByReference.put(JavaPrim.NativeSize, (Class) NativeSizeByReference.class);
primToByReference.put(JavaPrim.NSInteger, (Class) NativeSizeByReference.class);
primToByReference.put(JavaPrim.NSUInteger, (Class) NativeSizeByReference.class);
primToByReference.put(JavaPrim.CGFloat, CGFloatByReference.class);
//primsByReference.put(JavaPrim.Void, PointerByReference.class);
for (Class<?> c : primToByReference.values()) {
byReferenceClassesNames.add(c.getName());
}
// byReferenceClassesNames.add(PointerByReference.class.getName());
primToGlobal.put(JavaPrim.Int, GlobalInt.class);
primToGlobal.put(JavaPrim.Char, GlobalChar.class);
primToGlobal.put(JavaPrim.Short, GlobalShort.class);
primToGlobal.put(JavaPrim.Byte, GlobalByte.class);
primToGlobal.put(JavaPrim.Long, GlobalLong.class);
primToGlobal.put(JavaPrim.Float, GlobalFloat.class);
primToGlobal.put(JavaPrim.Double, GlobalDouble.class);
primToGlobal.put(JavaPrim.NativeLong, GlobalNativeLong.class);
primToGlobal.put(JavaPrim.NativeSize, GlobalNativeSize.class);
primToGlobal.put(JavaPrim.NSInteger, GlobalNativeSize.class);
primToGlobal.put(JavaPrim.NSUInteger, GlobalNativeSize.class);
primToGlobal.put(JavaPrim.CGFloat, GlobalCGFloat.class);
primToBuffer.put(JavaPrim.Int, IntBuffer.class);
primToBuffer.put(JavaPrim.Char, CharBuffer.class);
primToBuffer.put(JavaPrim.Short, ShortBuffer.class);
primToBuffer.put(JavaPrim.Byte, ByteBuffer.class);
primToBuffer.put(JavaPrim.Long, LongBuffer.class);
primToBuffer.put(JavaPrim.Float, FloatBuffer.class);
primToBuffer.put(JavaPrim.Double, DoubleBuffer.class);
//primToBuffer.put(JavaPrim.NativeLong, NativeLongByReference.class);
TypeRef pInt = new TypeRef.Pointer(new Primitive("int"), Declarator.PointerStyle.Pointer);
result.addManualTypeDef("intptr_t", pInt);
result.addManualTypeDef("uintptr_t", pInt);
// TODO: Add a windows failsafe mode that defines all the typedefs needed:
// http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751(v=vs.85).aspx
// TypeRef pVoid = new TypeRef.Pointer(new Primitive("void"), Declarator.PointerStyle.Pointer);
// result.addManualTypeDef("PVOID", pVoid);
// result.addManualTypeDef("LPVOID", pVoid);
// result.addManualTypeDef("LPCVOID", pVoid);
}Example 24
| Project: yajsw-master File: WindowsXPProcess.java View source code |
/**
* Gets the total cpu.
*
* @return the total cpu
*/
public long getTotalCPU() {
long result = -1;
if (!isRunning())
return -1;
LongByReference lpCreationTime = new LongByReference();
LongByReference lpExitTime = new LongByReference();
LongByReference lpKernelTime = new LongByReference();
LongByReference lpUserTime = new LongByReference();
if (MyKernel32.INSTANCE.GetProcessTimes(_processInformation.hProcess, lpCreationTime, lpExitTime, lpKernelTime, lpUserTime))
result = lpUserTime.getValue() + lpKernelTime.getValue();
return result;
}Example 25
| Project: yajsw-maven-master File: WindowsXPProcess.java View source code |
/**
* Gets the total cpu.
*
* @return the total cpu
*/
public long getTotalCPU() {
long result = -1;
if (!isRunning())
return -1;
LongByReference lpCreationTime = new LongByReference();
LongByReference lpExitTime = new LongByReference();
LongByReference lpKernelTime = new LongByReference();
LongByReference lpUserTime = new LongByReference();
if (MyKernel32.INSTANCE.GetProcessTimes(_processInformation.hProcess, lpCreationTime, lpExitTime, lpKernelTime, lpUserTime))
result = lpUserTime.getValue() + lpKernelTime.getValue();
return result;
}Example 26
| Project: yajsw-maven-mk2-master File: WindowsXPProcess.java View source code |
/**
* Gets the total cpu.
*
* @return the total cpu
*/
public long getTotalCPU() {
long result = -1;
if (!isRunning())
return -1;
LongByReference lpCreationTime = new LongByReference();
LongByReference lpExitTime = new LongByReference();
LongByReference lpKernelTime = new LongByReference();
LongByReference lpUserTime = new LongByReference();
if (MyKernel32.INSTANCE.GetProcessTimes(_processInformation.hProcess, lpCreationTime, lpExitTime, lpKernelTime, lpUserTime))
result = lpUserTime.getValue() + lpKernelTime.getValue();
return result;
}Example 27
| Project: java-uia-bridge-master File: MSAAObject.java View source code |
public int getChildCount() {
/*LongByReference lng = new LongByReference();
iAccessible.Get_accChildCount(lng);
return lng.getValue();*/
Variant v = Dispatch.get(dispatch, "accChildCount");
return v.getInt();
}Example 28
| Project: vlcj-master File: AbstractCallbackMedia.java View source code |
@Override
public int open(Pointer opaque, PointerByReference datap, LongByReference sizep) {
logger.debug("open()");
sizep.setValue(onGetSize());
return onOpen() ? SUCCESS : ERROR;
}Example 29
| Project: vlove-master File: Connect.java View source code |
/**
* Get the version of a connection.
*
* @see <a
* href="http://www.libvirt.org/html/libvirt-libvirt.html#virConnectGetLibVersion">Libvirt
* Documentation</a>
* @param conn
* the connection to use.
* @return -1 in case of failure, versions have the format major * 1,000,000
* + minor * 1,000 + release.
*/
public static long connectionVersion(Connect conn) {
LongByReference libVer = new LongByReference();
int result = Libvirt.INSTANCE.virConnectGetLibVersion(conn.VCP, libVer);
return result != -1 ? libVer.getValue() : -1;
}