亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? as_dll.txt

?? TvicHW32(評估版)另一個編寫驅動程序的實用工具(497KB)
?? TXT
字號:
                      TVicHW32.DLL version 3.0
                      ========================

               Copyright (C) 1997,1998 Victor Ishikeev
             e-mail: ivi@ufanet.ru, tools@entechtaiwan.com
                 http://www.entechatiwan.com/tools.htm


                             AS_DLL.TXT
                            ============

CONTENTS
========

1. GENERAL TVicHW32 FUNCTIONS
2. DIRECT MEMORY ACCESS WITH TVicHW32 (NEW features!)
3. DIRECT PORT I/O WITH TVicHW32
4. HARDWARE INTERRUPT HANDLING WITH TVicHW32 (NEW features!)
5. SPECIFIC WORK WITH THE LPT PORT (NEW!)
6. CONTACT INFORMATION


1. GENERAL TVicHW32 FUNCTIONS
====================================================

TVicHW32 has the following general functions:

    PVicHW32Descriptor OpenTVicHW32(PVicHW32Descriptor HW32);
    ----------------------------------------------------------
    Loads the vichwXX.vxd (under Windows 95) or vichwXX.sys (under 
    Windows NT) kernel-mode driver, providing direct access to the 
    hardware. If the kernel-mode driver was successfully opened, the
    GetActiveHW() returns True; if the function fails, the GetActiveHW() 
    returns False.

    Note! Before first call to OpenTVicHW32() HW32 should be NULL!

    PVicHW32Descriptor CloseTVicHW32(PVicHW32Descriptor HW32);
    -----------------------------------------------------------
    Closes the kernel-mode driver and releases memory allocated to it.
    If a hardware interrupt was "unmasked", the "mask" is restored. If the
    driver was successfully closed, the GetActiveHW() always returns False.

    BOOL GetActiveHW(PVicHW32Descriptor HW32);
    --------------------------------------------
    This boolean function specifies whether the kernel-mode driver is open.
    Returns True if the driver is already open, or False if it is not.


2. DIRECT MEMORY ACCESS WITH TVicHW32
=====================================

The following function permits direct memory acccess:

    long MapPhysToLinear(PVicHW32Descriptor HW32, long PhAddr, long Size);
    ---------------------------------------- --------------------------------
    Maps a specific physical address to a pointer in linear memory, 
    where PhAddr is the base address and Size is the actual number of
    bytes to which access is required (returns type long, should be
    converted to pointer before using).
   
    NEW! Now you can get up 16 of valid pointers to various physical 
    ===  addresses.

    The following example returns a pointer to the system ROM BIOS area:

    char *pBios;
    PVicHW32Descriptop HW32 = NULL;


    HW32 = OpenTVicHW32( HW32);

    if (GetActiveHW(HW32)) {

       pBios = (char*)MapPhysToLinear (HW32,0xF8000,256); //255 bytes beginning at $F8000

       //...working with pBIOS...

       HW32 = CloseTVicHW32(HW32);

     }

     else ...  //  failed

3. DIRECT PORT I/O WITH TVicHW32
================================

The following functions permit direct I/O port access:
------------------------------------------------------

    short GetPortByte (PVicHW32Descriptor HW32, short wPortAddress);              // read one byte 
    short GetPortWord (PVicHW32Descriptor HW32, short wPortAddress);              // read one word
    long  GetPortLong (PVicHW32Descriptor HW32, short wPortAddress);              // read four bytes
    void  SetPortByte (PVicHW32Descriptor HW32, short wPortAddress, short bData);  // write one byte
    void  SetPortWord (PVicHW32Descriptor HW32, short wPortAddress, short wData);  // write one word
    void  SetPortLong (PVicHW32Descriptor HW32, short wPortAddress, long lData); // write four bytes

    void  SetHardAccess(PVicHW32Descriptor HW32, BOOL HardAccess);
    --------------------------------------------------------------
    The SetHardAccess() function determines whether the kernel-mode driver
    should use "hard" or "soft" access to the I/O ports. If set to True
    "hard" access is employed; if set to False "soft" access is employed.

    "Soft" access provides higher performance access to ports, but may fail
    if the port(s) addressed are already in use by another kernel-mode
    driver. While slower, "Hard" access provides more reliable access to
    ports which have already been opened by another kernel-mode driver. 

    BOOL  GetHardAccess(PVicHW32Descriptor HW32);
    --------------------------
    Returns True is "hard" access is used.

