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

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

?? intwmi.c

?? C8051F340的USB開發(fā)
?? C
?? 第 1 頁 / 共 2 頁
字號:
        so the irp should be completed with the buffer needed.        
            
    OutBufferSize has the maximum size available to write the data
        block.

    Buffer on return is filled with the returned data block


Return Value:

    status

--*/
{
    PDEVICE_EXTENSION deviceExtension;
    NTSTATUS          ntStatus;
    ULONG             size;
    WCHAR             modelName[] = L"Aishverya\0\0";
    USHORT            modelNameLen;

    PAGED_CODE();

    KdPrint( ("IntUsb_QueryWmiDataBlock - begins\n"));

    size = 0;
    modelNameLen = (wcslen(modelName) + 1) * sizeof(WCHAR);

    //
    // Only ever registers 1 instance per guid
    //

    ASSERT((InstanceIndex == 0) &&
           (InstanceCount == 1));
    
    deviceExtension = (PDEVICE_EXTENSION) DeviceObject->DeviceExtension;

    switch (GuidIndex) {

    case WMI_INTUSB_DRIVER_INFORMATION:

        size = sizeof(ULONG) + modelNameLen + sizeof(USHORT);

        if (OutBufferSize < size ) {

            KdPrint( ("OutBuffer too small\n"));

            ntStatus = STATUS_BUFFER_TOO_SMALL;

            break;
        }

        * (PULONG) Buffer = DebugLevel;

        Buffer += sizeof(ULONG);

        //
        // put length of string ahead of string
        //

        *((PUSHORT)Buffer) = modelNameLen;

        Buffer = (PUCHAR)Buffer + sizeof(USHORT);

        RtlCopyBytes((PVOID)Buffer, (PVOID)modelName, modelNameLen);

        *InstanceLengthArray = size ;

        ntStatus = STATUS_SUCCESS;

        break;

    default:

        ntStatus = STATUS_WMI_GUID_NOT_FOUND;
    }

    ntStatus = WmiCompleteRequest(DeviceObject,
                                Irp,
                                ntStatus,
                                size,
                                IO_NO_INCREMENT);

    KdPrint( ("IntUsb_QueryWmiDataBlock - ends\n"));

    return ntStatus;
}


NTSTATUS
IntUsb_SetWmiDataItem(
    IN PDEVICE_OBJECT DeviceObject,
    IN PIRP           Irp,
    IN ULONG          GuidIndex,
    IN ULONG          InstanceIndex,
    IN ULONG          DataItemId,
    IN ULONG          BufferSize,
    IN PUCHAR         Buffer
    )
/*++

Routine Description:

    This routine is a callback into the driver to set for the contents of
    a data block. When the driver has finished filling the data block it
    must call WmiCompleteRequest to complete the irp. The driver can
    return STATUS_PENDING if the irp cannot be completed immediately.

Arguments:

    DeviceObject is the device whose data block is being queried

    Irp is the Irp that makes this request

    GuidIndex is the index into the list of guids provided when the
        device registered

    InstanceIndex is the index that denotes which instance of the data block
        is being queried.
            
    DataItemId has the id of the data item being set

    BufferSize has the size of the data item passed

    Buffer has the new values for the data item


Return Value:

    status

--*/
{
    PDEVICE_EXTENSION deviceExtension;
    NTSTATUS          ntStatus;
    ULONG             info;
    
    PAGED_CODE();

    KdPrint( ("IntUsb_SetWmiDataItem - begins\n"));

    deviceExtension = (PDEVICE_EXTENSION) DeviceObject->DeviceExtension;
    info = 0;

    switch(GuidIndex) {
    
    case WMI_INTUSB_DRIVER_INFORMATION:

        if(DataItemId == 1) {

            if(BufferSize == sizeof(ULONG)) {

                DebugLevel = *((PULONG)Buffer);

                ntStatus = STATUS_SUCCESS;

                info = sizeof(ULONG);
            }
            else {

                ntStatus = STATUS_INFO_LENGTH_MISMATCH;
            }
        }
        else {

            ntStatus = STATUS_WMI_READ_ONLY;
        }

        break;

    default:

        ntStatus = STATUS_WMI_GUID_NOT_FOUND;
    }

    ntStatus = WmiCompleteRequest(DeviceObject,
                                Irp,
                                ntStatus,
                                info,
                                IO_NO_INCREMENT);

    KdPrint( ("IntUsb_SetWmiDataItem - ends\n"));

    return ntStatus;
}

NTSTATUS
IntUsb_SetWmiDataBlock(
    IN PDEVICE_OBJECT DeviceObject,
    IN PIRP           Irp,
    IN ULONG          GuidIndex,
    IN ULONG          InstanceIndex,
    IN ULONG          BufferSize,
    IN PUCHAR         Buffer
    )
