www.pudn.com > asm_vxd.zip > vxd.asm, change:1998-01-10,size:1195b


OpenVxD: 
        push    L NULL 
        push    L FILE_FLAG_DELETE_ON_CLOSE 
        push    L FALSE 
        push    L NULL 
        push    L FALSE 
        push    L FALSE                
        push    offset VxDName 
        call    CreateFileA 
        mov     Vxd_Handle,eax 
        cmp     eax,-1 
        je      VxDError 
        ret 
CloseVxD: 
        push    [Vxd_Handle] 
        call    CloseHandle 
        mov     eax,1 
        ret                     ;All Ok!! 
 
VxDError: 
        push    L 0 
        call    MessageBeep 
        push    L MB_ICONEXCLAMATION 
        push    offset ErrHeader 
        push    offset VxDErrorTxT 
        push    [newhwnd] 
        call    MessageBoxA 
        ret 
 
UseVxD: push    L NULL 
        push    offset vxdbytesret      ;lp to bytes returned 
        push    L FALSE                 ;size of output buffer 
        push    L NULL                  ;lp to output data 
        push    L FALSE                 ;size of input buffer 
        push    L NULL                  ;lp to input data 
        push    [ControlCode]           ;Control code 1 
        push    [Vxd_Handle] 
        call    DeviceIoControl 
        ret