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

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

?? 1394.h

?? 書中的主要程序文件。在打開例題的.dsw文件后,請讀者在 tools菜單下的 Options 的 Directories 標簽中選擇 Executable files
?? H
?? 第 1 頁 / 共 5 頁
字號:
    //
    // Holds the pointer to the Vendor Leaf information
    //
    PTEXTUAL_LEAF VendorLeaf;

    //
    // Holds the length of the VendorLeaf pointer.
    //
    ULONG ModelLeafLength;

    //
    // Holds the pointer to the Model Leaf information
    //
    PTEXTUAL_LEAF ModelLeaf;

    //
    // Holds the 1394 10 bit BusId / 6 bit NodeId structure
    //
    NODE_ADDRESS NodeAddress;

    //
    // Holds the speed to be used in reaching this device
    //
    UCHAR Speed;

    //
    // Holds the priority at which to send packets
    //
    UCHAR Priority;

    //
    // Holds the Irp used to notify this device object about events
    //
    PIRP Irp;

    //
    // Holds the Device Object that this Device Extension hangs off of
    //
    PDEVICE_OBJECT DeviceObject;

    //
    // Holds the Port Device Object that this Device hangs off of
    //
    PDEVICE_OBJECT PortDeviceObject;

    //
    // Holds the pointer to corresponding information about this deivce
    // in the bus driver's head.
    //
    PVOID DeviceInformation;

    //
    // Holds the pointer to the bus reset notification routine (if any)
    //
    PBUS_BUS_RESET_NOTIFICATION ResetRoutine;

    //
    // Holds the pointer to the context the client wanted when bus reset occurs
    //

    PVOID ResetContext;

} NODE_DEVICE_EXTENSION, *PNODE_DEVICE_EXTENSION;


//
// Definition of Isoch descriptor
//
typedef struct _ISOCH_DESCRIPTOR {

    //
    // Flags (used in synchronization)
    //
    ULONG fulFlags;

    //
    // Mdl pointing to buffer
    //
    PMDL Mdl;

    //
    // Length of combined buffer(s) as represented by the Mdl
    //
    ULONG ulLength;

    //
    // Payload size of each Isoch packet to be used in this descriptor
    //
    ULONG nMaxBytesPerFrame;

    //
    // Synchronization field; equivalent to Sy in the Isoch packet
    //
    ULONG ulSynch;

    //
    // Synchronization field; equivalent to Tag in the Isoch packet
    //
    ULONG ulTag;

    //
    // Cycle time field; returns time to be sent/received or when finished
    //
    CYCLE_TIME CycleTime;

    //
    // Callback routine (if any) to be called when this descriptor completes
    //
    PBUS_ISOCH_DESCRIPTOR_ROUTINE Callback;

    //
    // First context (if any) parameter to be passed when doing callbacks
    //
    PVOID Context1;

    //
    // Second context (if any) parameter to be passed when doing callbacks
    //
    PVOID Context2;

    //
    // Holds the final status of this descriptor
    //
    NTSTATUS status;

    //
    // Reserved for the device driver who submitted this descriptor to
    // stomp in.
    //
    ULONG_PTR DeviceReserved[8];

    //
    // Reserved for the bus driver to stomp in
    //
    ULONG_PTR BusReserved[8];

    //
    // Reserved for the port driver to stomp in
    //
    ULONG_PTR PortReserved[16];


} ISOCH_DESCRIPTOR, *PISOCH_DESCRIPTOR;


//
// definition of header element for scatter/gather support
//

typedef struct _IEEE1394_SCATTER_GATHER_HEADER{

    USHORT HeaderLength;
    USHORT DataLength;
    UCHAR HeaderData;

} IEEE1394_SCATTER_GATHER_HEADER, *PIEEE1394_SCATTER_GATHER_HEADER;


//
// Definition of Bandwidth allocation structure
//
typedef struct _BANDWIDTH_ALLOCATION {

    //
    // Holds the list of allocation entries
    //
    LIST_ENTRY AllocationList;

    //
    // Holds the tag of this structure
    //
    ULONG Tag;

    //
    // Holds the Bandwidth units that this allocation owns
    //
    ULONG OwnedUnits;

    //
    // Holds the speed at which this bandwidth was allocated
    //
    ULONG fulSpeed;

    //
    // Holds whether or not this was a local or remote allocation
    //
    BOOLEAN bRemoteAllocation;

    //
    // Holds the generation of the bus when this bandwidth was secured
    //
    ULONG Generation;

    //
    // Holds the owner of this allocation
    //
    PNODE_DEVICE_EXTENSION DeviceExtension;

} BANDWIDTH_ALLOCATION, *PBANDWIDTH_ALLOCATION;


