WINVXD(3) libwin Reference WINVXD(3) NAME winvxd - libwin's virtual device driver (VxD) functions SYNOPSIS #include <libwin.h> int win_vxd_load (char Device[]); int win_vxd_unload (char Device[]); int win_vxd_getentry (int *Entry, int ID); int win_vxd_getentrybyid (int *Entry, int ID); int win_vxd_getentrybyname (int *Entry, char *name); int win_vxd_call (int *Entry, union REGS *r, struct SREGS *sr); DESCRIPTION These functions are low-level functions that deal with Windows' virtual device drivers. These are capable of crashing the DOS box (virtual machine) that the program is executing in, and should be used with care. It is possible to crash Windows too. These are dangerous functions and should be used with care. win_vxd_load() and win_vxd_unload() load and unload the VxD whose filename is specified in Device[]. win_vxd_getentry() and win_vxd_getentrybyid() are the same function. They place the entry point of the specified VxD into Entry. Most VxDs have a unique ID, and can be loaded this way. If they do not, then win_vxd_getentrybyname() can be used to find the entry point, given the VxD's file- name in name. Once the entry point for a VxD has been found, it can be called using win_vxd_call(). This allows the contents of the normal registers EAX, EBX, ECX, EDX, EDI and ESI (all 32-bit) to be specified in r and the stack register ES (16-bit) to be specified in sr. Care is needed with this call, as one needs to know what the VxD requires to be in the registers. Even then this call will not be suitable in many cases, such as calling the VxD VWIN32, which is part of Windows '95. A useful reference about what parameters a VxD needs is Ralph Brown's Interrupt List. It doesn't go into quite enough detail, unfortunately. This can be obtained in HTML form (the best, IMHO) from http://www.ctyme.com/. Other than that, the Microsoft Developer's Network on the Web has lots of information and is free to join - see: http://www.microsoft.com/msdn/ or libwin 0.1.5 22 September 2002 1 WINVXD(3) libwin Reference WINVXD(3) http://www.eu.microsoft.com/msdn/ RETURN VALUES All of these functions except win_vxd_call return -1 on failure, and 0 or greater on success. win_vxd_call returns the contents of the AX register from the VxD call. SEE ALSO libwin(7) BUGS These functions do not work on Windows NT, 2000 or XP. libwin 0.1.5 22 September 2002 2
Page created on Sun Sep 29 21:12:26 2002 by m2h.pl, a man page to HTML convertor.
m2h.pl Version 1.3.2, Copyright 1997-2002 by Richard Dawe <webmaster@phekda.org>