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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? init.c

?? I want to provide an example file system driver for Windows NT/2000/XP. For some time I have worked
?? C
字號:
/*
    This is a romfs file system driver for Windows NT/2000/XP.
    Copyright (C) 1999, 2000, 2001, 2002 Bo Brant閚.
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/

#include "ntifs.h"
#include "fsd.h"

//
// The FSDs global data
//
FSD_GLOBAL_DATA FsdGlobalData;

#pragma code_seg(FSD_INIT_CODE)

NTSTATUS
DriverEntry (
    IN PDRIVER_OBJECT   DriverObject,
    IN PUNICODE_STRING  RegistryPath
    )
{
    PFAST_IO_DISPATCH           FastIoDispatch;
    PCACHE_MANAGER_CALLBACKS    CacheManagerCallbacks;
    UNICODE_STRING              DeviceName;
#if DBG
    UNICODE_STRING              DosDeviceName;
#endif
    NTSTATUS                    Status;

    //
    // Print some info about the driver
    //

    DbgPrint(DRIVER_NAME ": " __DATE__ " " __TIME__

#ifdef FSD_RO
    ", read-only"
#endif

#if DBG
    ", checked"
#endif

    ", for build %u, Copyright 1999-2002 Bo Branten\n", VER_PRODUCTBUILD);

    //
    // Initialize the global data
    //

    RtlZeroMemory(&FsdGlobalData, sizeof(FSD_GLOBAL_DATA));

    FsdGlobalData.Identifier.Type = FGD;
    FsdGlobalData.Identifier.Size = sizeof(FSD_GLOBAL_DATA);

    FsdGlobalData.DriverObject = DriverObject;

    InitializeListHead(&FsdGlobalData.VcbList);

    //
    // Initialize the dispatch entry points
    //

    DriverObject->MajorFunction[IRP_MJ_CREATE] = FsdBuildRequest;
    DriverObject->MajorFunction[IRP_MJ_CLOSE] = FsdBuildRequest;
    DriverObject->MajorFunction[IRP_MJ_READ] = FsdBuildRequest;
    DriverObject->MajorFunction[IRP_MJ_QUERY_INFORMATION] = FsdBuildRequest;
    DriverObject->MajorFunction[IRP_MJ_SET_INFORMATION] = FsdBuildRequest;
    DriverObject->MajorFunction[IRP_MJ_QUERY_VOLUME_INFORMATION] = FsdBuildRequest;
    DriverObject->MajorFunction[IRP_MJ_DIRECTORY_CONTROL] = FsdBuildRequest;
    DriverObject->MajorFunction[IRP_MJ_FILE_SYSTEM_CONTROL] = FsdBuildRequest;
    DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = FsdBuildRequest;
    DriverObject->MajorFunction[IRP_MJ_LOCK_CONTROL] = FsdBuildRequest;
    DriverObject->MajorFunction[IRP_MJ_CLEANUP] = FsdBuildRequest;

    //
    // Initialize the fast I/O entry points
    //

    FastIoDispatch = &FsdGlobalData.FastIoDispatch;

    FastIoDispatch->SizeOfFastIoDispatch = sizeof(FAST_IO_DISPATCH);
    FastIoDispatch->FastIoCheckIfPossible = FsdFastIoCheckIfPossible;
#if DBG
    FastIoDispatch->FastIoRead = FsdFastIoRead;
#else
    FastIoDispatch->FastIoRead = FsRtlCopyRead;
#endif
    FastIoDispatch->FastIoQueryBasicInfo = FsdFastIoQueryBasicInfo;
    FastIoDispatch->FastIoQueryStandardInfo = FsdFastIoQueryStandardInfo;
    FastIoDispatch->FastIoLock = FsdFastIoLock;
    FastIoDispatch->FastIoUnlockSingle = FsdFastIoUnlockSingle;
    FastIoDispatch->FastIoUnlockAll = FsdFastIoUnlockAll;
    FastIoDispatch->FastIoUnlockAllByKey = FsdFastIoUnlockAllByKey;
    FastIoDispatch->FastIoQueryNetworkOpenInfo = FsdFastIoQueryNetworkOpenInfo;

    DriverObject->FastIoDispatch = FastIoDispatch;

    //
    // Initialize the Cache Manager callbacks
    //

    CacheManagerCallbacks = &FsdGlobalData.CacheManagerCallbacks;

    CacheManagerCallbacks->AcquireForLazyWrite = FsdAcquireForLazyWrite;
    CacheManagerCallbacks->ReleaseFromLazyWrite = FsdReleaseFromLazyWrite;
    CacheManagerCallbacks->AcquireForReadAhead = FsdAcquireForReadAhead;
    CacheManagerCallbacks->ReleaseFromReadAhead = FsdReleaseFromReadAhead;

    //
    // Create the main device object
    //

    RtlInitUnicodeString(&DeviceName, DEVICE_NAME);

    Status = IoCreateDevice(
        DriverObject,
        0,
        &DeviceName,
        FILE_DEVICE_DISK_FILE_SYSTEM,
        0,
        FALSE,
        &FsdGlobalData.DeviceObject
        );

    if (NT_SUCCESS(Status))
    {
        ExInitializeResourceLite(&FsdGlobalData.Resource);
#if DBG
        RtlInitUnicodeString(&DosDeviceName, DOS_DEVICE_NAME);

        IoCreateSymbolicLink(&DosDeviceName, &DeviceName);

        ProcessNameOffset = FsdGetProcessNameOffset();
#endif
        IoRegisterFileSystem(FsdGlobalData.DeviceObject);
    }

    return Status;
}

#pragma code_seg(FSD_PAGED_CODE)

#if DBG

/*
 * An application must call IOCTL_PREPARE_TO_UNLOAD before the driver can be
 * unloaded.
 */

