Biter
驱动牛犊
驱动牛犊
  • 注册日期2003-07-30
  • 最后登录2007-08-20
  • 粉丝0
  • 关注0
  • 积分50分
  • 威望5点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
阅读:914回复:1

IO_STACK_LOCATION的一个域是干什么的?

楼主#
更多 发布于:2003-08-14 18:31
IO_STACK_LOACTION的parameter中读写共用体中的64位数据是干什么用的?
全芯全艺为人民服务 - 芯艺
ysr
ysr
驱动牛犊
驱动牛犊
  • 注册日期2001-05-11
  • 最后登录2015-01-29
  • 粉丝0
  • 关注0
  • 积分79分
  • 威望48点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-08-15 13:20
struct   _IO_STACK_LOCATION (sizeof=36)
+00 byte     MajorFunction
+01 byte     MinorFunction
+02 byte     Flags
+03 byte     Control
+04 union    __unnamed19 Parameters
+04    struct   __unnamed20 Create
+04       struct   _IO_SECURITY_CONTEXT *SecurityContext
+08       uint32   Options
+0c       uint16   FileAttributes
+0e       uint16   ShareAccess
+10       uint32   EaLength
+04    struct   __unnamed21 CreatePipe
+04       struct   _IO_SECURITY_CONTEXT *SecurityContext
+08       uint32   Options
+0c       uint16   Reserved
+0e       uint16   ShareAccess
+10       struct   _NAMED_PIPE_CREATE_PARAMETERS *Parameters
+04    struct   __unnamed22 CreateMailslot
+04       struct   _IO_SECURITY_CONTEXT *SecurityContext
+08       uint32   Options
+0c       uint16   Reserved
+0e       uint16   ShareAccess
+10       struct   _MAILSLOT_CREATE_PARAMETERS *Parameters
+04    struct   __unnamed23 Read
+04       uint32   Length
+08       uint32   Key
+0c       union    _LARGE_INTEGER ByteOffset
+0c          uint32   LowPart
+10          int32    HighPart
+0c          struct   __unnamed3 u
+0c             uint32   LowPart
+10             int32    HighPart
+0c          int64    QuadPart
+04    struct   __unnamed23 Write
+04       uint32   Length
+08       uint32   Key
+0c       union    _LARGE_INTEGER ByteOffset
+0c          uint32   LowPart
+10          int32    HighPart
+0c          struct   __unnamed3 u
+0c             uint32   LowPart
+10             int32    HighPart
+0c          int64    QuadPart
+04    struct   __unnamed24 QueryDirectory
+04       uint32   Length
+08       struct   _STRING *FileName
+0c       int32    FileInformationClass
+10       uint32   FileIndex
+04    struct   __unnamed25 NotifyDirectory
+04       uint32   Length
+08       uint32   CompletionFilter
+04    struct   __unnamed26 QueryFile
+04       uint32   Length
+08       int32    FileInformationClass
+04    struct   __unnamed27 SetFile
+04       uint32   Length
+08       int32    FileInformationClass
+0c       struct   _FILE_OBJECT *FileObject
+10       byte     ReplaceIfExists
+11       byte     AdvanceOnly
+10       uint32   ClusterCount
+10       void     *DeleteHandle
+04    struct   __unnamed28 QueryEa
+04       uint32   Length
+08       void     *EaList
+0c       uint32   EaListLength
+10       uint32   EaIndex
+04    struct   __unnamed29 SetEa
+04       uint32   Length
+04    struct   __unnamed30 QueryVolume
+04       uint32   Length
+08       int32    FsInformationClass
+04    struct   __unnamed30 SetVolume
+04       uint32   Length
+08       int32    FsInformationClass
+04    struct   __unnamed31 FileSystemControl
+04       uint32   OutputBufferLength
+08       uint32   InputBufferLength
+0c       uint32   FsControlCode
+10       void     *Type3InputBuffer
+04    struct   __unnamed32 LockControl
+04       union    _LARGE_INTEGER *Length
+08       uint32   Key
+0c       union    _LARGE_INTEGER ByteOffset
+0c          uint32   LowPart
+10          int32    HighPart
+0c          struct   __unnamed3 u
+0c             uint32   LowPart
+10             int32    HighPart
+0c          int64    QuadPart
+04    struct   __unnamed33 DeviceIoControl
+04       uint32   OutputBufferLength
+08       uint32   InputBufferLength
+0c       uint32   IoControlCode
+10       void     *Type3InputBuffer
+04    struct   __unnamed34 QuerySecurity
+04       uint32   SecurityInformation
+08       uint32   Length
+04    struct   __unnamed35 SetSecurity
+04       uint32   SecurityInformation
+08       void     *SecurityDescriptor
+04    struct   __unnamed36 MountVolume
+04       struct   _VPB *Vpb
+08       struct   _DEVICE_OBJECT *DeviceObject
+04    struct   __unnamed36 VerifyVolume
+04       struct   _VPB *Vpb
+08       struct   _DEVICE_OBJECT *DeviceObject
+04    struct   __unnamed37 Scsi
+04        *Srb
+04    struct   __unnamed38 QueryQuota
+04       uint32   Length
+08       void     *StartSid
+0c       struct   _FILE_GET_QUOTA_INFORMATION *SidList
+10       uint32   SidListLength
+04    struct   __unnamed29 SetQuota
+04       uint32   Length
+04    struct   __unnamed39 QueryDeviceRelations
+04       int32    Type
+04    struct   __unnamed40 QueryInterface
+04       struct   _GUID *InterfaceType
+08       uint16   Size
+0a       uint16   Version
+0c       struct   _INTERFACE *Interface
+10       void     *InterfaceSpecificData
+04    struct   __unnamed41 DeviceCapabilities
+04       struct   _DEVICE_CAPABILITIES *Capabilities
+04    struct   __unnamed42 FilterResourceRequirements
+04       struct   _IO_RESOURCE_REQUIREMENTS_LIST *IoResourceRequirementList
+04    struct   __unnamed51 ReadWriteConfig
+04       uint32   WhichSpace
+08       void     *Buffer
+0c       uint32   Offset
+10       uint32   Length
+04    struct   __unnamed52 SetLock
+04       byte     Lock
+04    struct   __unnamed53 QueryId
+04       int32    IdType
+04    struct   __unnamed54 QueryDeviceText
+04       int32    DeviceTextType
+08       uint32   LocaleId
+04    struct   __unnamed55 UsageNotification
+04       byte     InPath
+05       byte     Reserved[3]
+08       int32    Type
+04    struct   __unnamed56 WaitWake
+04       int32    PowerState
+04    struct   __unnamed57 PowerSequence
+04       struct   _POWER_SEQUENCE *PowerSequence
+04    struct   __unnamed58 Power
+04       uint32   SystemContext
+08       int32    Type
+0c       union    _POWER_STATE State
+0c          int32    SystemState
+0c          int32    DeviceState
+10       int32    ShutdownType
+04    struct   __unnamed59 StartDevice
+04       struct   _CM_RESOURCE_LIST *AllocatedResources
+08       struct   _CM_RESOURCE_LIST *AllocatedResourcesTranslated
+04    struct   __unnamed60 WMI
+04       uint32   ProviderId
+08       void     *DataPath
+0c       uint32   BufferSize
+10       void     *Buffer
+04    struct   __unnamed61 Others
+04       void     *Argument1
+08       void     *Argument2
+0c       void     *Argument3
+10       void     *Argument4
+14 struct   _DEVICE_OBJECT *DeviceObject
+18 struct   _FILE_OBJECT *FileObject
+1c function *CompletionRoutine
+20 void     *Context

good luck!
游客

返回顶部