⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 comcustom.java

📁 java 调用windows的api
💻 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 + -