VOID
DriverUnload (
    IN PDRIVER_OBJECT DriverObject
    )
{
    UNICODE_STRING DosDeviceName;

    KdPrint((DRIVER_NAME ": Unloading driver\n"));

    RtlInitUnicodeString(&DosDeviceName, DOS_DEVICE_NAME);

    IoDeleteSymbolicLink(&DosDeviceName);

    ExDeleteResourceLite(&FsdGlobalData.Resource);

#if (VER_PRODUCTBUILD < 2600)
    IoDeleteDevice(FsdGlobalData.DeviceObject);
#endif
}

#endif // DBG

#pragma code_seg() // end FSD_PAGED_CODE

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品少妇一区二区| 一区二区三国产精华液| 91在线免费视频观看| 狠狠色狠狠色综合系列| 日韩成人免费电影| 国产宾馆实践打屁股91| 国产真实精品久久二三区| 美女精品一区二区| 国产一区二区三区免费看| 激情六月婷婷久久| 国产99久久久精品| av网站免费线看精品| 91福利区一区二区三区| 欧美日韩你懂得| 日韩一区二区三区四区| 精品sm在线观看| 国产欧美一区二区在线| 国产精品久久久久久久久动漫| 中文字幕一区二区三区不卡| 亚洲精品久久久蜜桃| 日韩精品一级二级 | 中文成人av在线| 国产精品国产三级国产有无不卡| 亚洲婷婷综合色高清在线| 亚洲国产视频a| 九色综合国产一区二区三区| 福利一区二区在线观看| 欧美三级电影在线观看| 精品乱人伦小说| 自拍偷拍欧美精品| 免费精品视频在线| 菠萝蜜视频在线观看一区| 日本道免费精品一区二区三区| 欧美日韩在线综合| 欧美不卡视频一区| 亚洲欧洲av色图| 日本欧美一区二区三区| 成人黄动漫网站免费app| 欧美日韩小视频| 精品国产制服丝袜高跟| 亚洲欧美日韩系列| 美女精品一区二区| 色婷婷精品久久二区二区蜜臂av| 欧美一区二区啪啪| 亚洲精品视频观看| 久久精品免费看| 在线免费观看日本欧美| 久久久九九九九| 日韩中文字幕一区二区三区| 不卡的电视剧免费网站有什么| 7777精品久久久大香线蕉| 国产女主播在线一区二区| 日韩专区中文字幕一区二区| 色诱视频网站一区| 国产欧美日韩亚州综合| 蜜桃视频一区二区三区| 欧美日韩免费观看一区二区三区| 国产精品毛片无遮挡高清| 精品中文字幕一区二区小辣椒| 日本精品免费观看高清观看| 国产欧美日韩综合| 国产一区二区在线观看视频| 91精品国产一区二区| 亚洲国产精品久久久久秋霞影院| 成人动漫av在线| 国产欧美日韩三区| 国产精品77777竹菊影视小说| 666欧美在线视频| 亚洲国产精品人人做人人爽| 91麻豆福利精品推荐| 国产精品毛片高清在线完整版| 久久精品国产精品青草| 欧美精品一二三区| 日韩激情一二三区| 欧美一级一区二区| 毛片av一区二区| 精品国产伦一区二区三区观看体验| 日本成人在线电影网| 欧美高清视频在线高清观看mv色露露十八 | 欧美伊人久久久久久久久影院 | 蜜桃视频一区二区三区| 色视频成人在线观看免| 亚洲视频精选在线| 不卡一区二区三区四区| 国产精品伦一区二区三级视频| 国产精品中文字幕欧美| 亚洲国产成人私人影院tom| 高清av一区二区| 国产精品视频一二三区 | 成人国产亚洲欧美成人综合网| 色综合久久88色综合天天6| 精品国产123| 国产精品一卡二卡在线观看| 亚洲黄色免费电影| 欧美优质美女网站| 日本欧美在线观看| 国产亚洲欧美中文| 色天使久久综合网天天| 亚洲一级电影视频| 日韩区在线观看| 国产成人av影院| 一区二区三区在线播| 欧美日韩国产另类不卡| 韩国女主播成人在线| 欧美极品少妇xxxxⅹ高跟鞋 | 欧美精品久久99| 九九**精品视频免费播放| 国产精品国产a| 欧美日韩视频专区在线播放| 久久精品国产99久久6| 久久国产精品一区二区| 日韩精品电影在线观看| 精品第一国产综合精品aⅴ| 成人永久免费视频| 日韩专区中文字幕一区二区| 国产校园另类小说区| 欧美在线观看视频在线| 国产精品白丝jk白祙喷水网站| 亚洲欧美视频一区| 日韩欧美在线综合网| 99久久国产综合色|国产精品| 奇米影视一区二区三区小说| 国产精品麻豆视频| 日韩女同互慰一区二区| 在线欧美日韩国产| 国产精品1区2区| 日本91福利区| 夜夜精品视频一区二区| 国产精品色呦呦| 欧美tickling挠脚心丨vk| 在线观看日韩国产| 成人av在线播放网站| 激情五月激情综合网| 日韩在线一区二区| 亚洲一区二区精品3399| 亚洲欧美综合网| 欧美激情一区三区| 久久久亚洲国产美女国产盗摄| 91精品免费观看| 欧美手机在线视频| 色婷婷综合久久久久中文一区二区| 国产一区在线不卡| 久久精品国产99久久6| 青青草91视频| 视频一区免费在线观看| 亚洲大尺度视频在线观看| 亚洲欧洲美洲综合色网| 日本一区二区免费在线 | 国产午夜亚洲精品不卡| 日韩欧美一区在线| 欧美一级欧美三级在线观看| 欧美专区在线观看一区| 欧美羞羞免费网站| 在线一区二区视频| 欧美色网站导航| 欧美三级电影在线看| 欧美日韩成人综合天天影院| 欧洲一区二区三区在线| 欧美日韩国产一区| 欧美一区二区视频免费观看| 7777精品伊人久久久大香线蕉的 | 精品少妇一区二区三区在线播放| 这里是久久伊人| 欧美mv日韩mv国产网站app| 亚洲精品在线免费播放| 国产亚洲精品bt天堂精选| 国产欧美日韩麻豆91| 中文字幕佐山爱一区二区免费| 亚洲色图制服诱惑| 亚洲一区二区偷拍精品| 天堂一区二区在线免费观看| 日韩av中文在线观看| 国模大尺度一区二区三区| 成人黄色网址在线观看| 成人h精品动漫一区二区三区| 色婷婷亚洲综合| 91精品国产综合久久久蜜臀图片| 欧美va日韩va| 国产精品不卡视频| 日韩主播视频在线| 国产成人免费视| 欧美三级一区二区| 亚洲精品一线二线三线| 亚洲人成在线观看一区二区| 亚洲妇熟xx妇色黄| 国产精品一区二区黑丝| 欧洲日韩一区二区三区| 日韩一区二区视频| 亚洲天堂a在线| 美女性感视频久久| 色又黄又爽网站www久久| 欧美一级片在线观看| 亚洲视频香蕉人妖| 精品亚洲国产成人av制服丝袜| 不卡av在线网| 欧美一区二区观看视频| 中文字幕亚洲不卡| 国产米奇在线777精品观看| 91九色最新地址| 国产精品午夜免费|