2.3 常见内核数据结构 : 存储系统数据结构

本文详细介绍了存储系统中三种核心数据结构:卷参数块(VPB)、文件对象(File_Object)及SCSI请求块(SRB)的具体组成和作用。通过这些内容可以帮助读者深入理解存储系统的工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

存储系统数据结构:

1. 卷参数块(VPB)

kd> dt nt!_VPB

Type 

Size

Flags

VolumeLabelLength

DeviceObject Ptr32 _DEVICE_OBJECT

RealDevice Ptr32 _DEVICE_OBJECT

SerialNumber

ReferenceCount

VolumeLabel [32] Uint 2B


2. 文件对象(File_Object)

kd> dt nt!_file_object

Type

Size

DeviceObject Ptr32 _DEVICE_OBJECT

Vpb Ptr32 _VPB

FsContext

FsContext2

SectionObjectPointer Ptr32 _SECTION_OBJECT_POINTERS

PrivateCacheMap

FinalStatus

RelatedFileObject Ptr32 _FILE_OBJECT

LockOperation

DeletePending UCHAR

ReadAccess UCHAR

WriteAccess UCHAR

DeleteAccess UCHAR

ShareRead UCHAR

ShareWrite UCHAR

ShareDelete UCHAR

Flags

FileName _UNICODE_STRING

CurrentByteOffset _LARGE_INTEGER

Waiters

Busy

LastLock

Lock _KEVENT

Event _KEVENT

CompletionContext Ptr32 _IO_COMPLETION_CONTEXT


3. SCSI请求块(SRB)

typedef struct _SCSI_REQUEST_BLOCK_ {

USHORT Length;

UCHAR Function;

UCHAR SrbStatus;

UCHAR ScsiStatus;

UCHAR PathId;

UCHAR TargetId;

UCHAR Lun;

UCHAR QueueTag;

UCHAR QueueAction;

UCHAR CdbLength;

UCHAR SenseInfoBufferLength;

ULONG SrbFlags;

ULONG DataTransferLength;

ULONG TimeOutValue;

PVOID DataBuffer;

PVOID SenseInfoBuffer;

struct _SCSI_REQUEST_BLOCK *NextSrb;

PVOID OriginalRequest;

PVOID SrbExtension;

union {

ULONG InternalStatus;

ULONG QueueSortKey;

 };

UCHAR Cdb[16];

} SCSI_REQUEST_BLOCK, *PSCSI_REQUEST_BLOCK;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值