> For the complete documentation index, see [llms.txt](https://doc.sysdevmobile.com/kalipso/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.sysdevmobile.com/kalipso/6.0/documentation/actions/group-others/run-dll.md).

# Run DLL

Executes a specified function on a specified DLL.

Action available for the following operating systems:

<figure><img src="https://1102213384-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM6Wz3tBjSWbCweZ8NltT%2Fuploads%2FijusNYRimdEUcaINhCGH%2F06_Supported_OS_android_oldWin.png?alt=media&amp;token=8133842f-752d-4e55-b4ce-1baa251925ca" alt="OS Supported: Android, Win32"><figcaption></figcaption></figure>

### Parameters

*DLL*

* **DLL ID** *\<numeric> -* If the user previously loaded the DLL file that he wants to run, he just enter here the numeric identification of the loaded DLL.
* **DLL File** *\<string> -* Defines the full path and name of the DLL file that the user wants to run. If the user already have loaded the DLL file, he don't fill this parameter.
* **Function** *\<string> -* The name of the DLL function that the user wants to run.
* **Calling Convention** *\<unquoted string> -* The calling convention of the function. The possible parameters are:
  * stdcall
  * cdecl
  * dynamic

*Target*

* **Type** *\<unquoted string> -* The type of the returned value by the DLL function.
* **Pointer** *\<unquoted string> -* Defines if the user wants to return a pointer to the returned value.
* **Target** *\<unquoted string> -* The control or variable to save the returned value by the DLL function.

*Args*

* **Struct** *\<unquoted string> -* Defines if the argument is a structure or not.
* **Type** *\<unquoted string> -* Defines the type of the argument.
* **Pointer** *\<unquoted string> -* Defines if the argument is a pointer or not.
* **Buffer Size** *\<numeric> -* Defines the buffer size.
* **Argument** *\<unquoted string> -* Defines the value of the argument.

{% hint style="info" %}
Windows Desktop (Win32, Windows 10/11) can use C/C++ DLLs
{% endhint %}

{% hint style="info" %}
Notes for Android:

* Android C libraries can be used in this case (.so files).
* **HANDLE** type parameters are available only for the **Form**. It will return the current **Activity** as a **jobject.**
* **HWND** type parameters are available for the **Form** and it returns a **ViewGroup** as a **jobject** containing Kalipso Controls and you can add new **View**s to it. It is also available for **Control** and in this case it will return the top level **View** associated with the Kalipso Control as a **jobject**.
* For **HANDLE** and **HWND** if a **dynamic source** is specified and a string "JNIENV" is passed, Kalipso will return the current **JNIEnv\*** to use with JNI.
* **HDC** type parameters are not available.
  {% endhint %}
