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

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

?? filespy.c

?? 文件過濾驅動
?? C
?? 第 1 頁 / 共 5 頁
字號:
Return Value:

    The function value is TRUE or FALSE based on whether or not fast I/O
    is possible for this file.

--*/
{
    PDEVICE_OBJECT    deviceObject;
    PFAST_IO_DISPATCH fastIoDispatch;
    PRECORD_LIST      recordList;
    BOOLEAN           returnValue;
    BOOLEAN           shouldLog;

    PAGED_CODE();
    
    if (DeviceObject->DeviceExtension == NULL) {
        return FALSE;
    }
    
    if (shouldLog = SHOULD_LOG(DeviceObject)) {
        //
        // Log the necessary information for the start of the Fast I/O 
        // operation
        //
        recordList = SpyLogFastIoStart(
            QUERY_STANDARD_INFO,
            0,
            FileObject,
            NULL,
            0,
            Wait );
    }

    //
    // Pass through logic for this type of Fast I/O
    //
    deviceObject = 
        ((PDEVICE_EXTENSION) (DeviceObject->DeviceExtension))->
            NextDriverDeviceObject;
    if (!deviceObject) {
        returnValue = FALSE;
        goto SpyFastIoQueryStandardInfo_Exit;
    }
    fastIoDispatch = deviceObject->DriverObject->FastIoDispatch;

    if (VALID_FAST_IO_DISPATCH_HANDLER( fastIoDispatch, FastIoQueryStandardInfo )) {
        returnValue = (fastIoDispatch->FastIoQueryStandardInfo)( FileObject,
                                                                 Wait,
                                                                 Buffer,
                                                                 IoStatus,
                                                                 deviceObject);
    } else {
        returnValue = FALSE;
    }

SpyFastIoQueryStandardInfo_Exit:
    if (shouldLog) {
        //
        // Log the necessary information for the end of the Fast I/O operation
        // if we were able to allocate a RecordList to store this information
        //
        if (recordList) {
            SpyLogFastIoComplete(
                0,
                FileObject,
                IoStatus,
                recordList);
        }
    }
    return returnValue;
}

DBGSTATIC
BOOLEAN
SpyFastIoLock(
    IN  PFILE_OBJECT     FileObject,
    IN  PLARGE_INTEGER   FileOffset,
    IN  PLARGE_INTEGER   Length,
    IN  PEPROCESS        ProcessId,
    IN  ULONG            Key,
    IN  BOOLEAN          FailImmediately,
    IN  BOOLEAN          ExclusiveLock,
    OUT PIO_STATUS_BLOCK IoStatus,
    IN  PDEVICE_OBJECT   DeviceObject
)
/*++

Routine Description:

    This routine is the fast I/O "pass through" routine for locking a byte
    range within a file.

    This function simply invokes the next driver's cooresponding routine, or
    returns FALSE if the next driver does not implement the function.

Arguments:

    FileObject - Pointer to the file object to be locked.

    FileOffset - Starting byte offset from the base of the file to be locked.

    Length - Length of the byte range to be locked.

    ProcessId - ID of the process requesting the file lock.

    Key - Lock key to associate with the file lock.

    FailImmediately - Indicates whether or not the lock request is to fail
        if it cannot be immediately be granted.

    ExclusiveLock - Indicates whether the lock to be taken is exclusive (TRUE)
        or shared.

    IoStatus - Pointer to a variable to receive the I/O status of the
        operation.

    DeviceObject - Pointer to this driver's device object, the device on
        which the operation is to occur.

Return Value:

    The function value is TRUE or FALSE based on whether or not fast I/O
    is possible for this file.

--*/
{
    PDEVICE_OBJECT    deviceObject;
    PFAST_IO_DISPATCH fastIoDispatch;
    PRECORD_LIST      recordList;
    BOOLEAN           returnValue;
    BOOLEAN           shouldLog;

    PAGED_CODE();
    
    if (DeviceObject->DeviceExtension == NULL) {
        return FALSE;
    }
    
    if (shouldLog = SHOULD_LOG(DeviceObject)) {
        //
        // Log the necessary information for the start of the Fast I/O 
        // operation
        //
        recordList = SpyLogFastIoStart(
            LOCK,
            0,
            FileObject,
            FileOffset,
            0,
            0 );
    }

    //
    // Pass through logic for this type of Fast I/O
    //
    deviceObject = 
        ((PDEVICE_EXTENSION) (DeviceObject->DeviceExtension))->
            NextDriverDeviceObject;
    if (!deviceObject) {
        returnValue = FALSE;
        goto SpyFastIoLock_Exit;
    }
    fastIoDispatch = deviceObject->DriverObject->FastIoDispatch;

    if (VALID_FAST_IO_DISPATCH_HANDLER( fastIoDispatch, FastIoLock )) {
        returnValue = (fastIoDispatch->FastIoLock)( FileObject,
                                                    FileOffset,
                                                    Length,
                                                    ProcessId,
                                                    Key,
                                                    FailImmediately,
                                                    ExclusiveLock,
                                                    IoStatus,
                                                    deviceObject);
    } else {
        returnValue = FALSE;
    }

SpyFastIoLock_Exit:
    if (shouldLog) {
        //
        // Log the necessary information for the end of the Fast I/O operation
        // if we were able to allocate a RecordList to store this information
        //
        if (recordList) {
            SpyLogFastIoComplete(
                0,
                FileObject,
                IoStatus,
                recordList);
        }
    }
    return returnValue;
}
 
