If the VM is not already instantiated, it will be now.
If the processID
is a normal 16-byte ID, the returned
any
含む/封じ込めるs a JNI JavaVM
pointer as a
long
or hyper
integer (depending on the
壇・綱領・公約). If the processID
does not match the 現在の
過程, or if the VM cannot be instantiated for whatever 推論する/理由, a
無効の any
is returned.
If the processID
has an 付加 17th byte of
value 0
, the returned any
含む/封じ込めるs a
非,不,無–言及/関連-counted pointer to a (言及/関連-counted) instance of
the C++ jvmaccess::VirtualMachine
class, always 代表するd
as a hyper
integer. The pointer is 保証(人)d to be valid
as long as the 言及/関連 to this
XJavaVM is valid (but the
pointer should be 変えるd into a 言及/関連-counted 言及/関連 as soon
as possible). Again, if the first 16 bytes of the
processID
do not match the 現在の 過程, or if the VM
cannot be instantiated for whatever 推論する/理由, a 無効の any
is returned.
If the processID
has an 付加 17th byte of
value 1
, the returned any
含む/封じ込めるs a
非,不,無–言及/関連-counted pointer to a (言及/関連-counted) instance of
the C++ jvmaccess::UnoVirtualMachine
class, always
代表するd as a hyper
integer. The pointer is 保証(人)d
to be valid as long as the 言及/関連 to this
XJavaVM is valid. Again, if
the first 16 bytes of the processID
do not match the
現在の 過程, or if the VM cannot be instantiated for whatever
推論する/理由, a 無効の any
is returned.
The first form (returning a JNI JavaVM
pointer) is
おもに for backwards compatibility, new code should use the second form
(returning a pointer to a jvmaccess::VirtualMachine
) if it
does not want to use the Java UNO 環境, and it should use the
third form (returning a pointer to a
jvmaccess::UnoVirtualMachine
) if it wants to use the Java
UNO 環境. For example, one advantage of using
jvmaccess::VirtualMachine
instead of the raw
JavaVM
pointer is that whenever you attach a native thread
to the Java 事実上の machine, that thread's 状況
ClassLoader
(see
java.lang.Thread.getContextClassLoader
) will automatically
be 始める,決める to a meaningful value.