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

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

?? utils.c

?? 硬盤驅動程序, 硬盤驅動程序,硬盤驅動程序
?? C
字號:
///////////////////////////////////////////////////////////////////////////////
//
//  (C) Copyright 1995 - 1998 OSR Open Systems Resources, Inc.
//	All Rights Reserved
//      Based on a previous work by Microsoft Corporation
//      Copyright (c) 1991, 1992, 1993  Microsoft Corporation
//
//    This sofware is supplied for instructional purposes only.
//
//      OSR Open Systems Resources, Inc. (OSR) expressly disclaims any warranty
//      for this software.  THIS SOFTWARE IS PROVIDED  "AS IS" WITHOUT WARRANTY
//      OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION,
//      THE IMPLIED WARRANTIES OF MECHANTABILITY OR FITNESS FOR A PARTICULAR
//      PURPOSE.  THE ENTIRE RISK ARISING FROM THE USE OF THIS SOFTWARE REMAINS
//      WITH YOU.  OSR's entire liability and your exclusive remedy shall not
//      exceed the price paid for this material.  In no event shall OSR or its
//      suppliers be liable for any damages whatsoever (including, without
//      limitation, damages for loss of business profit, business interruption,
//      loss of business information, or any other pecuniary loss) arising out
//      of the use or inability to use this software, even if OSR has been
//      advised of the possibility of such damages.  Because some states/
//      jurisdictions do not allow the exclusion or limitation of liability for
//      consequential or incidental damages, the above limitation may not apply
//      to you.
//
//    This driver is the example Programmed I/O device driver that
//    accompanies the book Windows NT Device Driver Development, by
//    Peter Viscarola and W. Anthony Mason, (c) 1998 OSR Open Systems
//    Resources, Inc. and published by MacMillan Technical Publishing
//    ISBN 1578700582.  
//
//	MODULE:
//
//		$Workfile: utils.c $
//
//	ABSTRACT:
//
//    This module contains some general utilities
//
//	AUTHOR:
//
//		Open Systems Resources, Inc.
// 
//	REVISION:   
//
//
///////////////////////////////////////////////////////////////////////////////
#include "ntddk.h"                      // main NT include
#include "ntdddisk.h"                   // disk driver IOCTL definitions
#include "hw.h"                         // the access macro/definitions
#include "ide.h"                        // IDE structure definitions



///////////////////////////////////////////////////////////////////////////////
//
//	IdeWaitControllerReady
//
//    This routine waits for the controller to turn off the BUSY bit in the CSR
//
//	INPUTS:
//
//    ControllerData       - controller information
//    MsDelay              - number of ms to delay each time
//    NumDelay             - number of times to delay
//
//	OUTPUTS:
//	
//    None.
//
//	RETURNS:
//
//    STATUS_SUCCESS if BUSY bit was OFF, otherwise STATUS_TIMEOUT
//
//      IRQL:
//
//    >= IRQL_DISPATCH_LEVEL
//
//	NOTES:
//
///////////////////////////////////////////////////////////////////////////////

NTSTATUS
IdeWaitControllerReady(PCONTROLLER_DATA ControllerData,
                    ULONG MsDelay,
                    ULONG NumDelay)

{
    ULONG loopCount = 0;

    //
    // Loop, trying to read the CSR and test for the BUSY bit to be set
    // 

    while ((READ_PORT_UCHAR(
        ControllerData->ControllerAddress + STATUS_REGISTER) &
        BUSY_STATUS)  &&
        (loopCount++ < NumDelay)) 
    {

        //
        // if the BUSY bit is NOT set, the stall the processor 
        //

        KeStallExecutionProcessor(MsDelay);

    }

    //
    // If we've tried to read the CSR NumDelay times, then we assume
    // failure and we return the STATUS_IO_TIMEOUT, otherwise we've exited
    // the loop early and the CSR BUSY bit must be ON, so return STATUS_SUCCESS
    //

    if (loopCount == NumDelay) 
    {

#if DBG
        DbgPrint(
            "IdeWaitControllerReady: ERROR: controller not ready\n");
#endif
        return STATUS_IO_TIMEOUT;

    } 
    else {

            return STATUS_SUCCESS;

    }
}