//
// IEEE 1394 Request Block definition (IRB).  IRBs are the basis of how other
// device drivers communicate with the 1394 Bus driver.
//
typedef struct _IRB {

    //
    // Holds the zero based Function number that corresponds to the request
    // that device drivers are asking the 1394 Bus driver to carry out.
    //
    ULONG FunctionNumber;

    //
    // Holds Flags that may be unique to this particular operation
    //
    ULONG Flags;

    //
    // Reserved for internal bus driver use and/or future expansion
    //
    ULONG_PTR BusReserved[IRB_BUS_RESERVED_SZ];

    //
    // Reserved for internal port driver usage
    //
    ULONG_PTR PortReserved[IRB_PORT_RESERVED_SZ];

    //
    // Holds the structures used in performing the various 1394 APIs
    //

    union {

        //
        // Fields necessary in order for the 1394 stack to carry out an
        // AsyncRead request.
        //
        struct {
            IO_ADDRESS      DestinationAddress;     // Address to read from
            ULONG           nNumberOfBytesToRead;   // Bytes to read
            ULONG           nBlockSize;             // Block size of read
            ULONG           fulFlags;               // Flags pertinent to read
            PMDL            Mdl;                    // Destination buffer
            ULONG           ulGeneration;           // Generation as known by driver
            UCHAR           chPriority;             // Priority to send
            UCHAR           nSpeed;                 // Speed at which to send
            UCHAR           tCode;                  // Type of Read to do
            UCHAR           Reserved;               // Used to determine medium delay
            ULONG           ElapsedTime;            // Only valid for flag ASYNC_FLAGS_PING
                                                    // units in nano secs..
        } AsyncRead;

        //
        // Fields necessary in order for the 1394 stack to carry out an
        // AsyncWrite request.
        //
        struct {
            IO_ADDRESS      DestinationAddress;     // Address to write to
            ULONG           nNumberOfBytesToWrite;  // Bytes to write
            ULONG           nBlockSize;             // Block size of write
            ULONG           fulFlags;               // Flags pertinent to write
            PMDL            Mdl;                    // Destination buffer
            ULONG           ulGeneration;           // Generation as known by driver
            UCHAR           chPriority;             // Priority to send
            UCHAR           nSpeed;                 // Speed at which to send
            UCHAR           tCode;                  // Type of Write to do
            UCHAR           Reserved;               // Reserved for future use
            ULONG           ElapsedTime;            // Only valid for flag ASYNC_FLAGS_PING
        } AsyncWrite;

        //
        // Fields necessary in order for the 1394 stack to carry out an
        // AsyncLock request.
        //
        struct {
            IO_ADDRESS      DestinationAddress;     // Address to lock to
            ULONG           nNumberOfArgBytes;      // Bytes in Arguments
            ULONG           nNumberOfDataBytes;     // Bytes in DataValues
            ULONG           fulTransactionType;     // Lock transaction type
            ULONG           fulFlags;               // Flags pertinent to lock
            ULONG           Arguments[2];           // Arguments used in Lock
            ULONG           DataValues[2];          // Data values
            PVOID           pBuffer;                // Destination buffer (virtual address)
            ULONG           ulGeneration;           // Generation as known by driver
            UCHAR           chPriority;             // Priority to send
            UCHAR           nSpeed;                 // Speed at which to send
            UCHAR           tCode;                  // Type of Lock to do
            UCHAR           Reserved;               // Reserved for future use
        } AsyncLock;

        //
        // Fields necessary in order for the Bus driver to carry out an
        // IsochAllocateBandwidth request
        //
        struct {
            ULONG           nMaxBytesPerFrameRequested; // Bytes per Isoch frame
            ULONG           fulSpeed;                   // Speed flags
            HANDLE          hBandwidth;                 // bandwidth handle returned
            ULONG           BytesPerFrameAvailable;     // Available bytes per frame
            ULONG           SpeedSelected;              // Speed to be used
            ULONG           nBandwidthUnitsRequired;    // pre-calculated value
        } IsochAllocateBandwidth;

        //
        // Fields necessary in order for the Bus driver to carry out a
        // IsochAllocateChannel request.
        //
        struct {
            ULONG           nRequestedChannel;      // Need a specific channel
            ULONG           Channel;                // Returned channel
            LARGE_INTEGER   ChannelsAvailable;      // Channels available
        } IsochAllocateChannel;

        //
        // Fields necessary in order for the Bus driver to carry out a
        // IsochAllocateResources request
        // Instructions:
        // Receive alloc:
        // fulSpeed - should be the max speed the tx side is expected to stream
        // The payload size in nMaxBytesPerFram cannot exceed the max payload for
        // for this speed.
        // fulFlags - For receive, wtih the standard header stripped, the field should
        // be = (RESOURCE_USED_IN_LISTEN | RESOURCES_STRIP_ADDITIONAL_QUADLETS)
        // Also nQuadletsToStrip = 1
        // For no stripping set nQuadsTostrip to 0 and dont specify the stripping flag.
        // nMaxBytesPerframe - If not stripping it should include the 8 bytes for header/trailer
        // expected to be recieved for each packet.
        // nNumberOfBuffer - see below
        // nMaxBufferSize - This should be always such mode(nMaxBufferSize,nMaxBytesPerFrame) == 0
        // (integer product of number of bytes per packet).
        // nQuadletsTostrip - If stripping only one quadlet (standrd iso header) this is set to 1
        // if zero, the isoch header will be included AND the trailer. So 8 bytes extra will be recieved
        // hResource - see below

        struct {
            ULONG           fulSpeed;               // Speed flags

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美激情在线一区二区三区| 国产精品美女久久久久久久久| 久久欧美一区二区| 亚洲国产成人va在线观看天堂| 久久疯狂做爰流白浆xx| 日本乱人伦aⅴ精品| 国产午夜精品一区二区| 视频一区二区国产| 欧美亚洲高清一区二区三区不卡| 久久婷婷色综合| 蜜桃视频一区二区三区在线观看| 欧美午夜精品久久久久久超碰 | 国产亚洲1区2区3区| 亚洲成人福利片| 色综合天天做天天爱| 国产日韩精品一区二区三区在线| 日本不卡免费在线视频| 欧美日韩一区高清| 亚洲精品视频观看| 成人午夜看片网址| 国产欧美日韩不卡免费| 国产在线一区二区| 精品日韩一区二区| 久久精品国产第一区二区三区| 欧美日韩高清不卡| 亚洲图片欧美激情| 97久久超碰精品国产| 国产精品久久久久久久久免费桃花| 国产一级精品在线| 国产欧美日韩在线| 色综合咪咪久久| 亚洲人成小说网站色在线| av高清不卡在线| 亚洲三级在线免费观看| 色综合久久中文综合久久97| 亚洲视频一区二区在线| 色综合久久中文字幕综合网| 亚洲欧美国产77777| 91精品办公室少妇高潮对白| 一区二区三区在线视频观看| 欧美三级电影一区| 日产欧产美韩系列久久99| 日韩欧美的一区二区| 激情久久久久久久久久久久久久久久| 欧美va亚洲va在线观看蝴蝶网| 国产在线精品一区在线观看麻豆| 久久亚洲精品国产精品紫薇| 久久精品国产一区二区三 | 日本在线不卡一区| 日韩精品中文字幕在线不卡尤物| 国精品**一区二区三区在线蜜桃| 久久久久久99久久久精品网站| 春色校园综合激情亚洲| 亚洲精品videosex极品| 91麻豆精品国产91久久久久| 精品一区二区综合| 亚洲国产精品v| 欧美午夜电影网| 黄网站免费久久| 17c精品麻豆一区二区免费| 在线免费观看一区| 韩国毛片一区二区三区| 亚洲欧洲精品一区二区三区| 欧美日韩中文另类| 国产成人在线电影| 亚洲成人动漫在线观看| 国产午夜久久久久| 欧美日韩亚洲综合在线| 激情文学综合网| 亚洲精品国产一区二区精华液| 91精品国产色综合久久不卡蜜臀| 国产传媒欧美日韩成人| 亚洲综合色在线| 久久综合狠狠综合久久综合88| 99国产精品国产精品毛片| 天天操天天干天天综合网| 久久精品在线免费观看| 欧美日韩国产三级| 99精品国产一区二区三区不卡| 视频一区二区欧美| 亚洲男人的天堂网| 欧美精品一区二区三区在线| 欧美亚洲另类激情小说| 不卡一区在线观看| 精品一区免费av| 三级亚洲高清视频| 亚洲蜜臀av乱码久久精品| 久久综合九色综合97_久久久| 欧美色图12p| 91在线视频官网| 精品一区二区三区在线观看国产| 一区二区三区四区精品在线视频| 欧美精品一区二区精品网| 欧美亚洲动漫制服丝袜| bt7086福利一区国产| 国产精品香蕉一区二区三区| 奇米精品一区二区三区在线观看一| 亚洲精品免费看| 一区在线观看免费| 国产欧美久久久精品影院| 欧美mv和日韩mv的网站| 欧美一区二区在线免费播放| 日本韩国欧美国产| 一本一道久久a久久精品| 不卡电影一区二区三区| 国产ts人妖一区二区| 国产99久久久国产精品免费看| 久久国产精品色婷婷| 蜜臀精品一区二区三区在线观看 | 亚洲国产中文字幕在线视频综合| 国产精品久久久久影院老司| 一二三区精品视频| 夜夜嗨av一区二区三区中文字幕| 亚洲欧洲国产日韩| 亚洲日本va在线观看| 亚洲免费看黄网站| 一区二区欧美在线观看| 亚洲香肠在线观看| 三级久久三级久久久| 免费观看一级特黄欧美大片| 蜜臀av性久久久久蜜臀aⅴ四虎| 奇米888四色在线精品| 免费成人av在线播放| 九九视频精品免费| 国产成人在线视频免费播放| 成人国产精品免费网站| 色先锋aa成人| 欧美老肥妇做.爰bbww视频| 欧美一级一区二区| 欧美zozo另类异族| 国产日韩精品一区| 国产精品电影一区二区三区| 亚洲精选在线视频| 日本不卡不码高清免费观看| 精品亚洲国产成人av制服丝袜| 国产成人夜色高潮福利影视| 99视频在线精品| 欧美日韩一二三区| www久久久久| 亚洲蜜臀av乱码久久精品| 香蕉成人伊视频在线观看| 久久国产三级精品| 99热精品一区二区| 91麻豆精品91久久久久同性| 亚洲精品在线一区二区| 亚洲欧洲精品天堂一级| 日韩精品亚洲一区| 粉嫩在线一区二区三区视频| 日本韩国一区二区三区| 精品国产亚洲在线| 一区二区三区**美女毛片| 久久精品国产精品亚洲红杏| 成人免费黄色在线| 欧美日韩视频在线一区二区| 精品久久久久久最新网址| 国产精品白丝在线| 捆绑调教美女网站视频一区| 成人av网址在线观看| 日韩欧美综合在线| 亚洲欧美区自拍先锋| 国产最新精品免费| 欧美年轻男男videosbes| 中文av一区二区| 美女网站视频久久| 日韩欧美一区二区不卡| 国产精品福利电影一区二区三区四区| 日韩在线a电影| 色婷婷亚洲精品| 国产农村妇女精品| 免费观看日韩av| 欧美日韩午夜在线| 亚洲人妖av一区二区| 激情五月激情综合网| 91超碰这里只有精品国产| 亚洲免费电影在线| 国产福利一区二区三区视频在线 | 欧美xingq一区二区| 亚洲永久精品大片| 白白色亚洲国产精品| 久久久综合网站| 久久99精品国产.久久久久| 在线不卡的av| 亚洲国产婷婷综合在线精品| eeuss鲁一区二区三区| 国产婷婷精品av在线| 国产一区二区三区免费观看| 欧美一区二区免费| 日韩精品乱码av一区二区| 欧美在线一二三| 一区二区三区日本| 一本一道综合狠狠老| 亚洲欧美一区二区不卡| 97精品久久久午夜一区二区三区| 久久久久青草大香线综合精品| 久草这里只有精品视频| 精品国产污污免费网站入口 | 91精品在线免费| 日本在线播放一区二区三区| 欧美乱妇15p| 视频一区二区中文字幕|