Calls a specific routine or module that resides in an external dynamic link library (DLL).
Category: | External Routines |
Windows specifics: | all |
CAUTION: |
Be sure
to use the correct arguments and attributes.
Using incorrect arguments or attributes for a DLL function can cause SAS, and possibly your operating system, to fail.
|
is an optional control string whose first character must be an asterisk (*), followed by any combination of the following characters:
I | prints the hexadecimal representations of all arguments
to the MODULE function and to the requested DLL routine before and
after the DLL routine is called. You can use this option to help diagnose
problems that are caused by incorrect arguments or attribute tables.
If you specify the I option, the E option
is implied.
|
E | prints detailed error messages. Without the E option
(or the I option, which supersedes
it), the only error message that the MODULE function generates is
"Invalid argument to function," which is usually not enough
information to determine the cause of the error.
|
Sx | uses x as a separator character to separate field definitions. You can then specify x in the argument list as its own character argument to serve as a delimiter for a list of arguments that you want to group together as a single structure. Use this option only if you do not supply an entry in the SASCBTBL attribute table. If you do supply an entry for this module in the SASCBTBL attribute table, you should use the FDSTART option in the ARG statement in the table to separate structures. |
H | provides brief help information about the syntax of the MODULE routines, the attribute file format, and the suggested SAS formats and informats. |
'*IS/'
specifies that parameter
lists be printed and that the string '/'
is
to be treated as a separator character in the argument list.
is the name of the external module to use, specified as a DLL name and the routine
name or ordinal value, separated by a comma. The module must
reside in a dynamic link library (DLL) and it must be externally callable. For example, the value 'KERNEL32,GetProfileString'
specifies
to load KERNEL32.DLL and to invoke the GetProfileString routine. Note
that while the DLL name is not case sensitive, the routine name is
based on the restraints of the routine's implementation language,
so the routine name is case sensitive.
'XYZ,30'
.
are the arguments to pass to the requested routine. Use the proper attributes for the arguments (numeric arguments for numeric attributes and character arguments for character attributes).