DBGSTATIC
BOOLEAN
SpyFastIoUnlockSingle(
    IN  PFILE_OBJECT     FileObject,
    IN  PLARGE_INTEGER   FileOffset,
    IN  PLARGE_INTEGER   Length,
    IN  PEPROCESS        ProcessId,
    IN  ULONG            Key,
    OUT PIO_STATUS_BLOCK IoStatus,
    IN  PDEVICE_OBJECT   DeviceObject
)
/*++

Routine Description:

    This routine is the fast I/O "pass through" routine for unlocking a byte
    range within a file.

    This function simply invokes the next driver's cooresponding routine, or
    returns FALSE if the next driver does not implement the function.

Arguments:

    FileObject - Pointer to the file object to be unlocked.

    FileOffset - Starting byte offset from the base of the file to be
        unlocked.

    Length - Length of the byte range to be unlocked.

    ProcessId - ID of the process requesting the unlock operation.

    Key - Lock key associated with the file lock.

    IoStatus - Pointer to a variable to receive the I/O status of the
        operation.

    DeviceObject - Pointer to this driver's device object, the device on
        which the operation is to occur.

Return Value:

    The function value is TRUE or FALSE based on whether or not fast I/O
    is possible for this file.

--*/
{
    PDEVICE_OBJECT    deviceObject;
    PFAST_IO_DISPATCH fastIoDispatch;
    PRECORD_LIST      recordList;
    BOOLEAN           returnValue;
    BOOLEAN           shouldLog;

    PAGED_CODE();
    
    if (DeviceObject->DeviceExtension == NULL) {
        return FALSE;
    }
    
    if (shouldLog = SHOULD_LOG(DeviceObject)) {
        //
        // Log the necessary information for the start of the Fast I/O 
        // operation
        //
        recordList = SpyLogFastIoStart(
            UNLOCK_SINGLE,
            0,
            FileObject,
            FileOffset,
            0,
            0 );
    }


    //
    // Pass through logic for this type of Fast I/O
    //
    deviceObject = 
        ((PDEVICE_EXTENSION) (DeviceObject->DeviceExtension))->
            NextDriverDeviceObject;
    if (!deviceObject) {
        returnValue = FALSE;
        goto SpyFastIoUnlockSingle_Exit;
    }
    fastIoDispatch = deviceObject->DriverObject->FastIoDispatch;

    if (VALID_FAST_IO_DISPATCH_HANDLER( fastIoDispatch, FastIoUnlockSingle )) {
        returnValue = (fastIoDispatch->FastIoUnlockSingle)( FileObject,
                                                            FileOffset,
                                                            Length,
                                                            ProcessId,
                                                            Key,
                                                            IoStatus,
                                                            deviceObject);
    } else {
        returnValue = FALSE;
    }

SpyFastIoUnlockSingle_Exit:
    if (shouldLog) {
        //
        // Log the necessary information for the end of the Fast I/O operation
        // if we were able to allocate a RecordList to store this information
        //
        if (recordList) {
            SpyLogFastIoComplete(
                0,
                FileObject,
                IoStatus,
                recordList);
        }
    }
    return returnValue;
}
 