/*++

Routine Description:

    This routine is a callback into the driver to set the contents of
    a data block. When the driver has finished filling the data block it
    must call WmiCompleteRequest to complete the irp. The driver can
    return STATUS_PENDING if the irp cannot be completed immediately.

Arguments:

    DeviceObject is the device whose data block is being queried

    Irp is the Irp that makes this request

    GuidIndex is the index into the list of guids provided when the
        device registered

    InstanceIndex is the index that denotes which instance of the data block
        is being queried.
            
    BufferSize has the size of the data block passed

    Buffer has the new values for the data block


Return Value:

    status

--*/
{
    PDEVICE_EXTENSION deviceExtension;
    NTSTATUS          ntStatus;
    ULONG             info;

    PAGED_CODE();

    deviceExtension = (PDEVICE_EXTENSION) DeviceObject->DeviceExtension;
    info = 0;

    KdPrint( ("IntUsb_SetWmiDataBlock - begins\n"));

    switch(GuidIndex) {
    
    case WMI_INTUSB_DRIVER_INFORMATION:

        if(BufferSize == sizeof(ULONG)) {

            DebugLevel = *(PULONG) Buffer;
                    
            ntStatus = STATUS_SUCCESS;

            info = sizeof(ULONG);
        }
        else {

            ntStatus = STATUS_INFO_LENGTH_MISMATCH;
        }

        break;

    default:

        ntStatus = STATUS_WMI_GUID_NOT_FOUND;
    }

    ntStatus = WmiCompleteRequest(DeviceObject,
                                Irp,
                                ntStatus,
                                info,
                                IO_NO_INCREMENT);

    KdPrint( ("IntUsb_SetWmiDataBlock - ends\n"));

    return ntStatus;
}

PCHAR
WMIMinorFunctionString (
    UCHAR MinorFunction
    )