///////////////////////////////////////////////////////////////////////////////
//
//	IdeWaitControllerBusy
//
//    This routine waits for the controller to turn ON the BUSY bit in the CSR
//
//	INPUTS:
//
//    ControllerData       - controller information
//    MsDelay              - number of ms to delay each time
//    NumDelay             - number of times to delay
//
//	OUTPUTS:
//	
//    None.
//
//	RETURNS:
//
//    STATUS_SUCCESS if BUSY bit was turned ON, otherwise STATUS_TIMEOUT
//
//      IRQL:
//
//    >= IRQL_DISPATCH_LEVEL
//
//	NOTES:
//
///////////////////////////////////////////////////////////////////////////////

NTSTATUS
IdeWaitControllerBusy(
PUCHAR StatusRegisterAddress,
ULONG MsDelay,
ULONG NumDelay
)

{
    ULONG loopCount = 0;

    //
    // Loop, trying to read the CSR and test for the BUSY bit NOT to be set
    // 

    while (!(READ_PORT_UCHAR(StatusRegisterAddress) & BUSY_STATUS)  &&
        (loopCount++ < NumDelay)) 
    {

        //
        // if the BUSY bit is set, the stall the processor 
        //

        KeStallExecutionProcessor(MsDelay);

    }

    //
    // If we've tried to read the CSR NumDelay times, then we assume
    // failure and we return the STATUS_IO_TIMEOUT, otherwise we've exited
    // the loop early and the CSR BUSY bit must be OFF, so return STATUS_SUCCESS
    //

    if (loopCount == NumDelay) 
    {

#if DBG
        DbgPrint(
            "IdeWaitControllerBusy: ERROR: controller not busy\n");
#endif
        return STATUS_IO_TIMEOUT;

    } 
    else {

            return STATUS_SUCCESS;

    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久久久浪潮网站| 在线免费观看成人短视频| 国产精一品亚洲二区在线视频| 亚洲国产精品成人综合| 91精品欧美久久久久久动漫| 成人网男人的天堂| 日本欧美在线看| 亚洲码国产岛国毛片在线| 精品福利一区二区三区| 欧美丝袜第三区| 成人app在线观看| 国产资源在线一区| 日本不卡视频一二三区| 亚洲日穴在线视频| 久久久精品综合| 精品久久久久一区| 欧美丰满一区二区免费视频| 色av综合在线| 99久久国产综合精品色伊| 国产精品一区三区| 看电影不卡的网站| 免费成人小视频| 人人精品人人爱| 亚洲高清三级视频| 亚洲高清久久久| 亚洲成人动漫在线免费观看| 一区二区三区四区不卡在线| 综合激情成人伊人| 国产精品久久久久久久久果冻传媒 | 日韩三级在线免费观看| 色先锋资源久久综合| 成人av片在线观看| gogo大胆日本视频一区| www.欧美日韩| 99精品视频在线免费观看| thepron国产精品| caoporen国产精品视频| 国产91精品欧美| 不卡的av电影在线观看| 成人av在线一区二区三区| 暴力调教一区二区三区| 91麻豆免费视频| 欧美色手机在线观看| 欧美日韩色综合| 日韩视频在线永久播放| 精品国产成人在线影院| 久久久精品天堂| 欧美国产精品久久| 中文字幕一区二区三区av| 最新高清无码专区| 亚洲小说欧美激情另类| 婷婷久久综合九色综合绿巨人| 日韩成人精品视频| 国产在线精品视频| 国产成人aaa| av电影一区二区| 欧美午夜宅男影院| 91精品国产综合久久久久久| 日韩一级片在线播放| 精品黑人一区二区三区久久| 国产喷白浆一区二区三区| |精品福利一区二区三区| 一区二区三区四区乱视频| 日韩精品电影在线观看| 国产精品夜夜嗨| 99精品在线观看视频| 欧美日韩免费电影| 欧美精品一区二区三区高清aⅴ | 色欧美片视频在线观看在线视频| 色8久久人人97超碰香蕉987| 欧美日韩国产天堂| 精品国产伦理网| 亚洲欧美电影院| 日本aⅴ免费视频一区二区三区 | 亚洲欧美日韩在线| 午夜电影网一区| 国产精品影视在线| 欧美性三三影院| 国产三级欧美三级| 亚洲国产欧美另类丝袜| 紧缚捆绑精品一区二区| 91在线观看视频| 欧美成人欧美edvon| 成人免费在线观看入口| 日本欧美一区二区在线观看| 成人av网址在线| 欧美一区二区三区四区久久| 国产精品久久福利| 蜜臀av性久久久久蜜臀aⅴ | 欧美日本国产一区| 久久精品人人做| 亚洲成人资源在线| 成人中文字幕电影| 日韩一级片网址| 亚洲一区av在线| 粉嫩aⅴ一区二区三区四区| 欧美日韩黄色一区二区| 国产精品女上位| 久久疯狂做爰流白浆xx| 欧美探花视频资源| 国产女人18水真多18精品一级做| 日韩精品免费专区| 色婷婷久久久久swag精品| 久久嫩草精品久久久精品| 天堂影院一区二区| 91小视频在线观看| 国产免费观看久久| 国内成+人亚洲+欧美+综合在线| 欧美色欧美亚洲另类二区| 国产精品伦理一区二区| 国产乱妇无码大片在线观看| 在线播放91灌醉迷j高跟美女 | 亚洲狠狠爱一区二区三区| 成人免费视频一区二区| 久久亚洲捆绑美女| 视频一区中文字幕| 在线观看国产一区二区| 亚洲欧洲99久久| 成人一级黄色片| 久久综合色天天久久综合图片| 肉肉av福利一精品导航| 欧美无砖砖区免费| 亚洲六月丁香色婷婷综合久久 | 日韩三级视频在线观看| 一区二区三区欧美激情| 99久久伊人精品| 国产精品久久久久久户外露出 | 精品一区二区在线看| 91精品国产色综合久久不卡蜜臀 | 亚洲欧洲美洲综合色网| 成人免费高清在线观看| 欧美激情一区不卡| 成人免费观看视频| 亚洲国产成人自拍| 国产白丝精品91爽爽久久| 日本一区二区视频在线| 成人一二三区视频| 成人欧美一区二区三区视频网页 | 精品一区二区三区在线观看| 日韩一区二区三区免费看 | 国产精品福利一区| 粉嫩aⅴ一区二区三区四区五区| 欧美国产欧美综合| 国产激情一区二区三区| 亚洲国产高清在线观看视频| 97精品超碰一区二区三区| 亚洲免费高清视频在线| 欧美视频一区二区三区四区| 亚洲777理论| 欧美一区二区视频在线观看| 麻豆精品蜜桃视频网站| 久久久噜噜噜久久人人看| 国产美女视频一区| 国产精品嫩草影院com| 91碰在线视频| 亚洲18影院在线观看| 日韩一级二级三级| 国产精品亚洲午夜一区二区三区 | 琪琪久久久久日韩精品| 久久综合网色—综合色88| 成人av电影在线网| 香蕉久久一区二区不卡无毒影院 | 日本一区二区免费在线观看视频| 99视频精品全部免费在线| 亚洲资源在线观看| 日韩一区二区在线观看视频| 国产精品123区| 亚洲一区二区偷拍精品| 欧美一区午夜精品| 国产成人av影院| 一区二区三区美女| 欧美精品一区二区三区蜜桃 | 日本亚洲电影天堂| 久久久精品综合| 欧美在线一区二区三区| 国产一区美女在线| 亚洲精品一二三四区| 欧美一区二区播放| a在线播放不卡| 日本不卡一二三区黄网| 国产精品成人午夜| 精品美女在线播放| 91亚洲精品久久久蜜桃| 精品一区二区日韩| 亚洲精品国久久99热| 久久久91精品国产一区二区精品| 欧美私人免费视频| 成人午夜大片免费观看| 视频一区视频二区中文字幕| 国产精品国产三级国产aⅴ原创| 欧美一区二区三区白人| 91丨九色丨尤物| 国产在线不卡一卡二卡三卡四卡| 亚洲自拍偷拍九九九| 国产精品另类一区| 精品精品欲导航| 欧美日韩亚洲综合一区| 99视频精品全部免费在线| 国内精品不卡在线| 免费不卡在线视频|