comcustom.java

来自「用于Java 组件和通过Windows COM 对象或Windows DLL 来」· Java 代码 · 共 89 行

JAVA
89
字号
//******************************************************************
// 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 com.develop.jawin.marshal;

import com.develop.jawin.*;
import com.develop.jawin.constants.*;
import com.develop.util.*;
import java.io.*;
import java.util.*;

/**
 * Hand-coded COM stubs
 */
public class COMCustom implements VarTypes, WellKnownGUIDs {
  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.comInvokeString(":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.comInvokeString(":H:N|4U|",
					   4,
					   4,
					   stack,
					   null,
                                           vtIndex,
					   iidToken,
					   peer,
					   unknown);
    return (DispatchPtr) IdentityManager.getCOMPtr(result, 0 , 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) == 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 ? VARIANT_TRUE : 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 + =
减小字号Ctrl + -
显示快捷键?