4. HARDWARE INTERRUPT HANDLING WITH TVicHW32
============================================

In a Win32 environment, hardware interrupts are normally prohibited
by Windows; the TVicHW32 kernel-mode driver allows you to use the
interrupt for direct handling by your application. Note that only one
interrupt can be handled at a time.

The following functions permit access to hardware interrupts.

    void  SetIRQ(PVicHW32Descriptor HW32,
                 short              IRQNumber,
                 TOnHWInterrupt     HWHandler);
    -------------------------------------------

    Assign the interrupt specified by the IRQNumber value (1..15) to
    the HWHandler() handler. Note that IRQ0 (the system timer) is *not* 
    supported.

    typedef void (__stdcall *TOnHWInterrupt)(
                             long  HWCounter,
                             short LPT_DataReg,
                             short LPT_StatusReg,
                             short Keyb_ScanCode
                             );


    HwCounter       : shows how many interruption was processed in the driver.
    LPT_DataReg     : if used IRQ7 then driver reads base LPT port (data)
    LPT_StatusReg   : if used IRQ7 then driver reads status LPT register(base+2)
    Keyb_ScanKode   : if used IRQ1 then driver allows you see all keystrokes
                      (scan codes) from the keyboard.


    void  UnmaskIRQ(PVicHW32Descriptor HW32); 
    -----------------------------------------
    Physically unmasks the hardware interrupt specified by the IRQNumber
    property, so that an lpfnOnHWInterrupt function will be called 
    when a hardware interrupt occurs. 

    void  MaskIRQ(PVicHW32Descriptor HW32); 
    --------------------------
    Physically masks the hardware interrupt unmasked by UnmaskIRQ().

    BOOL  IsIRQMasked(PVicHW32Descriptor HW32);
    ------------------------------------------
    Function which specifies whether the hardware interrupt 
    has been physically masked (True).

    short GetIRQNumber(PVicHW32Descriptor HW32); 
    -------------------------------------------
    Returns IRQ value assigned by SetIRQ()

5. SPECIFIC WORK WITH THE LPT PORT (NEW!)

Now TVicHW32 provides extended functions for work with the printer (LPT) port.   
See test examples for more info.

==== BASE ====

    short GetLPTNumPorts(PVicHW32Descriptor HW32); 
    -------------------------------------------
    Shows how many LPT ports are installed on your PC.

    short GetLPTNumber(PVicHW32Descriptor HW32); 
    --------------------------------------------
    Shows current LPT number.

    short SetLPTNumber(PVicHW32Descriptor HW32, short nNewValue); 
    ------------------------------------------------------------
    Allows select a current LPT port.

    short GetLPTBasePort(PVicHW32Descriptor HW32);
    --------------------------------------------
    Returns a base address of the current LPT port.

==== PINS ====

    BOOL GetPin(PVicHW32Descriptor HW32, short nPin);
    -------------------------------------------------
    Allows read an electrical level from the select pin of current 
    LPT port. Returns TRUE if current level is HIGH.

    void SetPin(PVicHW32Descriptor HW32, short nPin, BOOL nNewValue);
    ----------------------------------------------------------------
    Allows write an electrical level to the selected pin.
    If nNewValue = TRUE - HIGH level.

    Note: Not all pins are accessible for this operation. Run test example
          for more info.

==== STATUS ====

    BOOL GetLPTAckwl(PVicHW32Descriptor HW32);
    ------------------------------------------
    Returns ACKWL state from the printer

    BOOL GetLPTBusy(PVicHW32Descriptor HW32);
    -------------------------------------
    Returns BUSY state from the printer

    BOOL GetLPTPaperEnd(PVicHW32Descriptor HW32);
    --------------------------------------------
    Returns PAPER END state from the printer
    
    BOOL GetLPTSlct(PVicHW32Descriptor HW32);
    ------------------------------------------
    Returns SLCT state from the printer

    BOOL GetLPTError(PVicHW32Descriptor HW32);
    ------------------------------------------
    Returns ERROR state from the printer

