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.