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

Defines the UCHAR member AllTargetPorts.

SpecifyInitiatorPorts

Defines the UCHAR member 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)