VFBACKUP_Lock_NEC

include vpicd.inc
include vfbackup.inc

mov     eax, flag
mov     ebx, handle
mov     ecx, addrInterruptProc
VxDCall VFBACKUP_Lock_NEC
 

This service is called by VxDs to obtain exclusive control of the system floppy controller. Once this returns successfully a lock is obtained granting exclusive access.

flag
Indicates a VM or thread-based lock. A value of 0 indicates a thread-based lock and a value of 1 indicates a VM-based lock. If the VM gaining exclusive control is the System VM, and a VM-based lock is specified, then ALL threads in the System VM will have access (including Explorer and other apps). If you want only a specific thread in the system VM to have exclusive access, use a thread-based lock.
handle
Thread or VM handle.
addrInterruptProc
Address of the Ring 0 interrupt procedure, or specify 0 for none.

If a Ring 0 interrupt procedure is specified, all subsequent interrupts for the system floppy controller will be passed to this procedure. The Ring 0 procedure will be treated just like a HW_INT_PROC defined for VPICD. (For further information on VPICD, see the Kernel services help file.) The handle returned is the IRQ handle that should be used by this Ring 0 procedure for all subsequent IRQ operations. Note: Do not attempt to release the IRQ handle when the application is done with it. You must only call the VFBACKUP_Unlock_NEC service in order to release the IRQ handle. If a Ring 0 interrupt procedure is not specified, then the interrupt will be reflected to the VM of the thread, or the VM that owns the lock.