# Run DLL

Executes a specified function on a specified DLL.

Action available for the following operating systems:

![](/files/-McsYNWc88h_Sm8kJQcc)

### 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 %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.sysdevmobile.com/kalipso5/developing/form/actions/actions-description/group-others/run-dll.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
