PERSISTENT_RESERVE_COMMAND结构与 IOCTL_STORAGE_PERSISTENT_RESERVE_IN 和 IOCTL_STORAGE_PERSISTENT_RESERVE_OUT 请求一起使用,以获取和控制设备服务器中活动的永久性预留和预留密钥的相关信息。
语法
typedef struct _PERSISTENT_RESERVE_COMMAND {
ULONG Version;
ULONG Size;
union {
struct {
UCHAR ServiceAction : 5;
UCHAR Reserved1 : 3;
USHORT AllocationLength;
} PR_IN;
struct {
UCHAR ServiceAction : 5;
UCHAR Reserved1 : 3;
UCHAR Type : 4;
UCHAR Scope : 4;
UCHAR ParameterList[0];
} PR_OUT;
} DUMMYUNIONNAME;
} PERSISTENT_RESERVE_COMMAND, *PPERSISTENT_RESERVE_COMMAND;
成员
Version
此结构的版本。
Size
此结构的大小。
DUMMYUNIONNAME
DUMMYUNIONNAME.PR_IN
DUMMYUNIONNAME.PR_IN.ServiceAction
此IOCTL_STORAGE_PERSISTENT_RESERVE_IN请求的服务作代码。 PR_IN。ServiceAction 可以是以下值之一:RESERVATION_ACTION_READ_KEYS RESERVATION_ACTION_READ_RESERVATIONS
DUMMYUNIONNAME.PR_IN.Reserved1
保留。 必须为零。
DUMMYUNIONNAME.PR_IN.AllocationLength
为返回的参数列表分配的字节数。
DUMMYUNIONNAME.PR_OUT
DUMMYUNIONNAME.PR_OUT.ServiceAction
此IOCTL_STORAGE_PERSISTENT_RESERVE_OUT请求的服务作代码。 PR_OUT。ServiceAction 可以是以下值之一:
- RESERVATION_ACTION_REGISTER
- RESERVATION_ACTION_RESERVE
- RESERVATION_ACTION_RELEASE
- RESERVATION_ACTION_CLEAR
- RESERVATION_ACTION_PREEMPT
- RESERVATION_ACTION_PREEMPT_ABORT
- RESERVATION_ACTION_REGISTER_IGNORE_EXISTING
DUMMYUNIONNAME.PR_OUT.Reserved1
保留。 必须为零。
DUMMYUNIONNAME.PR_OUT.Type
一个值,该值指定永久性预留的特征。 PR_OUT。类型可以是以下值之一:
- RESERVATION_TYPE_WRITE_EXCLUSIVE
- RESERVATION_TYPE_EXCLUSIVE
- RESERVATION_TYPE_WRITE_EXCLUSIVE_REGISTRANTS
- RESERVATION_TYPE_EXCLUSIVE_REGISTRANTS
DUMMYUNIONNAME.PR_OUT.Scope
一个值,该值指定永久性预留是应用于整个逻辑单元还是逻辑单元的特定元素。 PR_OUT。范围可以是以下值之一:
- RESERVATION_SCOPE_LU
- RESERVATION_SCOPE_ELEMENT
DUMMYUNIONNAME.PR_OUT.ParameterList[0]
其他 SCSI 持久保留 Out 命令参数的空间。
言论
SCSI 主命令 - 2 (SPC-2) 规范中介绍了 SCSI 持久保留命令或 SCSI 持久保留 Out 命令时存储设备的行为。
要求
| 要求 | 价值 |
|---|---|
| 标头 | ntddstor.h (包括 Ntddstor.h) |