PERSISTENT_RESERVE_COMMAND structure

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.

Syntax


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[];
    } PR_OUT;
  };
} PERSISTENT_RESERVE_COMMAND, *PPERSISTENT_RESERVE_COMMAND;

Members

Version

The version of this structure.

Size

The size of this structure.

PR_IN
ServiceAction

The 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

Reserved1

Reserved. Must be zero.

AllocationLength

The number of bytes allocated for the returned parameter list.

PR_OUT
ServiceAction

The service action code for this IOCTL_STORAGE_PERSISTENT_RESERVE_OUT request. PR_OUT.ServiceAction can be one of the following values: RESERVATION_ACTION_REGISTER RESERVATION_ACTION_RESERVE RESERVATION_ACTION_RELEASE RESERVATION_ACTION_CLEAR RESERVATION_ACTION_PREEMPT RESERVATION_ACTION_PREEMPT_ABORT RESERVATION_ACTION_REGISTER_IGNORE_EXISTING

Reserved1

Reserved. Must be zero.

Type

A value that specifies the characteristics of the persistent reservation. PR_OUT.Type can be one of the following values: RESERVATION_TYPE_WRITE_EXCLUSIVE RESERVATION_TYPE_EXCLUSIVE RESERVATION_TYPE_WRITE_EXCLUSIVE_REGISTRANTS RESERVATION_TYPE_EXCLUSIVE_REGISTRANTS

Scope

A 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: RESERVATION_SCOPE_LU RESERVATION_SCOPE_ELEMENT

ParameterList

The space for additional SCSI Persistent Reserve Out command parameters.

Remarks

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.

Requirements

Header

Ntddstor.h (include Ntddstor.h)

See also

IOCTL_STORAGE_PERSISTENT_RESERVE_IN
IOCTL_STORAGE_PERSISTENT_RESERVE_OUT

 

 

Send comments about this topic to Microsoft

Show: