> 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/5.0/developing/form/actions/actions-description/group-others/run-dll.md).

# Run DLL

Kalipso - Form - Actions - Actions Description - Group Others - Run DLL

Executes a specified function on a specified DLL.

Action available for the following operating systems:

![](https://3821468174-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LrTlA1suFa5N48x_83N%2F-McsX314mrjQ3P9-BQN7%2F-McsYNWc88h_Sm8kJQcc%2FAndroid%20e%20Windows.PNG?alt=media\&token=d553ed95-e59a-4cc6-9d43-64d113182e78)

### 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, Windows Mobile and Windows CE 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 %}
