StdCallFunctionMapper (JNA API)
Description: declaration: package: com.sun.jna.win32, class: StdCallFunctionMapper

Package com.sun.jna.win32

# Class StdCallFunctionMapper

java.lang.Object
com.sun.jna.win32.StdCallFunctionMapper

All Implemented Interfaces:
  `FunctionMapper`

public class StdCallFunctionMapper extends Object implements FunctionMapper
Provides mapping from simple method names to w32 stdcall-decorated names where the name suffix is "@" followed by the number of bytes popped by the called function.

NOTE: if you use custom type mapping for primitive types, you may need to override `getArgumentNativeStackSize(Class)`.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `StdCallFunctionMapper()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected int`
  `getArgumentNativeStackSize(Class<?> cls)`
  Override this to handle any custom class mappings.
  `String`
  `getFunctionName(NativeLibrary library, Method method)`
  Convert the given Java method into a decorated `stdcall` name, if possible.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### StdCallFunctionMapper

    public StdCallFunctionMapper()

- ## Method Details

  - ### getArgumentNativeStackSize

    protected int getArgumentNativeStackSize(Class<?> cls)
    Override this to handle any custom class mappings.
    Parameters:
      `cls` - Java class of a parameter
    Returns:
      number of native bytes used for this class on the stack

  - ### getFunctionName

    public String getFunctionName(NativeLibrary library, Method method)
    Convert the given Java method into a decorated `stdcall` name, if possible.
    Specified by:
      `getFunctionName` in interface `FunctionMapper`
    Parameters:
      `library` - The `NativeLibrary` instance
      `method` - The invoked `Method`
    Returns:
      The decorated name