The GetMethodEntryParameters method of the IJavaEventMonitorIDInfo3 interface can be used to retrieve the entry parameters that are passed to a method before execution of the method begins.
A profiler can only call GetMethodEntryParameters during a MethodEntry callback notification.
The GetMethodEntryParameters method is implemented only by the IJavaEventMonitorIDInfo3 interface.
HRESULT GetMethodEntryParameters(DWORD **ppslots, DWORD **ppreserved, JVM_CALLING_CONVENTION *pcalling_convention, DWORD *pflags);
A pointer to the base of an array of the parameters passed to the current method, a bitmask of call flags, and value that represents the calling convention for the method.
[out] **ppslots | A pointer to the base of an array of the parameters passed to the current method. |
[out] **ppreserved | A pointer to an array of reserved elements. |
[out] *pcalling_convention | The calling convention for the method. |
[out] *pflags | A bitmask of JVM_CALL_FLAGS. |
The calling convention for the method about to be executed can be any of the values defined in the JVM_CALLING_CONVENTION enumeration.
Constant | Value | Description |
JVM_CALL_PASCAL | 1 | This method uses the Pascal calling convention where the parameters are pushed on the stack in the order that they appear in the method's prototype. |
JVM_CALL_CDECL | 2 | This method uses the C calling convention where the parameters are pushed on the stack in the reverse order that they appear in the method's prototype. |
To properly interpret method parameters, a profiler application would need to parse the signature for this method. This parameter signature can be retrieved by calling the MethodInformation method.
Only the JVM_CALL_THIS value of the JVM_CALL_FLAGS enumeration is defined for the call flags for a method.
Constant | Value | Description |
JVM_CALL_THIS | 1 | When this call flag is set, it indicates that the method is non-static. When this flag is clear, it indicates that the method is static. |