// ntddstor.h
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;
View the official Windows Driver Kit DDI referenceNo description available.
The PERSISTENT_RESERVE_COMMAND structure is used together with the IOCTL_STORAGE_PERSISTENT_RESERVE_IN and IOCTL_STORAGE_PERSISTENT_RESERVE_OUT requests to obtain and control information about persistent reservations and reservation keys that are active within a device server.
VersionThe version of this structure.
SizeThe size of this structure.
DUMMYUNIONNAMEDUMMYUNIONNAME.PR_INDUMMYUNIONNAME.PR_IN.ServiceActionThe service action code for this IOCTL_STORAGE_PERSISTENT_RESERVE_IN request. PR_IN.ServiceAction can be one of the following values: RESERVATION_ACTION_READ_KEYS RESERVATION_ACTION_READ_RESERVATIONS
DUMMYUNIONNAME.PR_IN.Reserved1Reserved. Must be zero.
DUMMYUNIONNAME.PR_IN.AllocationLengthThe number of bytes allocated for the returned parameter list.
DUMMYUNIONNAME.PR_OUTDUMMYUNIONNAME.PR_OUT.ServiceActionThe service action code for this IOCTL_STORAGE_PERSISTENT_RESERVE_OUT request. PR_OUT.ServiceAction can be one of the following values:
DUMMYUNIONNAME.PR_OUT.Reserved1Reserved. Must be zero.
DUMMYUNIONNAME.PR_OUT.TypeA value that specifies the characteristics of the persistent reservation. PR_OUT.Type can be one of the following values:
DUMMYUNIONNAME.PR_OUT.ScopeA value that specifies whether the persistent reservation applies to the entire logical unit or a specific element of the logical unit. PR_OUT.Scope can be one of the following values:
DUMMYUNIONNAME.PR_OUT.ParameterListThe space for additional SCSI Persistent Reserve Out command parameters.
The behavior of the storage device when a SCSI Persistent Reserve In command or a SCSI Persistent Reserve Out command is received is described in the SCSI Primary Commands - 2 (SPC-2) specification.
IOCTL_STORAGE_PERSISTENT_RESERVE_IN
IOCTL_STORAGE_PERSISTENT_RESERVE_OUT