// scsi.h
typedef struct {
UCHAR Length[2];
UCHAR PersistThroughPowerLossCapable : 1;
UCHAR Reserved : 1;
UCHAR AllTargetPortsCapable : 1;
UCHAR SpecifyInitiatorPortsCapable : 1;
UCHAR CompatibleReservationHandling : 1;
UCHAR Reserved1 : 2;
UCHAR ReplaceLostReservationCapable : 1;
UCHAR PersistThroughPowerLossActivated : 1;
UCHAR Reserved2 : 3;
UCHAR AllowCommands : 3;
UCHAR TypeMaskValid : 1;
UCHAR Reserved3 : 1;
UCHAR WriteExclusive : 1;
UCHAR Reserved4 : 1;
UCHAR ExclusiveAccess : 1;
UCHAR Reserved5 : 1;
UCHAR WriteExclusiveRegistrantsOnly : 1;
UCHAR ExclusiveAccessRegistrantsOnly : 1;
UCHAR WriteExclusiveAllRegistrants : 1;
UCHAR ExclusiveAccessAllRegistrants : 1;
UCHAR Reserved6 : 7;
UCHAR Reserved7[2];
} PRI_REPORT_CAPABILITIES, *PPRI_REPORT_CAPABILITIES;
View the official Windows Driver Kit DDI reference// storport.h
typedef struct {
UCHAR Length[2];
UCHAR PersistThroughPowerLossCapable : 1;
UCHAR Reserved : 1;
UCHAR AllTargetPortsCapable : 1;
UCHAR SpecifyInitiatorPortsCapable : 1;
UCHAR CompatibleReservationHandling : 1;
UCHAR Reserved1 : 2;
UCHAR ReplaceLostReservationCapable : 1;
UCHAR PersistThroughPowerLossActivated : 1;
UCHAR Reserved2 : 3;
UCHAR AllowCommands : 3;
UCHAR TypeMaskValid : 1;
UCHAR Reserved3 : 1;
UCHAR WriteExclusive : 1;
UCHAR Reserved4 : 1;
UCHAR ExclusiveAccess : 1;
UCHAR Reserved5 : 1;
UCHAR WriteExclusiveRegistrantsOnly : 1;
UCHAR ExclusiveAccessRegistrantsOnly : 1;
UCHAR WriteExclusiveAllRegistrants : 1;
UCHAR ExclusiveAccessAllRegistrants : 1;
UCHAR Reserved6 : 7;
UCHAR Reserved7[2];
} PRI_REPORT_CAPABILITIES, *PPRI_REPORT_CAPABILITIES;
View the official Windows Driver Kit DDI referenceNo description available.
The PRI_REPORT_CAPABILITIES structure contains the information on persistent reservation features that is returned in response to a Persistent Reserve In command with ServiceAction=RESERVATION_ACTION_REPORT_CAPABILITIES.
Length[2]The size of this structure.
PersistThroughPowerLossCapableIndicates that the device server supports persisting through a power loss event.
ReservedReserved for internal use.
AllTargetPortsCapableIndicates that the device server supports all target ports.
SpecifyInitiatorPortsCapableIndicates that the device server supports specifying initiator ports.
CompatibleReservationHandlingIndicates that the device server is backward compatible with SPC-2.
Reserved1Reserved for internal use.
ReplaceLostReservationCapableIndicates that the device server supports replacing a lost reservation.
PersistThroughPowerLossActivatedIndicates that the persist through power loss capability is activated.
Reserved2Reserved for internal use.
AllowCommandsIndicates whether certain commands are allowed through certain types of persistent reservations.
| Value | Description |
|---|---|
| 0 | No information is provided about whether certain commands are allowed through certain types of persistent reservations. |
| 1 | The device server allows the TEST UNIT READY command through write exclusive type reservations and exclusive access type reservations. The device server does not provide information about whether the following commands are allowed through Write Exclusive type reservations: |
| | 2 | The device server allows the TEST UNIT READY command through write exclusive type reservations and exclusive access type reservations. The device server does not allow the following commands through Write Exclusive type reservations:
| | 3 | The device server allows the TEST UNIT READY command through write exclusive and exclusive access type reservations. And the following commands through write exclusive type reservations:
| | 4 | The device server allows the TEST UNIT READY command through write exclusive and exclusive access persistent reservations. And the following commands through write exclusive persist reservations:
| | 5 | The device server allows:
| | All others | Reserved |
TypeMaskValidContains a bitmask that indicates the persistent reservation types that are supported by the device server.
Reserved3Reserved for internal use.
WriteExclusiveIndicates that the device server supports the write exclusive persistent reservation type.
Reserved4Reserved for internal use.
ExclusiveAccessIndicates that the device server supports the exclusive access persistent reservation type.
Reserved5Reserved for internal use.
WriteExclusiveRegistrantsOnlyIndicates that the device server supports the write exclusive – registrants only persistent reservation type.
ExclusiveAccessRegistrantsOnlyIndicates that the device server supports the exclusive access – registrants only persistent reservation type.
WriteExclusiveAllRegistrantsIndicates that the device server supports the write exclusive – all registrants persistent reservation type.
ExclusiveAccessAllRegistrantsIndicates that the device server supports the exclusive access – all registrants persistent reservation type.
Reserved6Reserved for internal use.
Reserved7[2]Reserved for internal use.
The PRI_REPORT_CAPABILITIES structure contains the information on persistent reservation features that is returned in response to a Persistent Reserve In command with ServiceAction=RESERVATION_ACTION_REPORT_CAPABILITIES.
Length[2]The size of this structure.
PersistThroughPowerLossCapableIndicates that the device server supports persisting through a power loss event.
ReservedReserved for internal use.
AllTargetPortsCapableIndicates that the device server supports all target ports.
SpecifyInitiatorPortsCapableIndicates that the device server supports specifying initiator ports.
CompatibleReservationHandlingIndicates that the device server is backward compatible with SPC-2.
Reserved1Reserved for internal use.
ReplaceLostReservationCapableIndicates that the device server supports replacing a lost reservation.
PersistThroughPowerLossActivatedIndicates that the persist through power loss capability is activated.
Reserved2Reserved for internal use.
AllowCommandsIndicates whether certain commands are allowed through certain types of persistent reservations.
| Value | Description |
|---|---|
| 0 | No information is provided about whether certain commands are allowed through certain types of persistent reservations. |
| 1 | The device server allows the TEST UNIT READY command through write exclusive type reservations and exclusive access type reservations. The device server does not provide information about whether the following commands are allowed through Write Exclusive type reservations: |
| | 2 | The device server allows the TEST UNIT READY command through write exclusive type reservations and exclusive access type reservations. The device server does not allow the following commands through Write Exclusive type reservations:
| | 3 | The device server allows the TEST UNIT READY command through write exclusive and exclusive access type reservations. And the following commands through write exclusive type reservations:
| | 4 | The device server allows the TEST UNIT READY command through write exclusive and exclusive access persistent reservations. And the following commands through write exclusive persist reservations:
| | 5 | The device server allows:
| | All others | Reserved |
TypeMaskValidContains a bitmask that indicates the persistent reservation types that are supported by the device server.
Reserved3Reserved for internal use.
WriteExclusiveIndicates that the device server supports the write exclusive persistent reservation type.
Reserved4Reserved for internal use.
ExclusiveAccessIndicates that the device server supports the exclusive access persistent reservation type.
Reserved5Reserved for internal use.
WriteExclusiveRegistrantsOnlyIndicates that the device server supports the write exclusive – registrants only persistent reservation type.
ExclusiveAccessRegistrantsOnlyIndicates that the device server supports the exclusive access – registrants only persistent reservation type.
WriteExclusiveAllRegistrantsIndicates that the device server supports the write exclusive – all registrants persistent reservation type.
ExclusiveAccessAllRegistrantsIndicates that the device server supports the exclusive access – all registrants persistent reservation type.
Reserved6Reserved for internal use.
Reserved7[2]Reserved for internal use.