Technical notes
This section contains technical information for programmers who want to create DLLs for use with mIRC.
The routine in the
DLL being called must be of the form:
int __stdcall procname(HWND mWnd, HWND aWnd, char *data, char *parms, BOOL show, BOOL nopause)
mWnd is the
handle to the main mIRC window.
aWnd is the
handle of the window in which the command is being issued, this might not be the currently active window if the command is being called by a remote script.
data is the information that you wish to send to the
DLL. On return, the
DLL can fill this variable with the command it wants mIRC to perform if any.
parms is filled by the
DLL on return with parameters that it wants mIRC to use when performing the command that it returns in the data variable.
Note: The data and parms variables can each hold 900 chars maximum.
show is FALSE if the . prefix was specified to make the command quiet, or TRUE otherwise.
nopause is TRUE if mIRC is in a critical routine and the
DLL must not do anything that pauses processing in mIRC, eg. the
DLL should not pop up a dialog.
The
DLL can return an integer to indicate what it wants mIRC to do:
0 means that mIRC should /halt processing
1 means that mIRC should continue processing
2 means that it has filled the data variable with a command which it wants mIRC to perform, and has filled parms with the parameters to use, if any, when performing the command.
3 means that the
DLL has filled the data variable with the result that $
dll() as an identifier should return.
Note: You may need to create a .def file with the procedure names exported when compiling your
DLL.