📄 comcustom.java
字号:
//******************************************************************
// Released under the DevelopMentor OpenSource Software License.
// Please consult the LICENSE file in the project root directory,
// or at http://www.develop.com for details before using this
// software.
//******************************************************************
package org.jawin.marshal;
import org.jawin.*;
import org.jawin.constants.*;
import org.jawin.util.*;
import java.io.*;
import java.util.*;
/**
* Hand-coded COM stubs
* FIXME - alot of these methods call the unimplemented native methods in
* {@link org.jawin.marshal.COMMarshal}.
*/
public class COMCustom {
static {
Bootstrap.init();
}
public static IUnknown getIunknownProp(int vtIndex, int iidToken, int peer, int unknown, GUID guid)
throws COMException, IOException
{
byte[] stack = new byte[4];
byte[] result = GenericStub.comInvoke(":H:N|4U|",
4,
4,
stack,
null,
vtIndex,
iidToken,
peer,
unknown);
return IdentityManager.getCOMPtr(result, 0 , guid);
}
public static DispatchPtr getIdispatchProp(int vtIndex, int iidToken, int peer, int unknown)
throws COMException, IOException
{
byte[] stack = new byte[4];
byte[] result = GenericStub.comInvoke(":H:N|4U|",
4,
4,
stack,
null,
vtIndex,
iidToken,
peer,
unknown);
return (DispatchPtr) IdentityManager.getCOMPtr(result, 0 , WellKnownGUIDs.IID_IDispatch);
}
public static int getIntProp(int vtIndex, int iidToken, int peer, int unknown) {
return COMMarshal.invokeoI(vtIndex, iidToken, peer, unknown);
}
public static float getFloatProp(int vtIndex, int iidToken, int peer, int unknown) {
return COMMarshal.invokeoF(vtIndex, iidToken, peer, unknown);
}
public static String getStringProp(int vtIndex, int iidToken, int peer, int unknown) {
return COMMarshal.invokeoG(vtIndex, iidToken, peer, unknown);
}
public static boolean getBooleanProp(int vtIndex, int iidToken, int peer, int unknown) {
return COMMarshal.invokeoI(vtIndex, iidToken, peer, unknown) == VarTypes.VARIANT_TRUE;
}
public static void setIntProp(int vtIndex, int iidToken, int peer, int unknown, int prop) {
COMMarshal.invokeI(vtIndex, iidToken, peer, unknown, prop);
}
public static void setFloatProp(int vtIndex, int iidToken, int peer, int unknown, float prop) {
COMMarshal.invokeF(vtIndex, iidToken, peer, unknown, prop);
}
public static void setBooleanProp(int vtIndex, int iidToken, int peer, int unknown, boolean prop) {
COMMarshal.invokeI(vtIndex, iidToken, peer, unknown, prop ? VarTypes.VARIANT_TRUE : VarTypes.VARIANT_FALSE);
}
public static void setStringProp(int vtIndex, int iidToken, int peer, int unknown, String prop) {
COMMarshal.invokeG(vtIndex, iidToken, peer, unknown, prop);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -