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

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

?? controller.c

?? ReactOS是一些高手根據(jù)Windows XP的內(nèi)核編寫(xiě)出的類XP。內(nèi)核實(shí)現(xiàn)機(jī)理和API函數(shù)調(diào)用幾乎相同。甚至可以兼容XP的程序。喜歡研究系統(tǒng)內(nèi)核的人可以看一看。
?? C
字號(hào):
/*
 * PROJECT:         ReactOS Kernel
 * LICENSE:         GPL - See COPYING in the top level directory
 * FILE:            ntoskrnl/io/controller.c
 * PURPOSE:         I/O Wrappers (called Controllers) for Kernel Device Queues
 * PROGRAMMERS:     Alex Ionescu (alex.ionescu@reactos.org)
 */

/* INCLUDES *****************************************************************/

#include <ntoskrnl.h>
#include <internal/debug.h>

/* GLOBALS *******************************************************************/

POBJECT_TYPE IoControllerObjectType;

/* FUNCTIONS *****************************************************************/

/*
 * @implemented
 */
VOID
NTAPI
IoAllocateController(IN PCONTROLLER_OBJECT ControllerObject,
                     IN PDEVICE_OBJECT DeviceObject,
                     IN PDRIVER_CONTROL ExecutionRoutine,
                     IN PVOID Context)
{
    IO_ALLOCATION_ACTION Result;
    ASSERT_IRQL_EQUAL(DISPATCH_LEVEL);

    /* Initialize the Wait Context Block */
    DeviceObject->Queue.Wcb.DeviceContext = Context;
    DeviceObject->Queue.Wcb.DeviceRoutine = ExecutionRoutine;

    /* Insert the Device Queue */
    if (!KeInsertDeviceQueue(&ControllerObject->DeviceWaitQueue,
                             &DeviceObject->Queue.Wcb.WaitQueueEntry));
    {
        /* Call the execution routine */
        Result = ExecutionRoutine(DeviceObject,
                                  DeviceObject->CurrentIrp,
                                  NULL,
                                  Context);

        /* Free the controller if this was requested */
        if (Result == DeallocateObject) IoFreeController(ControllerObject);
    }
}

/*
 * @implemented
 */
PCONTROLLER_OBJECT
NTAPI
IoCreateController(IN ULONG Size)
{
   PCONTROLLER_OBJECT Controller;
   OBJECT_ATTRIBUTES ObjectAttributes;
   HANDLE Handle;
   NTSTATUS Status;
   PAGED_CODE();

   /* Initialize an empty OBA */
   InitializeObjectAttributes(&ObjectAttributes, NULL, 0, NULL, NULL);

   /* Create the Object */
   Status = ObCreateObject(KernelMode,
                           IoControllerObjectType,
                           &ObjectAttributes,
                           KernelMode,
                           NULL,
                           sizeof(CONTROLLER_OBJECT) + Size,
                           0,
                           0,
                           (PVOID*)&Controller);
    if (!NT_SUCCESS(Status)) return NULL;

    /* Insert it */
    Status = ObInsertObject(Controller,
                            NULL,
                            FILE_READ_DATA | FILE_WRITE_DATA,
                            1,
                            (PVOID*)&Controller,
                            &Handle);
   if (!NT_SUCCESS(Status)) return NULL;

    /* Close the dummy handle */
    NtClose(Handle);

    /* Zero the Object and set its data */
    RtlZeroMemory(Controller, sizeof(CONTROLLER_OBJECT) + Size);
    Controller->Type = IO_TYPE_CONTROLLER;
    Controller->Size = sizeof(CONTROLLER_OBJECT) + (CSHORT)Size;
    Controller->ControllerExtension = (Controller + 1);

    /* Initialize its Queue */
    KeInitializeDeviceQueue(&Controller->DeviceWaitQueue);

    /* Return Controller */
    return Controller;
}

/*
 * @implemented
 */
VOID
NTAPI
IoDeleteController(IN PCONTROLLER_OBJECT ControllerObject)
{
    /* Just Dereference it */
    ObDereferenceObject(ControllerObject);
}

/*
 * @implemented
 */
VOID
NTAPI
IoFreeController(IN PCONTROLLER_OBJECT ControllerObject)
{
    PKDEVICE_QUEUE_ENTRY QueueEntry;
    PDEVICE_OBJECT DeviceObject;
    IO_ALLOCATION_ACTION Result;

    /* Remove the Queue */
    QueueEntry = KeRemoveDeviceQueue(&ControllerObject->DeviceWaitQueue);
    if (QueueEntry)
    {
        /* Get the Device Object */
        DeviceObject = CONTAINING_RECORD(QueueEntry,
                                         DEVICE_OBJECT,
                                         Queue.Wcb.WaitQueueEntry);

        /* Call the routine */
        Result = DeviceObject->Queue.Wcb.DeviceRoutine(DeviceObject,
                                                       DeviceObject->CurrentIrp,
                                                       NULL,
                                                       DeviceObject->
                                                       Queue.Wcb.DeviceContext);
        /* Free the controller if this was requested */
        if (Result == DeallocateObject) IoFreeController(ControllerObject);
    }
}

/* EOF */

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久久精品| 成人性生交大片免费看中文| 国产色爱av资源综合区| 在线观看区一区二| 国产精品一区专区| 亚洲小少妇裸体bbw| 欧美激情在线免费观看| 日韩欧美国产麻豆| 91免费版在线| 国产成人精品一区二| 日韩av一区二区在线影视| 中文字幕制服丝袜一区二区三区| 日韩欧美123| 欧美高清激情brazzers| 色综合中文综合网| 成人黄动漫网站免费app| 亚洲精品成人a在线观看| 2021中文字幕一区亚洲| 欧美日韩一区二区三区四区| 99免费精品在线观看| 国内外成人在线视频| 日韩av电影免费观看高清完整版 | 精品久久一区二区三区| 欧美日韩精品一区二区天天拍小说| hitomi一区二区三区精品| 国产美女娇喘av呻吟久久| 美女视频黄免费的久久| 婷婷丁香激情综合| 亚洲影视在线观看| 亚洲摸摸操操av| 亚洲婷婷综合色高清在线| 国产欧美日韩综合| 久久人人超碰精品| 久久久亚洲综合| 国产亚洲女人久久久久毛片| 26uuu国产电影一区二区| 日韩精品一区二区三区视频在线观看 | 欧美精品一区二区不卡 | 亚洲精品成人在线| 一区二区在线观看视频| 一区二区三区在线视频免费| 一区二区三区中文在线| 亚洲综合精品久久| 午夜精品一区在线观看| 五月激情综合婷婷| 天天综合色天天| 免费在线观看一区| 久久精品国产亚洲aⅴ| 玖玖九九国产精品| 精品在线一区二区| 国产精品一区二区三区网站| 国产成人av一区二区三区在线观看| 国产成人午夜高潮毛片| 成人高清免费观看| 色屁屁一区二区| 欧美精品九九99久久| 日韩写真欧美这视频| 久久蜜桃av一区二区天堂| 日本一区二区三区四区在线视频| 中文字幕在线不卡一区二区三区 | 天天综合天天做天天综合| 偷窥少妇高潮呻吟av久久免费| 亚洲大片精品永久免费| 久久99久久99| 成人精品在线视频观看| 日本电影亚洲天堂一区| 337p亚洲精品色噜噜噜| 精品国产3级a| 国产精品看片你懂得| 一区二区三区四区高清精品免费观看| 中文一区二区完整视频在线观看 | 国产精品久久久久久久久久免费看| 国产精品高清亚洲| 日韩av电影免费观看高清完整版 | 亚洲福利一二三区| 美女爽到高潮91| av一本久道久久综合久久鬼色| 欧美无砖砖区免费| 久久久欧美精品sm网站| 亚洲一区二区视频在线观看| 久久国产精品99精品国产| 99麻豆久久久国产精品免费| 欧美日韩在线观看一区二区 | 中文字幕第一页久久| 一区二区三区小说| 国产一区欧美二区| 欧美午夜精品一区二区三区| 国产欧美日韩精品a在线观看| 亚洲一区二区三区在线播放| 激情综合色丁香一区二区| 国产精品灌醉下药二区| 日本午夜一本久久久综合| 成人午夜精品在线| 欧美一级理论片| 亚洲你懂的在线视频| 国内成+人亚洲+欧美+综合在线| 成人av一区二区三区| 欧美一区二区三区在| 亚洲欧美综合色| 狠狠色狠狠色合久久伊人| 欧美日韩一区国产| 国产精品黄色在线观看| 久久精工是国产品牌吗| 色av成人天堂桃色av| 国产欧美日韩在线| 麻豆一区二区在线| 欧美日韩亚洲丝袜制服| 亚洲美女精品一区| 成人自拍视频在线| 精品国产乱码久久久久久老虎| 亚洲午夜激情网站| 成人免费看黄yyy456| 欧美精品一区二区三区很污很色的| 一级做a爱片久久| 99国产精品视频免费观看| 久久久精品天堂| 精品一区二区国语对白| 欧美一级在线免费| 三级不卡在线观看| 国产麻豆9l精品三级站| 91国产福利在线| 中文字幕一区二区三区四区不卡| 国产麻豆精品一区二区| 欧美成人a在线| 蜜臀99久久精品久久久久久软件| 欧美三级一区二区| 亚洲一区二区欧美激情| 色狠狠桃花综合| 亚洲欧美日韩在线播放| 91视频91自| 成人免费一区二区三区视频| 99免费精品视频| 亚洲欧美一区二区久久| 色婷婷精品久久二区二区蜜臀av| 国产精品麻豆久久久| 99re66热这里只有精品3直播| 日本一区二区动态图| aa级大片欧美| 亚洲欧美偷拍卡通变态| 在线精品视频免费观看| 亚洲国产一区二区a毛片| 欧美精品免费视频| 久久狠狠亚洲综合| 久久日一线二线三线suv| 国产成人精品亚洲日本在线桃色| 国产无人区一区二区三区| 成人免费视频caoporn| 亚洲天堂福利av| 欧洲精品视频在线观看| 日韩精品每日更新| 日韩美女在线视频| 国产成人8x视频一区二区| 综合欧美亚洲日本| 欧美在线观看视频一区二区三区| 亚洲国产成人91porn| 日韩一区二区在线观看| 国产一区啦啦啦在线观看| 日韩伦理免费电影| 欧美日韩一区三区| 激情六月婷婷久久| 国产精品福利一区二区三区| 在线观看日韩国产| 久久国产精品72免费观看| 国产精品传媒入口麻豆| 欧美日韩免费一区二区三区视频| 蜜臀av一区二区在线免费观看| 久久精品人人爽人人爽| 91网址在线看| 免费精品视频在线| 一区免费观看视频| 51精品国自产在线| 国产91清纯白嫩初高中在线观看| 亚洲美女视频在线观看| 日韩精品一区二区三区四区| 99这里只有精品| 日本色综合中文字幕| 一区二区中文字幕在线| 日韩无一区二区| 99久久99久久精品免费观看 | 中文乱码免费一区二区| 欧美性xxxxxx少妇| 国产成人精品免费| 性感美女极品91精品| 欧美激情中文不卡| 欧美高清激情brazzers| va亚洲va日韩不卡在线观看| 偷拍日韩校园综合在线| 亚洲欧洲性图库| 日韩精品专区在线| 日本高清不卡视频| 国产91精品一区二区麻豆亚洲| 亚洲成人av电影| 中文字幕日韩一区| 欧美精品一区二区三区在线播放 | 免费看欧美女人艹b| 一区二区三区丝袜| 国产欧美日韩亚州综合| 日韩一区二区三区在线观看| 色妹子一区二区| 粉嫩高潮美女一区二区三区 |