DBGSTATIC
BOOLEAN
SpyFastIoUnlockAll(
    IN  PFILE_OBJECT     FileObject,
    IN  PEPROCESS        ProcessId,
    OUT PIO_STATUS_BLOCK IoStatus,
    IN  PDEVICE_OBJECT   DeviceObject
)
/*++

Routine Description:

    This routine is the fast I/O "pass through" routine for unlocking all
    locks within a file.

    This function simply invokes the file system's cooresponding routine, or
    returns FALSE if the file system does not implement the function.

Arguments:

    FileObject - Pointer to the file object to be unlocked.

    ProcessId - ID of the process requesting the unlock operation.

    IoStatus - Pointer to a variable to receive the I/O status of the
        operation.

    DeviceObject - Pointer to this driver's device object, the device on
        which the operation is to occur.

Return Value:

    The function value is TRUE or FALSE based on whether or not fast I/O
    is possible for this file.

--*/
{
    PDEVICE_OBJECT    deviceObject;
    PFAST_IO_DISPATCH fastIoDispatch;
    PRECORD_LIST      recordList;
    BOOLEAN           returnValue;
    BOOLEAN           shouldLog;

    PAGED_CODE();
    
    if (DeviceObject->DeviceExtension == NULL) {
        return FALSE;
    }
    
    if (shouldLog = SHOULD_LOG(DeviceObject)) {
        //
        // Log the necessary information for the start of the Fast I/O 
        // operation
        //
        recordList = SpyLogFastIoStart(
            UNLOCK_ALL,
            0,
            FileObject,
            NULL,
            0,
            0 );
    }

    //
    // Pass through logic for this type of Fast I/O
    //
    deviceObject = 
        ((PDEVICE_EXTENSION) (DeviceObject->DeviceExtension))->
            NextDriverDeviceObject;
    if (!deviceObject) {
        returnValue = FALSE;
        goto SpyFastIoUnlockAll_Exit;
    }
    fastIoDispatch = deviceObject->DriverObject->FastIoDispatch;

    if (VALID_FAST_IO_DISPATCH_HANDLER( fastIoDispatch, FastIoUnlockAll )) {
        returnValue = (fastIoDispatch->FastIoUnlockAll)( FileObject,
                                                         ProcessId,                                                         IoStatus,
                                                         deviceObject);
    } else {
        returnValue = FALSE;
    }

SpyFastIoUnlockAll_Exit:
    if (shouldLog) {
        //
        // Log the necessary information for the end of the Fast I/O operation
        // if we were able to allocate a RecordList to store this information
        //
        if (recordList) {
            SpyLogFastIoComplete(
                0,
                FileObject,
                IoStatus,
                recordList);
        }
    }
    return returnValue;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲视频1区2区| 高清国产一区二区三区| 精品一区二区av| 91性感美女视频| 精品捆绑美女sm三区| 一区2区3区在线看| 99久免费精品视频在线观看| 欧美大片一区二区| 亚洲va天堂va国产va久| 成人久久18免费网站麻豆| 精品捆绑美女sm三区| 天堂av在线一区| 欧美综合天天夜夜久久| 国产精品美女视频| 丁香桃色午夜亚洲一区二区三区| 91精品一区二区三区久久久久久| 亚洲综合免费观看高清完整版在线 | 久久国内精品自在自线400部| 在线观看日韩av先锋影音电影院| 亚洲欧洲精品成人久久奇米网| 国产精选一区二区三区| 欧美videofree性高清杂交| 免费观看日韩av| 日韩一级视频免费观看在线| 日韩高清一区在线| 欧美久久久影院| 婷婷亚洲久悠悠色悠在线播放| 欧洲精品在线观看| 亚洲一区二区三区在线播放| 欧美性生交片4| 五月天久久比比资源色| 欧美日韩久久一区| 水蜜桃久久夜色精品一区的特点| 欧美另类久久久品| 免费看黄色91| 久久蜜臀中文字幕| 成人h版在线观看| 亚洲美女视频一区| 欧美日韩国产免费一区二区| 亚洲国产精品久久人人爱蜜臀| 欧美日韩美少妇| 天天爽夜夜爽夜夜爽精品视频| 欧美日韩精品一区二区天天拍小说 | 极品销魂美女一区二区三区| 精品国产污污免费网站入口| 国产激情一区二区三区桃花岛亚洲| 精品国产成人在线影院 | 国产欧美一区二区三区网站 | 在线电影国产精品| 人人精品人人爱| 久久久久久一二三区| 99精品视频一区| 视频一区在线播放| 日本一区二区免费在线观看视频 | 欧美在线你懂得| 日韩高清在线不卡| 日本一区二区免费在线观看视频| 色综合网站在线| 麻豆精品国产91久久久久久| 中文字幕av一区二区三区免费看| 91年精品国产| 蜜臀av性久久久久蜜臀aⅴ流畅 | 国产精品中文字幕欧美| 亚洲精品视频在线观看免费| 欧美精选午夜久久久乱码6080| 精品一区二区三区免费毛片爱 | 国产色产综合产在线视频| 91久久人澡人人添人人爽欧美| 日韩激情在线观看| 成人免费小视频| 欧美电影免费观看高清完整版| 成人黄色一级视频| 男人的j进女人的j一区| **性色生活片久久毛片| 欧美电影精品一区二区 | 成人一区二区三区视频| 亚洲成av人综合在线观看| 久久精品人人做人人综合| 欧美人与性动xxxx| 91在线国内视频| 国产在线国偷精品免费看| 亚洲成a人片在线观看中文| 国产精品青草久久| 精品国产髙清在线看国产毛片| 色噜噜夜夜夜综合网| 丁香激情综合国产| 男女男精品视频网| 亚洲一区二区三区视频在线播放| 欧美国产97人人爽人人喊| 日韩欧美高清一区| 欧美日本韩国一区二区三区视频| 99综合电影在线视频| 国产精品2024| 美女看a上一区| 日韩高清电影一区| 午夜在线成人av| 亚洲人吸女人奶水| 国产精品久久久爽爽爽麻豆色哟哟| 日韩精品在线网站| 欧美日韩dvd在线观看| aa级大片欧美| 99国产精品视频免费观看| 成人永久看片免费视频天堂| 国产一区免费电影| 蜜臀精品久久久久久蜜臀| 男男gaygay亚洲| 老司机午夜精品| 日韩成人dvd| 日韩极品在线观看| 丝袜诱惑制服诱惑色一区在线观看 | 欧美久久久久久久久中文字幕| 欧美在线免费播放| 欧美日韩情趣电影| 欧美剧情片在线观看| 欧美日韩成人一区| 日韩一区二区免费高清| 日韩欧美专区在线| 精品国产一区二区三区忘忧草| 日韩欧美一区二区视频| 日韩精品中文字幕在线不卡尤物| 日韩一区二区视频| 精品国产凹凸成av人导航| 欧美videos中文字幕| 国产日韩影视精品| 综合网在线视频| 一区二区三区在线看| 亚洲高清免费视频| 麻豆精品在线视频| 国产高清久久久久| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 奇米精品一区二区三区在线观看 | 日韩欧美国产综合在线一区二区三区 | 欧美极品aⅴ影院| 国产精品国产三级国产普通话99| 亚洲视频在线一区| 午夜精品福利一区二区蜜股av| 美女网站一区二区| 波多野结衣中文字幕一区二区三区| 色综合久久中文综合久久97| 欧美日韩aaaaa| 国产偷国产偷亚洲高清人白洁| 中文字幕亚洲不卡| 日韩国产精品大片| 国产精品一区二区在线观看不卡 | 精品久久久久久久一区二区蜜臀| 国产亚洲欧洲997久久综合 | 欧美日韩国产高清一区二区三区 | 亚洲一区二区3| 久久国产精品露脸对白| 99久久精品99国产精品 | 亚洲欧美日韩系列| 免费观看久久久4p| 99久久精品国产麻豆演员表| 欧美一卡2卡三卡4卡5免费| 国产精品天干天干在观线| 一区二区三区国产精华| 国产中文一区二区三区| 91极品视觉盛宴| 久久精品一区四区| 日韩av不卡一区二区| 一本一本久久a久久精品综合麻豆| 91精品国产91久久综合桃花| 国产精品国产三级国产普通话三级| 天堂在线一区二区| 99re这里只有精品6| 亚洲精品在线观看视频| 亚洲国产精品久久一线不卡| 国产宾馆实践打屁股91| 91精品在线麻豆| 亚洲一区二区三区在线| 99r精品视频| 欧美极品aⅴ影院| 韩国精品久久久| 日韩三级精品电影久久久| 亚洲午夜免费视频| 色综合天天综合在线视频| 中文字幕乱码日本亚洲一区二区| 久久精品99国产精品日本| 欧美美女一区二区三区| 一区二区三区鲁丝不卡| 91免费看视频| 国产精品久久久久四虎| 国产成人精品亚洲777人妖| 精品欧美久久久| 老汉av免费一区二区三区 | 欧美日韩在线播| 亚洲你懂的在线视频| 成人国产亚洲欧美成人综合网| 久久综合久久99| 国产精品自在欧美一区| 久久综合九色综合97婷婷| 国内一区二区在线| 久久午夜电影网| 国产剧情一区在线| 国产欧美一区视频| 成人性生交大片免费看视频在线| 2020国产精品| 福利91精品一区二区三区| 欧美国产1区2区| www.亚洲在线|