Bookshelf Home | Contents | Index | PDF |
Siebel eScript Language Reference > Methods Reference > Siebel Library Methods > Siebel Library Call DLL MethodThe Siebel Library Call DLL method calls a procedure from a dynamic link library in Microsoft Windows or a shared object in UNIX. It returns an integer. Windows FormatSElib.dynamicLink(Library, Procedure, Convention[, [desc,] arg1, arg2, arg3, ..., argn]) UNIX FormatSElib.dynamicLink(Library, Procedure[, arg1, arg2, arg3, ...argn]) In UNIX, Siebel CRM cannot use the Siebel Library Call DLL method to pass more than 22 arguments. These 22 arguments include the shared library name and the procedure name. You can configure Siebel CRM to pass up to 20 more arguments. Table 117 describes the arguments for the Siebel Library Call DLL method.
Usage for the Convention ArgumentTable 118 describes the calling conventions you must use with the Siebel Library Call DLL method. Usage if An Argument Is Not DefinedSiebel CRM passes values as 32-bit values. If an argument is not defined when Siebel CRM calls the Siebel Library Call DLL method, then it assumes that the argument is a 32-bit value. It passes the address of a 32-bit data element to the Siebel Library Call DLL method. This method then sets the value. Usage If an Argument Is a StructureSELib is a feature that Siebel eScript uses to call functions in the native DLLs. These DLLs can contain functions implemented in a third party language, such as C or C++. In this situation, an argument can include a structure. If an argument is a structure, then it must include a structure that defines the binary data types in memory. Siebel CRM does the following:
Example 1The following example describes a proxy DLL that uses denormalized input values, creates the structure, and calls a method in the destination DLL: #include <windows.h> Example 2The following example calls a DLL. This code uses the buffer for pointers and characters: function TestDLLCall3() SElib.dynamicLink("jddll.dll", "score", CDECL, var r_churn_score = R_CHURN_SCORE.getValue(8, "float"); Other ExamplesThe following example calls a DLL function in the default codepage: var sHello = "Hello"; The following example calls a DLL function that passes Unicode strings: var sHello = "Hello"; The following example calls a DLL function that passes Unicode and nonUnicode strings: var sHello = "Hello"; The following example calls an external application and passes arguments 0, 0, and 5 to it: SElib.dynamicLink("shell32", "ShellExecuteA", STDCALL, 0, "open", "c:\\Grabdata.exe", 0, 0, 5). Related TopicsFor more information, see Clib Send Command Method. |
Siebel eScript Language Reference | Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Legal Notices. | |