本文整理了Java中com.sun.jna.Memory.setPointer()
方法的一些代码示例,展示了Memory.setPointer()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Memory.setPointer()
方法的具体详情如下:
包路径:com.sun.jna.Memory
类名称:Memory
方法名:setPointer
[英]Indirect the native pointer to malloc
space, a la Pointer.setPointer
. But this method performs a bounds checks to ensure that the indirection does not cause memory outside the malloc
ed space to be accessed.
[中]间接指向malloc
空间的本机指针,即la[$1$]。但该方法执行边界检查,以确保间接寻址不会导致malloc
ed空间之外的内存被访问。
代码示例来源:origin: net.java.dev.jna/jna-platform
public void setRgpMsgCert(CERT_CONTEXT[] rgpMsgCerts) {
this.rgpMsgCerts = rgpMsgCerts;
if (rgpMsgCerts == null || rgpMsgCerts.length == 0) {
rgpMsgCert = null;
cMsgCert = 0;
} else {
cMsgCert = rgpMsgCerts.length;
Memory mem = new Memory(Native.POINTER_SIZE * rgpMsgCerts.length);
for (int i = 0; i < rgpMsgCerts.length; i++) {
mem.setPointer(i * Native.POINTER_SIZE, rgpMsgCerts[i].getPointer());
}
rgpMsgCert = mem;
}
}
代码示例来源:origin: net.java.dev.jna/jna-platform
public void setRgpMsgCrl(CRL_CONTEXT[] rgpMsgCrls) {
this.rgpMsgCrls = rgpMsgCrls;
if (rgpMsgCrls == null || rgpMsgCrls.length == 0) {
rgpMsgCert = null;
cMsgCert = 0;
} else {
cMsgCert = rgpMsgCrls.length;
Memory mem = new Memory(Native.POINTER_SIZE * rgpMsgCrls.length);
for (int i = 0; i < rgpMsgCrls.length; i++) {
mem.setPointer(i * Native.POINTER_SIZE, rgpMsgCrls[i].getPointer());
}
rgpMsgCert = mem;
}
}
代码示例来源:origin: stackoverflow.com
public void read() {
Memory old = getPointer();
Memory m = autoAllocate(size());
// horribly inefficient, but it'll do
m.write(0, old.getByteArray(0, size()), 0, size());
useMemory(m);
// Zero out the problematic callbacks
for (field : problematic_fields) {
m.setPointer(field_offset, null);
}
super.read();
useMemory(old);
}
代码示例来源:origin: org.rococoa/rococoa-core
private Memory bufferForStructureByReference(Structure methodCallResult) {
methodCallResult.write();
Memory buffer = new Memory(Native.POINTER_SIZE);
buffer.setPointer(0, methodCallResult.getPointer());
return buffer;
}
代码示例来源:origin: com.protonail.leveldb-jna/leveldb-jna-core
startKeyMemory.write(0, ranges[i].getStartKey(), 0, startKeyLength);
startKeys.setPointer(i * Pointer.SIZE, startKeyMemory);
limitKeyMemory.write(0, ranges[i].getLimitKey(), 0, limitKeyLength);
limitKeys.setPointer(i * Pointer.SIZE, limitKeyMemory);
内容来源于网络,如有侵权,请联系作者删除!