PRO_PARAMETER_LIST structure (storport.h)

The PRO_PARAMETER_LIST structure is sent in a Persistent Reserve Out command to a device server.

Syntax

typedef struct {
  UCHAR ReservationKey[8];
  UCHAR ServiceActionReservationKey[8];
  UCHAR ScopeSpecificAddress[4];
  UCHAR ActivatePersistThroughPowerLoss : 1;
  UCHAR Reserved1 : 1;
  UCHAR AllTargetPorts : 1;
  UCHAR SpecifyInitiatorPorts : 1;
  UCHAR Reserved2 : 4;
  UCHAR Reserved3;
  UCHAR Obsolete[2];
} PRO_PARAMETER_LIST, *PPRO_PARAMETER_LIST;

Members

ReservationKey[8]

The ReservationKey field contains an 8-byte value that is provided by the application client to the device server. This value identifies the initiator that is the source of the Persistent Reserve Out command.

ServiceActionReservationKey[8]

The ServiceActionReservationKey field contains information that is needed for the following four service actions:

  • REGISTER
  • REGISTER AND IGNORE EXISTING KEY
  • PREEMPT
  • PREEMPT AND ABORT

ScopeSpecificAddress[4]

The ScopeSpecificAddress field contains the element address that has zeros placed in the most significant bits to fit the field. This is true if the scope of a reservation is set to ELEMENT_SCOPE. Otherwise, this field is set to all zeros.

ActivatePersistThroughPowerLoss

The ActivatePersistThroughPowerLoss (APTPL) bit is valid only for the following service actions:

  • REGISTER
  • REGISTER AND IGNORE EXISTING KEY

Reserved1

Reserved. Must be zero.

AllTargetPorts

SpecifyInitiatorPorts

Reserved2

Reserved. Must be zero.

Reserved3

Reserved. Must be zero.

Obsolete[2]

Reserved. Must be zero.

Remarks

The IOCTL_STORAGE_PERSISTENT_RESERVE_OUT request is used to control information about persistent reservations and reservation keys that are active within a device server.

Requirements

Requirement Value
Header storport.h (include Ntddstor.h, Minitape.h, Scsi.h)