=== COMMANDS ===

    void SetLPTStrobe(PVicHW32Descriptor HW32);
    ----------------------------
    Sends STROBE signal to the printer

    void SetLPTAutofd(PVicHW32Descriptor HW32, BOOL Flag);
    ------------------------------------------------------
    Sets current AUTOFD  state on printer

    void SetLPTInit(PVicHW32Descriptor HW32);
    ----------------------------------------
    Resets printer by sending INIT signal

    void SetLPTSlctIn(PVicHW32Descriptor HW32);
    -------------------------------------------
    Sends SLCTIN signal to the printer

    BOOL LPTPrintChar((PVicHW32Descriptor HW32, short ch);
    -----------------------------------------------------
    Sends one symbol to the printer. Returns TRUE if
    successed. Otherwise you need repeat this operation

6. CONTACT INFORMATION
======================

    Comments, questions and suggestions regarding TVicHW32 can be directed 
by e-mail to ivi@ufanet.ru or tools@entechtaiwan.com. 

With best wishes,

Victor Ishikeev
Oct 1998

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区三区四区五区黄 | 久久不见久久见中文字幕免费| 色悠久久久久综合欧美99| 亚洲少妇最新在线视频| 91麻豆高清视频| 亚洲六月丁香色婷婷综合久久| 欧美在线观看一二区| 亚洲成年人网站在线观看| 日韩免费性生活视频播放| 国产毛片一区二区| 中文字幕亚洲精品在线观看| 欧美主播一区二区三区| 日本中文在线一区| 久久久精品蜜桃| 色婷婷av一区二区三区大白胸| 日韩一区精品视频| 久久综合国产精品| 97aⅴ精品视频一二三区| 亚洲成国产人片在线观看| www一区二区| 99国产精品国产精品久久| 亚洲va韩国va欧美va| 欧美精品一区二区三区蜜桃视频 | 99天天综合性| 午夜精品福利在线| 国产欧美日产一区| 欧美三级日韩三级| 国产一区二区三区四区五区入口 | 中文字幕亚洲在| 69堂成人精品免费视频| 国产成人免费av在线| 亚洲影视在线观看| 久久丝袜美腿综合| 欧美怡红院视频| 国产精品一二三区| 五月激情综合色| 91成人在线免费观看| 亚洲免费观看在线视频| 欧美午夜在线一二页| 国产一区二区不卡| 亚洲黄色在线视频| 久久精品无码一区二区三区| 欧美综合视频在线观看| 粉嫩av亚洲一区二区图片| 三级影片在线观看欧美日韩一区二区| 日本一二三不卡| 日韩视频中午一区| 在线观看视频一区二区欧美日韩| 国精产品一区一区三区mba桃花| 一区二区视频在线看| 久久久久国产成人精品亚洲午夜| 欧美午夜在线一二页| 99精品在线免费| 国产精品88av| 另类综合日韩欧美亚洲| 亚洲一级片在线观看| 国产精品久久久久久亚洲伦| 久久日一线二线三线suv| 欧美精品成人一区二区三区四区| 国产麻豆视频一区二区| 日日夜夜精品视频免费 | 国产日韩欧美精品电影三级在线 | 国内一区二区在线| 免费人成在线不卡| 午夜在线成人av| 一区二区三区影院| 亚洲人精品午夜| 亚洲国产精华液网站w| 久久欧美一区二区| 久久嫩草精品久久久久| 日韩欧美一级片| 日韩精品中文字幕一区二区三区| 欧美日本在线看| 欧美色倩网站大全免费| 欧美性猛交一区二区三区精品| 色婷婷综合中文久久一本| 91影视在线播放| 91福利精品视频| 在线观看日韩高清av| 欧美亚洲国产怡红院影院| 91成人国产精品| 欧美日韩国产天堂| 日韩一区二区三区观看| 精品国产制服丝袜高跟| 亚洲精品在线电影| 欧美激情综合五月色丁香小说| 欧美激情一区二区三区不卡| 国产精品久久久久久久久久免费看| 欧美国产成人精品| 亚洲色图视频网| 亚洲国产精品久久久男人的天堂| 亚洲综合一区二区三区| 天天影视色香欲综合网老头| 免费成人在线网站| 国模少妇一区二区三区| 99久久综合色| 欧美日韩五月天| 欧美mv日韩mv| 欧美激情一区二区三区不卡| 亚洲精品国产品国语在线app| 性做久久久久久久久| 免费成人美女在线观看.| 国产精品亚洲一区二区三区妖精| gogogo免费视频观看亚洲一| 91久久精品网| 欧美mv和日韩mv的网站| 国产精品丝袜一区| 亚洲国产精品久久艾草纯爱| 久色婷婷小香蕉久久| 国产91精品一区二区麻豆网站| 91免费在线播放| 欧美丰满美乳xxx高潮www| 国产午夜精品一区二区三区嫩草| 亚洲精品成人少妇| 精品一二三四区| 99国产精品久久久久久久久久| 88在线观看91蜜桃国自产| 久久婷婷色综合| 亚洲国产毛片aaaaa无费看| 国内欧美视频一区二区| 色视频成人在线观看免| 精品久久久久久久久久久久久久久久久| 亚洲国产高清aⅴ视频| 视频一区二区不卡| 91麻豆免费视频| 精品国产91久久久久久久妲己| 亚洲欧美激情在线| 国产乱子轮精品视频| 欧美日韩小视频| 成人欧美一区二区三区小说| 久久se精品一区二区| 色综合久久88色综合天天| 精品国产乱码久久| 日日夜夜精品视频天天综合网| 91视频在线观看| 久久午夜羞羞影院免费观看| 香蕉久久夜色精品国产使用方法| 成人国产免费视频| 久久久美女艺术照精彩视频福利播放| 亚洲一区二区欧美| a级高清视频欧美日韩| 欧美成人激情免费网| 亚洲图片欧美色图| 成人动漫一区二区在线| 精品粉嫩超白一线天av| 天堂一区二区在线| 色婷婷综合久久久久中文| 亚洲国产精品成人久久综合一区| 久久99久久99精品免视看婷婷 | 亚洲欧美日韩系列| 国产美女一区二区三区| 91精品欧美久久久久久动漫| 亚洲综合免费观看高清完整版在线| 成人福利在线看| 久久久综合精品| 九九精品视频在线看| 7777精品伊人久久久大香线蕉| 亚洲影视在线观看| 色偷偷成人一区二区三区91| 综合激情网...| 99热在这里有精品免费| 国产精品国产精品国产专区不片| 国产成人免费在线视频| 国产色综合久久| 国产精华液一区二区三区| 久久久久久久久伊人| 国产一区二区三区电影在线观看 | 在线不卡a资源高清| 亚洲永久免费av| 欧美日韩国产中文| 日韩精品福利网| 欧美一区二区三区视频免费播放| 日韩在线a电影| 日韩免费电影一区| 国产在线播放一区三区四| 久久久一区二区三区捆绑**| 国产激情偷乱视频一区二区三区| 久久免费精品国产久精品久久久久 | 日韩av电影免费观看高清完整版 | 亚洲综合清纯丝袜自拍| 欧美日韩视频在线一区二区| 日韩高清一区二区| 日韩欧美的一区| 激情亚洲综合在线| 国产午夜精品一区二区三区视频| 成人国产精品免费观看动漫| 亚洲欧美日韩国产综合| 欧美性极品少妇| 另类欧美日韩国产在线| www精品美女久久久tv| 成人h版在线观看| 亚洲自拍偷拍网站| 日韩一区二区三区电影在线观看| 国产中文一区二区三区| 国产精品九色蝌蚪自拍| 欧美日韩激情一区| 国产一区二区三区精品欧美日韩一区二区三区 | 国模一区二区三区白浆| 国产精品乱人伦中文| 欧美性受xxxx黑人xyx性爽|