/*++
 
Routine Description:

Arguments:

Return Value:

--*/
{
    switch (MinorFunction) {

        case IRP_MN_CHANGE_SINGLE_INSTANCE:
            return "IRP_MN_CHANGE_SINGLE_INSTANCE\n";

        case IRP_MN_CHANGE_SINGLE_ITEM:
            return "IRP_MN_CHANGE_SINGLE_ITEM\n";

        case IRP_MN_DISABLE_COLLECTION:
            return "IRP_MN_DISABLE_COLLECTION\n";

        case IRP_MN_DISABLE_EVENTS:
            return "IRP_MN_DISABLE_EVENTS\n";

        case IRP_MN_ENABLE_COLLECTION:
            return "IRP_MN_ENABLE_COLLECTION\n";

        case IRP_MN_ENABLE_EVENTS:
            return "IRP_MN_ENABLE_EVENTS\n";

        case IRP_MN_EXECUTE_METHOD:
            return "IRP_MN_EXECUTE_METHOD\n";

        case IRP_MN_QUERY_ALL_DATA:
            return "IRP_MN_QUERY_ALL_DATA\n";

        case IRP_MN_QUERY_SINGLE_INSTANCE:
            return "IRP_MN_QUERY_SINGLE_INSTANCE\n";

        case IRP_MN_REGINFO:
            return "IRP_MN_REGINFO\n";

        default:
            return "IRP_MN_?????\n";
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕精品三区| 色网站国产精品| 日韩欧美综合在线| 日本va欧美va欧美va精品| 91精品在线观看入口| 午夜精品视频在线观看| 在线播放91灌醉迷j高跟美女 | 欧美性xxxxxx少妇| 亚洲一区自拍偷拍| 欧美一区二区三区视频在线 | 一区二区三区波多野结衣在线观看| 99久久免费国产| 亚洲综合色婷婷| 91精品国产福利| 国产乱妇无码大片在线观看| 国产精品乱码一区二区三区软件| 99国产精品久| 婷婷六月综合网| 久久影音资源网| 不卡视频一二三四| 香蕉加勒比综合久久| 日韩美女主播在线视频一区二区三区| 精品一区二区三区久久| 亚洲欧美在线视频| 精品视频999| 国产传媒日韩欧美成人| 亚洲精品乱码久久久久久黑人| 欧美一卡二卡在线| 不卡视频免费播放| 奇米影视一区二区三区| 国产精品美女久久久久久久久久久 | 欧美激情一区三区| 欧美日韩免费观看一区二区三区| 国产一二三精品| 亚洲综合清纯丝袜自拍| 久久网站最新地址| 2020国产精品自拍| 欧洲精品中文字幕| 国产激情91久久精品导航 | 亚洲精选视频在线| 日韩欧美国产精品| 色呦呦日韩精品| 国产精品一线二线三线| 亚洲大片一区二区三区| 中文字幕第一区二区| 日韩免费高清视频| 欧美日韩国产电影| 成人国产精品免费观看动漫| 蜜桃久久久久久久| 亚洲午夜激情网页| 一区在线观看免费| 国产亚洲va综合人人澡精品| 51久久夜色精品国产麻豆| 91视频国产资源| 国产尤物一区二区| 国产黑丝在线一区二区三区| 成人高清视频免费观看| 日日摸夜夜添夜夜添精品视频| 国产精品家庭影院| 国产香蕉久久精品综合网| 7777精品伊人久久久大香线蕉超级流畅| 成人免费黄色大片| 国产一区在线精品| 久久99久久99精品免视看婷婷| 五月天一区二区| 亚洲与欧洲av电影| 一区二区久久久久| 亚洲免费资源在线播放| 国产精品毛片高清在线完整版| 26uuu国产一区二区三区| 欧美一区午夜精品| 欧美日本韩国一区二区三区视频 | 亚洲视频一二三区| 国产精品少妇自拍| 久久久久久黄色| 久久久久久综合| 久久久影视传媒| 国产日韩av一区| 中文字幕不卡在线播放| 国产精品视频一二三| 国产精品三级av| 国产精品色哟哟| 日韩理论片网站| 一区二区三区四区不卡在线| 一区二区三区色| 亚洲www啪成人一区二区麻豆 | 免费av成人在线| 久久国产精品色婷婷| 激情五月婷婷综合网| 国产精品小仙女| www.综合网.com| 欧美综合在线视频| 欧美久久久久久久久中文字幕| 91精品国产综合久久香蕉的特点 | 欧美日韩高清一区二区三区| 欧美电影一区二区三区| 日韩一级片网站| 欧美精品一区二区三区很污很色的| 久久影院午夜论| 国产精品久久久久久久第一福利| 亚洲精品亚洲人成人网在线播放| 亚洲va欧美va人人爽| 麻豆精品一区二区三区| 国产成人精品影视| 在线观看亚洲精品视频| 日韩一区二区免费高清| 国产欧美日韩另类一区| 一区二区三区四区在线播放 | 国模套图日韩精品一区二区| 成人美女在线观看| 成人高清免费观看| 色综合欧美在线视频区| 亚洲色图一区二区| 一区二区在线观看免费| 亚洲美女电影在线| 午夜精品福利一区二区蜜股av | 一区二区三区在线观看网站| 日韩精品一二区| 国产91精品一区二区麻豆亚洲| 91亚洲国产成人精品一区二区三| 欧美日韩国产成人在线免费| 国产精品美女一区二区在线观看| 亚洲高清一区二区三区| 国产精品一区在线观看你懂的| 一本大道久久a久久精二百| 日韩精品综合一本久道在线视频| 国产精品理伦片| 成人午夜精品在线| 欧美日韩精品欧美日韩精品一| 国产无人区一区二区三区| 亚洲成人一二三| 麻豆精品在线播放| 91麻豆.com| 国产亚洲欧美在线| 亚洲一二三区视频在线观看| 国产成人精品三级| 69p69国产精品| 亚洲欧美日韩国产综合在线| 国产在线精品免费av| 欧美精品视频www在线观看| 日韩一区在线播放| 国产剧情av麻豆香蕉精品| 9191精品国产综合久久久久久| 中文字幕一区二区三区在线不卡 | 精品国一区二区三区| 亚洲午夜私人影院| 成人免费视频免费观看| 日韩精品一区二区三区在线观看| 亚洲综合视频在线| 91日韩在线专区| 国产女主播视频一区二区| 另类欧美日韩国产在线| 欧美日韩电影在线播放| 夜夜亚洲天天久久| 色综合久久久网| 成人免费视频在线观看| 丁香六月综合激情| 久久精品一区二区三区四区| 精品一区二区三区在线播放视频 | av电影在线观看一区| 国产欧美日韩精品一区| 国内精品第一页| 久久综合色之久久综合| 国内成人免费视频| 精品国产髙清在线看国产毛片| 男男成人高潮片免费网站| 欧美精品在线视频| 日韩在线播放一区二区| 在线成人av网站| 男女男精品网站| 欧美成人一区二区三区在线观看| 日韩av中文字幕一区二区三区| 6080国产精品一区二区| 美女视频一区二区三区| 精品成人一区二区三区四区| 国产一区二区三区最好精华液| 精品国产伦一区二区三区观看方式 | 成人av免费在线观看| 国产精品毛片高清在线完整版| 成人av网站在线观看免费| 亚洲靠逼com| 欧美吞精做爰啪啪高潮| 视频一区免费在线观看| 91精品国产综合久久久久| 日本va欧美va瓶| 国产午夜精品理论片a级大结局| 成人免费av资源| 亚洲综合清纯丝袜自拍| 91精品国产高清一区二区三区| 久久成人免费网| 国产精品麻豆网站| 欧美综合一区二区三区| 日本在线不卡一区| 久久精品无码一区二区三区| 91同城在线观看| 欧美aaaaaa午夜精品| 中文字幕 久热精品 视频在线| 色偷偷成人一区二区三区91| 免费在线一区观看| 国产偷国产偷亚洲高清人白洁|