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

📄 jni_pas.html

📁 JNI(java本地接口)之delphi版
💻 HTML
📖 第 1 页 / 共 5 页
字号:

    CallStaticShortMethod: <b>function</b>(Env: PJNIEnv; AClass: JClass; MethodID: JMethodID): JShort; <b>stdcall</b>;
    CallStaticShortMethodV: <b>function</b>(Env: PJNIEnv; AClass: JClass; MethodID: JMethodID; Args: va_list): JShort; <b>stdcall</b>;
    CallStaticShortMethodA: <b>function</b>(Env: PJNIEnv; AClass: JClass; MethodID: JMethodID; Args: PJValue): JShort; <b>stdcall</b>;

    CallStaticIntMethod: <b>function</b>(Env: PJNIEnv; AClass: JClass; MethodID: JMethodID): JInt; <b>stdcall</b>;
    CallStaticIntMethodV: <b>function</b>(Env: PJNIEnv; AClass: JClass; MethodID: JMethodID; Args: va_list): JInt; <b>stdcall</b>;
    CallStaticIntMethodA: <b>function</b>(Env: PJNIEnv; AClass: JClass; MethodID: JMethodID; Args: PJValue): JInt; <b>stdcall</b>;

    CallStaticLongMethod: <b>function</b>(Env: PJNIEnv; AClass: JClass; MethodID: JMethodID): JLong; <b>stdcall</b>;
    CallStaticLongMethodV: <b>function</b>(Env: PJNIEnv; AClass: JClass; MethodID: JMethodID; Args: va_list): JLong; <b>stdcall</b>;
    CallStaticLongMethodA: <b>function</b>(Env: PJNIEnv; AClass: JClass; MethodID: JMethodID; Args: PJValue): JLong; <b>stdcall</b>;

    CallStaticFloatMethod: <b>function</b>(Env: PJNIEnv; AClass: JClass; MethodID: JMethodID): JFloat; <b>stdcall</b>;
    CallStaticFloatMethodV: <b>function</b>(Env: PJNIEnv; AClass: JClass; MethodID: JMethodID; Args: va_list): JFloat; <b>stdcall</b>;
    CallStaticFloatMethodA: <b>function</b>(Env: PJNIEnv; AClass: JClass; MethodID: JMethodID; Args: PJValue): JFloat; <b>stdcall</b>;

    CallStaticDoubleMethod: <b>function</b>(Env: PJNIEnv; AClass: JClass; MethodID: JMethodID): JDouble; <b>stdcall</b>;
    CallStaticDoubleMethodV: <b>function</b>(Env: PJNIEnv; AClass: JClass; MethodID: JMethodID; Args: va_list): JDouble; <b>stdcall</b>;
    CallStaticDoubleMethodA: <b>function</b>(Env: PJNIEnv; AClass: JClass; MethodID: JMethodID; Args: PJValue): JDouble; <b>stdcall</b>;

    CallStaticVoidMethod: <b>procedure</b>(Env: PJNIEnv; AClass: JClass; MethodID: JMethodID); <b>stdcall</b>;
    CallStaticVoidMethodV: <b>procedure</b>(Env: PJNIEnv; AClass: JClass; MethodID: JMethodID; Args: va_list); <b>stdcall</b>;
    CallStaticVoidMethodA: <b>procedure</b>(Env: PJNIEnv; AClass: JClass; MethodID: JMethodID; Args: PJValue); <b>stdcall</b>;

    GetStaticFieldID: <b>function</b>(Env: PJNIEnv; AClass: JClass; <b>const</b> Name: PAnsiChar; <b>const</b> Sig: PAnsiChar): JFieldID; <b>stdcall</b>;
    GetStaticObjectField: <b>function</b>(Env: PJNIEnv; AClass: JClass; FieldID: JFieldID): JObject; <b>stdcall</b>;
    GetStaticBooleanField: <b>function</b>(Env: PJNIEnv; AClass: JClass; FieldID: JFieldID): JBoolean; <b>stdcall</b>;
    GetStaticByteField: <b>function</b>(Env: PJNIEnv; AClass: JClass; FieldID: JFieldID): JByte; <b>stdcall</b>;
    GetStaticCharField: <b>function</b>(Env: PJNIEnv; AClass: JClass; FieldID: JFieldID): JChar; <b>stdcall</b>;
    GetStaticShortField: <b>function</b>(Env: PJNIEnv; AClass: JClass; FieldID: JFieldID): JShort; <b>stdcall</b>;
    GetStaticIntField: <b>function</b>(Env: PJNIEnv; AClass: JClass; FieldID: JFieldID): JInt; <b>stdcall</b>;
    GetStaticLongField: <b>function</b>(Env: PJNIEnv; AClass: JClass; FieldID: JFieldID): JLong; <b>stdcall</b>;
    GetStaticFloatField: <b>function</b>(Env: PJNIEnv; AClass: JClass; FieldID: JFieldID): JFloat; <b>stdcall</b>;
    GetStaticDoubleField: <b>function</b>(Env: PJNIEnv; AClass: JClass; FieldID: JFieldID): JDouble; <b>stdcall</b>;

    SetStaticObjectField: <b>procedure</b>(Env: PJNIEnv; AClass: JClass; FieldID: JFieldID; Val: JObject); <b>stdcall</b>;
    SetStaticBooleanField: <b>procedure</b>(Env: PJNIEnv; AClass: JClass; FieldID: JFieldID; Val: JBoolean); <b>stdcall</b>;
    SetStaticByteField: <b>procedure</b>(Env: PJNIEnv; AClass: JClass; FieldID: JFieldID; Val: JByte); <b>stdcall</b>;
    SetStaticCharField: <b>procedure</b>(Env: PJNIEnv; AClass: JClass; FieldID: JFieldID; Val: JChar); <b>stdcall</b>;
    SetStaticShortField: <b>procedure</b>(Env: PJNIEnv; AClass: JClass; FieldID: JFieldID; Val: JShort); <b>stdcall</b>;
    SetStaticIntField: <b>procedure</b>(Env: PJNIEnv; AClass: JClass; FieldID: JFieldID; Val: JInt); <b>stdcall</b>;
    SetStaticLongField: <b>procedure</b>(Env: PJNIEnv; AClass: JClass; FieldID: JFieldID; Val: JLong); <b>stdcall</b>;
    SetStaticFloatField: <b>procedure</b>(Env: PJNIEnv; AClass: JClass; FieldID: JFieldID; Val: JFloat); <b>stdcall</b>;
    SetStaticDoubleField: <b>procedure</b>(Env: PJNIEnv; AClass: JClass; FieldID: JFieldID; Val: JDouble); <b>stdcall</b>;

    NewString: <b>function</b>(Env: PJNIEnv; <b>const</b> Unicode: PJChar; Len: JSize): JString; <b>stdcall</b>;
    GetStringLength: <b>function</b>(Env: PJNIEnv; Str: JString): JSize; <b>stdcall</b>;
    GetStringChars: <b>function</b>(Env: PJNIEnv; Str: JString; <b>var</b> IsCopy: JBoolean): PJChar; <b>stdcall</b>;
    ReleaseStringChars: <b>procedure</b>(Env: PJNIEnv; Str: JString; <b>const</b> Chars: PJChar); <b>stdcall</b>;

    NewStringUTF: <b>function</b>(Env: PJNIEnv; <b>const</b> UTF: PAnsiChar): JString; <b>stdcall</b>;
    GetStringUTFLength: <b>function</b>(Env: PJNIEnv; Str: JString): JSize; <b>stdcall</b>;
    GetStringUTFChars: <b>function</b>(Env: PJNIEnv; Str: JString; <b>var</b> IsCopy: JBoolean): PAnsiChar; <b>stdcall</b>;
    ReleaseStringUTFChars: <b>procedure</b>(Env: PJNIEnv; Str: JString; <b>const</b> Chars: PAnsiChar); <b>stdcall</b>;

    GetArrayLength: <b>function</b>(Env: PJNIEnv; AArray: JArray): JSize; <b>stdcall</b>;

    NewObjectArray: <b>function</b>(Env: PJNIEnv; Len: JSize; AClass: JClass; Init: JObject): JObjectArray; <b>stdcall</b>;
    GetObjectArrayElement: <b>function</b>(Env: PJNIEnv; AArray: JObjectArray; <b>Index</b>: JSize): JObject; <b>stdcall</b>;
    SetObjectArrayElement: <b>procedure</b>(Env: PJNIEnv; AArray: JObjectArray; <b>Index</b>: JSize; Val: JObject); <b>stdcall</b>;

    NewBooleanArray: <b>function</b>(Env: PJNIEnv; Len: JSize): JBooleanArray; <b>stdcall</b>;
    NewByteArray: <b>function</b>(Env: PJNIEnv; Len: JSize): JByteArray; <b>stdcall</b>;
    NewCharArray: <b>function</b>(Env: PJNIEnv; Len: JSize): JCharArray; <b>stdcall</b>;
    NewShortArray: <b>function</b>(Env: PJNIEnv; Len: JSize): JShortArray; <b>stdcall</b>;
    NewIntArray: <b>function</b>(Env: PJNIEnv; Len: JSize): JIntArray; <b>stdcall</b>;
    NewLongArray: <b>function</b>(Env: PJNIEnv; Len: JSize): JLongArray; <b>stdcall</b>;
    NewFloatArray: <b>function</b>(Env: PJNIEnv; Len: JSize): JFloatArray; <b>stdcall</b>;
    NewDoubleArray: <b>function</b>(Env: PJNIEnv; Len: JSize): JDoubleArray; <b>stdcall</b>;

    GetBooleanArrayElements: <b>function</b>(Env: PJNIEnv; AArray: JBooleanArray; <b>var</b> IsCopy: JBoolean): PJBoolean; <b>stdcall</b>;
    GetByteArrayElements: <b>function</b>(Env: PJNIEnv; AArray: JByteArray; <b>var</b> IsCopy: JBoolean): PJByte; <b>stdcall</b>;
    GetCharArrayElements: <b>function</b>(Env: PJNIEnv; AArray: JCharArray; <b>var</b> IsCopy: JBoolean): PJChar; <b>stdcall</b>;
    GetShortArrayElements: <b>function</b>(Env: PJNIEnv; AArray: JShortArray; <b>var</b> IsCopy: JBoolean): PJShort; <b>stdcall</b>;
    GetIntArrayElements: <b>function</b>(Env: PJNIEnv; AArray: JIntArray; <b>var</b> IsCopy: JBoolean): PJInt; <b>stdcall</b>;
    GetLongArrayElements: <b>function</b>(Env: PJNIEnv; AArray: JLongArray; <b>var</b> IsCopy: JBoolean): PJLong; <b>stdcall</b>;
    GetFloatArrayElements: <b>function</b>(Env: PJNIEnv; AArray: JFloatArray; <b>var</b> IsCopy: JBoolean): PJFloat; <b>stdcall</b>;
    GetDoubleArrayElements: <b>function</b>(Env: PJNIEnv; AArray: JDoubleArray; <b>var</b> IsCopy: JBoolean): PJDouble; <b>stdcall</b>;

    ReleaseBooleanArrayElements: <b>procedure</b>(Env: PJNIEnv; AArray: JBooleanArray; Elems: PJBoolean; Mode: JInt); <b>stdcall</b>;
    ReleaseByteArrayElements: <b>procedure</b>(Env: PJNIEnv; AArray: JByteArray; Elems: PJByte; Mode: JInt); <b>stdcall</b>;
    ReleaseCharArrayElements: <b>procedure</b>(Env: PJNIEnv; AArray: JCharArray; Elems: PJChar; Mode: JInt); <b>stdcall</b>;
    ReleaseShortArrayElements: <b>procedure</b>(Env: PJNIEnv; AArray: JShortArray; Elems: PJShort; Mode: JInt); <b>stdcall</b>;
    ReleaseIntArrayElements: <b>procedure</b>(Env: PJNIEnv; AArray: JIntArray; Elems: PJInt; Mode: JInt); <b>stdcall</b>;
    ReleaseLongArrayElements: <b>procedure</b>(Env: PJNIEnv; AArray: JLongArray; Elems: PJLong; Mode: JInt); <b>stdcall</b>;
    ReleaseFloatArrayElements: <b>procedure</b>(Env: PJNIEnv; AArray: JFloatArray; Elems: PJFloat; Mode: JInt); <b>stdcall</b>;
    ReleaseDoubleArrayElements: <b>procedure</b>(Env: PJNIEnv; AArray: JDoubleArray; Elems: PJDouble; Mode: JInt); <b>stdcall</b>;

    GetBooleanArrayRegion: <b>procedure</b>(Env: PJNIEnv; AArray: JBooleanArray; Start: JSize; Len: JSize; Buf: PJBoolean); <b>stdcall</b>;
    GetByteArrayRegion: <b>procedure</b>(Env: PJNIEnv; AArray: JByteArray; Start: JSize; Len: JSize; Buf: PJByte); <b>stdcall</b>;
    GetCharArrayRegion: <b>procedure</b>(Env: PJNIEnv; AArray: JCharArray; Start: JSize; Len: JSize; Buf: PJChar); <b>stdcall</b>;
    GetShortArrayRegion: <b>procedure</b>(Env: PJNIEnv; AArray: JShortArray; Start: JSize; Len: JSize; Buf: PJShort); <b>stdcall</b>;
    GetIntArrayRegion: <b>procedure</b>(Env: PJNIEnv; AArray: JIntArray; Start: JSize; Len: JSize; Buf: PJInt); <b>stdcall</b>;
    GetLongArrayRegion: <b>procedure</b>(Env: PJNIEnv; AArray: JLongArray; Start: JSize; Len: JSize; Buf: PJLong); <b>stdcall</b>;
    GetFloatArrayRegion: <b>procedure</b>(Env: PJNIEnv; AArray: JFloatArray; Start: JSize; Len: JSize; Buf: PJFloat); <b>stdcall</b>;
    GetDoubleArrayRegion: <b>procedure</b>(Env: PJNIEnv; AArray: JDoubleArray; Start: JSize; Len: JSize; Buf: PJDouble); <b>stdcall</b>;

    SetBooleanArrayRegion: <b>procedure</b>(Env: PJNIEnv; AArray: JBooleanArray; Start: JSize; Len: JSize; Buf: PJBoolean); <b>stdcall</b>;
    SetByteArrayRegion: <b>procedure</b>(Env: PJNIEnv; AArray: JByteArray; Start: JSize; Len: JSize; Buf: PJByte); <b>stdcall</b>;
    SetCharArrayRegion: <b>procedure</b>(Env: PJNIEnv; AArray: JCharArray; Start: JSize; Len: JSize; Buf: PJChar); <b>stdcall</b>;
    SetShortArrayRegion: <b>procedure</b>(Env: PJNIEnv; AArray: JShortArray; Start: JSize; Len: JSize; Buf: PJShort); <b>stdcall</b>;
    SetIntArrayRegion: <b>procedure</b>(Env: PJNIEnv; AArray: JIntArray; Start: JSize; Len: JSize; Buf: PJInt); <b>stdcall</b>;
    SetLongArrayRegion: <b>procedure</b>(Env: PJNIEnv; AArray: JLongArray; Start: JSize; Len: JSize; Buf: PJLong); <b>stdcall</b>;
    SetFloatArrayRegion: <b>procedure</b>(Env: PJNIEnv; AArray: JFloatArray; Start: JSize; Len: JSize; Buf: PJFloat); <b>stdcall</b>;
    SetDoubleArrayRegion: <b>procedure</b>(Env: PJNIEnv; AArray: JDoubleArray; Start: JSize; Len: JSize; Buf: PJDouble); <b>stdcall</b>;

    RegisterNatives: <b>function</b>(Env: PJNIEnv; AClass: JClass; <b>const</b> Methods: PJNINativeMethod; NMethods: JInt): JInt; <b>stdcall</b>;
    UnregisterNatives: <b>function</b>(Env: PJNIEnv; AClass: JClass): JInt; <b>stdcall</b>;

    MonitorEnter: <b>function</b>(Env: PJNIEnv; Obj: JObject): JInt; <b>stdcall</b>;
    MonitorExit: <b>function</b>(Env: PJNIEnv; Obj: JObject): JInt; <b>stdcall</b>;

    GetJavaVM: <b>function</b>(Env: PJNIEnv; <b>var</b> VM: JavaVM): JInt; <b>stdcall</b>;

    <font color="#003399"><i>// String Operations</i></font>
    GetStringRegion: <b>procedure</b>(Env: PJNIEnv; Str: JString; Start: JSize; Len: JSize; Buf: PJChar); <b>stdcall</b>;
    GetStringUTFRegion: <b>procedure</b>(Env: PJNIEnv; Str: JString; Start: JSize; Len: JSize; Buf: PAnsiChar); <b>stdcall</b>;

    <font color="#003399"><i>// Array Operations</i></font>
    GetPrimitiveArrayCritical: <b>function</b>(Env: PJNIEnv; AArray: JArray; <b>var</b> IsCopy: JBoolean): Pointer; <b>stdcall</b>;
    ReleasePrimitiveArrayCritical: <b>procedure</b>(Env: PJNIEnv; AArray: JArray; CArray: Pointer; Mode: JInt); <b>stdcall</b>;

    <font color="#003399"><i>// String Operations</i></font>
    GetStringCritical: <b>function</b>(Env: PJNIEnv; Str: JString; <b>var</b> IsCopy: JBoolean): PJChar; <b>stdcall</b>;
    ReleaseStringCritical: <b>procedure</b>(Env: PJNIEnv; Str: JString; CString: PJChar); <b>stdcall</b>;

    <font color="#003399"><i>// Weak Global References</i></font>
    NewWeakGlobalRef: <b>function</b>(Env: PJNIEnv; Obj: JObject): JWeak; <b>stdcall</b>;
    DeleteWeakGlobalRef: <b>procedure</b>(Env: PJNIEnv; Ref: JWeak); <b>stdcall</b>;

    <font color="#003399"><i>// Exceptions</i></font>
    ExceptionCheck: <b>function</b>(Env: PJNIEnv): JBoolean; <b>stdcall</b>;
  <b>end</b>;
  <font color="#003399"><i>{$EXTERNALSYM JNINativeInterface_}</i></font>

  <font color="#003399"><i>// Invocation API</i></font>

  PJavaVMOption = ^JavaVMOption;
  JavaVMOption = <b>packed</b> <b>record</b>
    optionString: PAnsiChar;
    extraInfo: Pointer;
  <b>end</b>;
  <font color="#003399"><i>{$EXTERNALSYM JavaVMOption}</i></font>

  PJavaVMInitArgs = ^JavaVMInitArgs;
  JavaVMInitArgs = <b>packed</b> <b>record</b>
    version: JInt;
    nOptions: JInt;
    options: PJavaVMOption;
    ignoreUnrecognized: JBoolean;
  <b>end</b>;
  <font color="#003399"><i>{$EXTERNALSYM JavaVMInitArgs}</i></font>

  PJavaVMAttachArgs = ^JavaVMAttachArgs;
  JavaVMAttachArgs = <b>packed</b> <b>record</b>
    version: JInt;
    name: PAnsiChar;
    group: JObject;
  <b>end</b>;
  <font color="#003399"><i>{$EXTERNALSYM JavaVMAttachArgs}</i></font>

  TIOFile = Pointer; <font color="#003399"><i>// (rom) for Kylix compatibility</i></font>

  <font color="#003399"><i>// These structures will be VM-specific.</i></font>
  PJDK1_1InitArgs = ^JDK1_1InitArgs;
  JDK1_1InitArgs = <b>packed</b> <b>record</b>
    version: JInt;
    properties: ^PAnsiChar;
    checkSource: JInt;
    nativeStackSize: JInt;
    javaStackSize: JInt;
    minHeapSize: JInt;
    maxHeapSize: JInt;
    verifyMode: JInt;
    classpath: PAnsiChar;

    vfprintf: <b>function</b>(FP: TIOFile; <b>const</b> Format: PAnsiChar; Args: va_list): JInt; <b>stdcall</b>;
    exit: <b>procedure</b>(Code: JInt); <b>stdcall</b>;
    abort: <b>procedure</b>; <b>stdcall</b>;

    enableClassGC: JInt;
    enableVerboseGC: JInt;
    disableAsyncGC: JInt;
    verbose: JInt;
    debugging: JBoolean;
    debugPort: JInt;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -