WS-Management > WS-Management Class Reference > AMT Classes > AMT_ThirdPartyDataStorageService

Class AMT_ThirdPartyDataStorageService

Used in features: Storage
Compatible with the following Intel AMT Releases: 3.0, 3.2, 4.0, 5.0, 5.1, 6.0, 6.1, 6.2, 7.0, 8.0, 8.1, 9.0, 9.5, 10.0, 11.0
CIM_ManagedElement
   extended by CIM_ManagedSystemElement
      extended by CIM_LogicalElement
         extended by CIM_EnabledLogicalElement
            extended by CIM_Service
               extended by AMT_ThirdPartyDataStorageService


class AMT_ThirdPartyDataStorageService
extends CIM_Service

General Information:
The ISV storage (ISVS) feature provides limited non-volatile storage services to third-party software applications running either on the local computer system host processor or on a remote system.

Qualifiers:
-------------
Version=4.0.0


Supported Fields Summary
 string Name Key
The Name property uniquely identifies the Service and provides an indication of the functionality that is managed . . .
 string CreationClassName Key
CreationClassName indicates the name of the class or the subclass that is used in the creation of an instance . . .
 string SystemName Key
The Name of the scoping System.
 string SystemCreationClassName Key
The CreationClassName of the scoping System.
 string ElementName
A user-friendly name for the object . . .
 uint16[] OperationalStatus
Indicates the current statuses of the element . . .
 uint16 EnabledState
EnabledState is an integer enumeration that indicates the enabled and disabled states of an element . . .
 uint16 RequestedState
RequestedState is an integer enumeration that indicates the last requested or desired state for the element, irrespective of the mechanism through which it was requested . . .
 uint16 EnabledDefault
An enumerated value indicating an administrator's default or startup configuration for the Enabled State of an element . . .

Methods Summary
 uint32 GetMTU(Mtu)
Returns the MTU (Maximum Transmission Unit) of the storage.
 uint32 RegisterApplication(CallerUUID, VendorName, ApplicationName, EnterpriseName, SessionHandle)
Registers the application with Intel(R) AMT and returns a Session handle to the application . . .
 uint32 UnregisterApplication(SessionHandle)
Closes the session of a registered application, but leaves the application registered, and leaves its data intact . . .
 uint32 GetRegisteredApplications(SessionHandle, AppHandles)
Returns a list of handles for ISV applications that at some point have registered with Intel(R) AMT and were not removed . . .
 uint32 GetCurrentApplicationHandle(SessionHandle, ApplicationHandle)
Sent by a registered ISV application to retrieve its application handle.
 uint32 GetApplicationAttributes(SessionHandle, ApplicationBeingRequested, VendorName, ApplicationName)
Sent by a registered ISV application to get a listing of attributes for applications with the same vendor name . . .
 uint32 RemoveApplication(SessionHandle)
Un-registers an application and releases all allocated Intel(R) AMT storage resources associated with this ISV application . . .
 uint32 GetBytesAvailable(SessionHandle, BytesAvailable)
Sent by a registered ISV application to determine the number of bytes currently available for it to allocate.
 uint32 AllocateBlock(SessionHandle, BytesRequested, BlockHidden, BlockName, BlockHandle)
Sent by a registered ISV application to allocate a portion of the Intel(R) AMT non-volatile storage area, sets the block visibility and defines the block name . . .
 uint32 DeallocateBlock(SessionHandle, BlockHandle)
Enables an application that owns an allocated block to return it back to the system.
 uint32 RemovePermissionsGroup(SessionHandle, BlockHandle, GroupHandle)
Sent by a registered ISV application to remove a permissions group from a storage block . . .
 uint32 GetPermissionsGroupMembers(SessionHandle, BlockHandle, GroupHandle, MemberHandles)
Sent by any registered ISV application to get the list of handles of ISV applications which are members of a storage block permissions group . . .
 uint32 GetAllocatedBlocks(SessionHandle, BlockOwnerApplication, BlockHandles)
Enables an application to get a listing of block handles for those blocks allocated by a given application . . .
 uint32 RemovePermissionsGroupMembers(SessionHandle, BlockHandle, GroupHandle, MemberHandles)
Sent by a registered ISV application to remove member applications or generic application filters from a permissions group associated with a single block of ISV storage . . .
 uint32 GetBlockAttributes(SessionHandle, BlockHandle, BlockSize, BlockHidden, BlockName)
Enables an application to get a listing of attributes for a single allocated block . . .
 uint32 AddPermissionsGroupMembers(SessionHandle, BlockHandle, GroupHandle, MemberHandles)
Sent by a registered ISV application to add member applications or generic application filters to a permissions group associated with a single block of ISV storage . . .
 uint32 UnlockBlock(SessionHandle, BlockHandle)
Enables an application to remove a lock from a block of non-volatile memory so that other applications may access the allocated block for read or write operations . . .
 uint32 SetPermissionsGroupName(SessionHandle, BlockHandle, GroupHandle, GroupName)
Sent by a registered ISV application to set the name of a storage block permissions group . . .
 uint32 GetTimeoutValues(RegistrationTimeout, LockTimeout)
Sent by an ISV application to get the timeout values used by the Intel(R) AMT device for idle registered applications and idle locked blocks.
 uint32 ReadBlock(SessionHandle, BlockHandle, ByteOffset, ByteCount, Data)
Sent by a registered ISV application to retrieve data previously stored in a block of local nonvolatile memory . . .
 uint32 WriteBlock(SessionHandle, BlockHandle, ByteOffset, Data, BytesWritten)
Enables an application with proper permissions to write data to an allocated block . . .
 uint32 SetPermissionsGroupPermissions(SessionHandle, BlockHandle, GroupHandle, Permissions)
Sent by a registered ISV application to set the permission flags for a storage block permissions group . . .
 uint32 SetBlockVisibility(SessionHandle, BlockHandle, BlockHidden)
Enables an application that owns an allocated memory block to set the block visibility attribute . . .
 uint32 GetPermissionsGroupAttributes(SessionHandle, BlockHandle, GroupHandle, Name, Permissions)
Sent by a registered ISV application to get the attributes for a single permissions group . . .
 uint32 GetPermissionsGroups(SessionHandle, BlockHandle, GroupHandles)
Sent by a registered ISV application to get a list of handles of the permissions groups currently defined for a block of ISV storage . . .
 uint32 SetBlockName(SessionHandle, BlockHandle, BlockName)
Enables an application that owns an allocated block to modify the block's name.
 uint32 AddPermissionsGroup(SessionHandle, BlockHandle, GroupPermissions, GroupName, GroupHandle)
Sent by a registered ISV application to associate a permissions group with a block of ISV storage, set its initial permissions value, and define its name . . .
 uint32 LockBlock(SessionHandle, BlockHandle)
Sent by a registered ISV application to lock a block of non-volatile memory, thereby preventing other applications from reading or writing the block's data . . .
 uint32 GetWriteEraseLimit(WriteEraseLimit)
Returns the number of currently available write operations.
  Get(Instance)
Gets the representation of the instance
  Pull(EnumerationContext, MaxElements)
Pulls instances of this class, following an Enumerate operation
  Enumerate()
Enumerates the instances of this class
  Release(EnumerationContext)
Releases an enumeration context

Field Detail

Name Key

public string Name
General Information:
The Name property uniquely identifies the Service and provides an indication of the functionality that is managed. This functionality is described in more detail in the Description property of the object.

Product Specific Usage:
In Intel AMT Release 6.0 and later releases value is 'Intel(r) AMT Third Party Data Storage Service'

Qualifiers:
-------------
Key
Override=Name
MaxLen=50


CreationClassName Key

public string CreationClassName
General Information:
CreationClassName indicates the name of the class or the subclass that is used in the creation of an instance. When used with the other key properties of this class, this property allows all instances of this class and its subclasses to be uniquely identified.

Product Specific Usage:
In Intel AMT Release 6.0 and later releases value is 'AMT_ThirdPartyDataStorageService'

Qualifiers:
-------------
Key
MaxLen=35


SystemName Key

public string SystemName
General Information:
The Name of the scoping System.

Product Specific Usage:
In Intel AMT Release 6.0 and later releases value is 'Intel(r) AMT'

Qualifiers:
-------------
Key
MaxLen=256
Propagated=CIM_System.Name


SystemCreationClassName Key

public string SystemCreationClassName
General Information:
The CreationClassName of the scoping System.

Product Specific Usage:
In Intel AMT Release 6.0 and later releases value is 'CIM_ComputerSystem'

Qualifiers:
-------------
Key
MaxLen=20
Propagated=CIM_System.CreationClassName


ElementName

public string ElementName
General Information:
A user-friendly name for the object. This property allows each instance to define a user-friendly name in addition to its key properties, identity data, and description information.
Note that the Name property of ManagedSystemElement is also defined as a user-friendly name. But, it is often subclassed to be a Key. It is not reasonable that the same property can convey both identity and a user-friendly name, without inconsistencies. Where Name exists and is not a Key (such as for instances of LogicalDevice), the same information can be present in both the Name and ElementName properties. Note that if there is an associated instance of CIM_EnabledLogicalElementCapabilities, restrictions on this properties may exist as defined in ElementNameMask and MaxElementNameLen properties defined in that class.

Product Specific Usage:
In Intel AMT Release 6.0 and later releases value is 'Intel(r) AMT Third Party Data Storage Service'

Qualifiers:
-------------
MaxLen=50


OperationalStatus

public uint16[] OperationalStatus
General Information:
Indicates the current statuses of the element. Various operational statuses are defined. Many of the enumeration's values are self-explanatory. However, a few are not and are described here in more detail.
"Stressed" indicates that the element is functioning, but needs attention. Examples of "Stressed" states are overload, overheated, and so on.
"Predictive Failure" indicates that an element is functioning nominally but predicting a failure in the near future.
"In Service" describes an element being configured, maintained, cleaned, or otherwise administered.
"No Contact" indicates that the monitoring system has knowledge of this element, but has never been able to establish communications with it.
"Lost Communication" indicates that the ManagedSystem Element is known to exist and has been contacted successfully in the past, but is currently unreachable.
"Stopped" and "Aborted" are similar, although the former implies a clean and orderly stop, while the latter implies an abrupt stop where the state and configuration of the element might need to be updated.
"Dormant" indicates that the element is inactive or quiesced.
"Supporting Entity in Error" indicates that this element might be "OK" but that another element, on which it is dependent, is in error. An example is a network service or endpoint that cannot function due to lower-layer networking problems.
"Completed" indicates that the element has completed its operation. This value should be combined with either OK, Error, or Degraded so that a client can tell if the complete operation Completed with OK (passed), Completed with Error (failed), or Completed with Degraded (the operation finished, but it did not complete OK or did not report an error).
"Power Mode" indicates that the element has additional power model information contained in the Associated PowerManagementService association.
"Relocating" indicates the element is being relocated.
OperationalStatus replaces the Status property on ManagedSystemElement to provide a consistent approach to enumerations, to address implementation needs for an array property, and to provide a migration path from today's environment to the future. This change was not made earlier because it required the deprecated qualifier. Due to the widespread use of the existing Status property in management applications, it is strongly recommended that providers or instrumentation provide both the Status and OperationalStatus properties. Further, the first value of OperationalStatus should contain the primary status for the element. When instrumented, Status (because it is single-valued) should also provide the primary status of the element.

Qualifiers:
-------------
ValueMap={0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, .., 0x8000..}
Values={Unknown, Other, OK, Degraded, Stressed, Predictive Failure, Error, Non-Recoverable Error, Starting, Stopping, Stopped, In Service, No Contact, Lost Communication, Aborted, Dormant, Supporting Entity in Error, Completed, Power Mode, Relocating, DMTF Reserved, Vendor Reserved}
ArrayType=Indexed
ModelCorrespondence={CIM_ManagedSystemElement.StatusDescriptions}


EnabledState

public uint16 EnabledState
General Information:
EnabledState is an integer enumeration that indicates the enabled and disabled states of an element. It can also indicate the transitions between these requested states. For example, shutting down (value=4) and starting (value=10) are transient states between enabled and disabled. The following text briefly summarizes the various enabled and disabled states:
Enabled (2) indicates that the element is or could be executing commands, will process any queued commands, and queues new requests.
Disabled (3) indicates that the element will not execute commands and will drop any new requests.
Shutting Down (4) indicates that the element is in the process of going to a Disabled state.
Not Applicable (5) indicates the element does not support being enabled or disabled.
Enabled but Offline (6) indicates that the element might be completing commands, and will drop any new requests.
Test (7) indicates that the element is in a test state.
Deferred (8) indicates that the element might be completing commands, but will queue any new requests.
Quiesce (9) indicates that the element is enabled but in a restricted mode.
Starting (10) indicates that the element is in the process of going to an Enabled state. New requests are queued.

Qualifiers:
-------------
ValueMap={0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11..32767, 32768..65535}
Values={Unknown, Other, Enabled, Disabled, Shutting Down, Not Applicable, Enabled but Offline, In Test, Deferred, Quiesce, Starting, DMTF Reserved, Vendor Reserved}
ModelCorrespondence={CIM_EnabledLogicalElement.OtherEnabledState}


RequestedState

public uint16 RequestedState
General Information:
RequestedState is an integer enumeration that indicates the last requested or desired state for the element, irrespective of the mechanism through which it was requested. The actual state of the element is represented by EnabledState. This property is provided to compare the last requested and current enabled or disabled states. Note that when EnabledState is set to 5 ("Not Applicable"), then this property has no meaning. Refer to the EnabledState property description for explanations of the values in the RequestedState enumeration.
"Unknown" (0) indicates the last requested state for the element is unknown.
Note that the value "No Change" (5) has been deprecated in lieu of indicating the last requested state is "Unknown" (0). If the last requested or desired state is unknown, RequestedState should have the value "Unknown" (0), but may have the value "No Change" (5).Offline (6) indicates that the element has been requested to transition to the Enabled but Offline EnabledState.
It should be noted that there are two new values in RequestedState that build on the statuses of EnabledState. These are "Reboot" (10) and "Reset" (11). Reboot refers to doing a "Shut Down" and then moving to an "Enabled" state. Reset indicates that the element is first "Disabled" and then "Enabled". The distinction between requesting "Shut Down" and "Disabled" should also be noted. Shut Down requests an orderly transition to the Disabled state, and might involve removing power, to completely erase any existing state. The Disabled state requests an immediate disabling of the element, such that it will not execute or accept any commands or processing requests.

This property is set as the result of a method invocation (such as Start or StopService on CIM_Service), or can be overridden and defined as WRITEable in a subclass. The method approach is considered superior to a WRITEable property, because it allows an explicit invocation of the operation and the return of a result code.

If knowledge of the last RequestedState is not supported for the EnabledLogicalElement, the property shall be NULL or have the value 12 "Not Applicable".

Qualifiers:
-------------
ValueMap={0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, .., 32768..65535}
Values={Unknown, Enabled, Disabled, Shut Down, No Change, Offline, Test, Deferred, Quiesce, Reboot, Reset, Not Applicable, DMTF Reserved, Vendor Reserved}
ModelCorrespondence={CIM_EnabledLogicalElement.EnabledState}


EnabledDefault

public uint16 EnabledDefault
General Information:
An enumerated value indicating an administrator's default or startup configuration for the Enabled State of an element. By default, the element is "Enabled" (value=2).

Qualifiers:
-------------
Write
ValueMap={2, 3, 5, 6, 7, 9, .., 32768..65535}
Values={Enabled, Disabled, Not Applicable, Enabled but Offline, No Default, Quiesce, DMTF Reserved, Vendor Reserved}


Method Detail

GetMTU

public uint32 GetMTU([OUT]uint32 Mtu)
Permission Information:
Permitted realms: ADMIN_SECURITY_STORAGE_REALM

General Information:
Returns the MTU (Maximum Transmission Unit) of the storage.

Qualifiers:
-------------
ValueMap={0}
Values={PT_STATUS_SUCCESS}


Parameters:
--------------
Mtu
General Information:
The storage MTU (Maximum Transmission Unit).

Qualifiers:
-------------
OUT



RegisterApplication

public uint32 RegisterApplication([IN]string CallerUUID[], [IN]string VendorName, [IN]string ApplicationName, [IN]string EnterpriseName, [OUT]string SessionHandle[])
Permission Information:
Permitted realms: ADMIN_SECURITY_STORAGE_REALM

General Information:
Registers the application with Intel(R) AMT and returns a Session handle to the application. The application specifies this handle in subsequent ISV storage calls until it sends a new registration request (with identical information). Once an application has initially registered with unique registration information (Vendor Name, Application Name, Enterprise Name and UUID) from either the local or the remote interface, registration attempts with identical registration data from a different interface will be rejected.

Qualifiers:
-------------
ValueMap={0, 1, 9, 23, 38}
Values={PT_STATUS_SUCCESS, PT_STATUS_INTERNAL_ERROR, PT_STATUS_INVALID_REGISTRATION_DATA, PT_STATUS_MAX_LIMIT_REACHED, PT_STATUS_FLASH_WRITE_LIMIT_EXCEEDED}


Parameters:
--------------
CallerUUID
General Information:
GUID String.

Qualifiers:
-------------
Required
IN
OctetString
MaxLen=16

VendorName
General Information:
The name of the vendor.

Qualifiers:
-------------
Required
IN
MaxLen=64

ApplicationName
General Information:
The name of the ISV application.

Qualifiers:
-------------
Required
IN
MaxLen=64

EnterpriseName
General Information:
A pre-registered enterprise name.

Qualifiers:
-------------
Required
IN
MaxLen=64

SessionHandle
General Information:
Hex String Session Handle

Qualifiers:
-------------
OUT
OctetString
MaxLen=16



UnregisterApplication

public uint32 UnregisterApplication([IN]string SessionHandle[])
Permission Information:
Permitted realms: ADMIN_SECURITY_STORAGE_REALM

General Information:
Closes the session of a registered application, but leaves the application registered, and leaves its data intact. Any block locks that the application acquired will be released. The SessionHandle is invalidated and should not be used in subsequent ISVS operations.

Product Specific Usage:
If 'SessionHandle' parameter doesn't represent a valid session, a 'PT_STATUS_INVALID_HANDLE' (2053) value is returned.

Qualifiers:
-------------
ValueMap={0, 1}
Values={PT_STATUS_SUCCESS, PT_STATUS_INTERNAL_ERROR}


Parameters:
--------------
SessionHandle
General Information:
Hex String Session Handle

Qualifiers:
-------------
Required
IN
OctetString
MaxLen=16



GetRegisteredApplications

public uint32 GetRegisteredApplications([IN]string SessionHandle[], [OUT]uint32 AppHandles[256])
Permission Information:
Permitted realms: ADMIN_SECURITY_STORAGE_REALM

General Information:
Returns a list of handles for ISV applications that at some point have registered with Intel(R) AMT and were not removed. Will return only those handles of applications that have the same VendorName as the current application.

Product Specific Usage:
If 'SessionHandle' parameter doesn't represent a valid session, a 'PT_STATUS_INVALID_HANDLE' (2053) value is returned.

Qualifiers:
-------------
ValueMap={0, 1}
Values={PT_STATUS_SUCCESS, PT_STATUS_INTERNAL_ERROR}


Parameters:
--------------
SessionHandle
General Information:
Hex String Session Handle

Qualifiers:
-------------
Required
IN
OctetString
MaxLen=16

AppHandles
General Information:
An array of application handles.

Qualifiers:
-------------
OUT



GetCurrentApplicationHandle

public uint32 GetCurrentApplicationHandle([IN]string SessionHandle[], [OUT]uint32 ApplicationHandle)
Permission Information:
Permitted realms: ADMIN_SECURITY_STORAGE_REALM

General Information:
Sent by a registered ISV application to retrieve its application handle.

Product Specific Usage:
If 'SessionHandle' parameter doesn't represent a valid session, a 'PT_STATUS_INVALID_HANDLE' (2053) value is returned.

Qualifiers:
-------------
ValueMap={0, 1}
Values={PT_STATUS_SUCCESS, PT_STATUS_INTERNAL_ERROR}


Parameters:
--------------
SessionHandle
General Information:
Hex String Session Handle

Qualifiers:
-------------
Required
IN
OctetString
MaxLen=16

ApplicationHandle
General Information:
The current application handle.

Qualifiers:
-------------
OUT



GetApplicationAttributes

public uint32 GetApplicationAttributes([IN]string SessionHandle[], [IN]uint32 ApplicationBeingRequested, [OUT]string VendorName, [OUT]string ApplicationName)
Permission Information:
Permitted realms: ADMIN_SECURITY_STORAGE_REALM

General Information:
Sent by a registered ISV application to get a listing of attributes for applications with the same vendor name. If no applications share the same vendor name, the function will return error code 10

Product Specific Usage:
If 'SessionHandle' parameter doesn't represent a valid session, a 'PT_STATUS_INVALID_HANDLE' (2053) value is returned.

Qualifiers:
-------------
ValueMap={0, 1, 10}
Values={PT_STATUS_SUCCESS, PT_STATUS_INTERNAL_ERROR, PT_STATUS_APPLICATION_DOES_NOT_EXIST}


Parameters:
--------------
SessionHandle
General Information:
Hex String Session Handle

Qualifiers:
-------------
Required
IN
OctetString
MaxLen=16

ApplicationBeingRequested
General Information:
The application handle whose attributes are being requested.

Qualifiers:
-------------
Required
IN

VendorName
General Information:
The name of the vendor.

Qualifiers:
-------------
OUT
MaxLen=64

ApplicationName
General Information:
The name of the ISV application.

Qualifiers:
-------------
OUT
MaxLen=64



RemoveApplication

public uint32 RemoveApplication([IN]string SessionHandle[])
Permission Information:
Permitted realms: ADMIN_SECURITY_STORAGE_REALM

General Information:
Un-registers an application and releases all allocated Intel(R) AMT storage resources associated with this ISV application. If the application owns any storage blocks, they are released, along with any associated permissions group resources. If the application is in the Partner Allocation Control List (PACL), the PACL entry is not removed. The application is removed from all permissions groups associated with storage blocks that are owned by other applications. The SessionHandle input is invalidated and should not be used in subsequent ISVS operations.

Product Specific Usage:
If 'SessionHandle' parameter doesn't represent a valid session, a 'PT_STATUS_INVALID_HANDLE' (2053) value is returned.

Qualifiers:
-------------
ValueMap={0, 1, 38}
Values={PT_STATUS_SUCCESS, PT_STATUS_INTERNAL_ERROR, PT_STATUS_FLASH_WRITE_LIMIT_EXCEEDED}


Parameters:
--------------
SessionHandle
General Information:
Hex String Session Handle

Qualifiers:
-------------
Required
IN
OctetString
MaxLen=16



GetBytesAvailable

public uint32 GetBytesAvailable([IN]string SessionHandle[], [OUT]uint32 BytesAvailable)
Permission Information:
Permitted realms: ADMIN_SECURITY_STORAGE_REALM

General Information:
Sent by a registered ISV application to determine the number of bytes currently available for it to allocate.

Product Specific Usage:
If 'SessionHandle' parameter doesn't represent a valid session, a 'PT_STATUS_INVALID_HANDLE' (2053) value is returned.

Qualifiers:
-------------
ValueMap={0, 1}
Values={PT_STATUS_SUCCESS, PT_STATUS_INTERNAL_ERROR}


Parameters:
--------------
SessionHandle
General Information:
Hex String Session Handle

Qualifiers:
-------------
Required
IN
OctetString
MaxLen=16

BytesAvailable
General Information:
The number of bytes available for the application, identified by SessionHandle, to allocate.

Qualifiers:
-------------
OUT



AllocateBlock

public uint32 AllocateBlock([IN]string SessionHandle[], [IN]uint32 BytesRequested, [IN]boolean BlockHidden, [IN]string BlockName, [OUT]uint32 BlockHandle)
Permission Information:
Permitted realms: ADMIN_SECURITY_STORAGE_REALM

General Information:
Sent by a registered ISV application to allocate a portion of the Intel(R) AMT non-volatile storage area, sets the block visibility and defines the block name. Once the block is allocated the application becomes the owner of the block.

Product Specific Usage:
If 'SessionHandle' parameter doesn't represent a valid session, a 'PT_STATUS_INVALID_HANDLE' (2053) value is returned.

An application will be able to allocate a few blocks until the maximum allowed.
Partner Application should be able to allocate Partner allowed size (MaxPartnerStorage in AMT_ThirdPartyStorageAdministrationService.GetGlobalStorageAttributes), when this limit is reached the next allocation for a Partner will come from the NonPartnerStorage Area.
Non-Partner Application should NOT be able to allocate from NonPartnerStorage area - if MaxNonPartnerStorage is reached, next allocation will fail.


Qualifiers:
-------------
ValueMap={0, 1, 11, 15, 38}
Values={PT_STATUS_SUCCESS, PT_STATUS_INTERNAL_ERROR, PT_STATUS_NOT_ENOUGH_STORAGE, PT_STATUS_INVALID_BYTE_COUNT, PT_STATUS_FLASH_WRITE_LIMIT_EXCEEDED}


Parameters:
--------------
SessionHandle
General Information:
Hex String Session Handle

Qualifiers:
-------------
Required
IN
OctetString
MaxLen=16

BytesRequested
General Information:
The number of bytes requested by the sender must be a multiple of the Storage MTU.

Qualifiers:
-------------
Required
IN

BlockHidden
General Information:
The value should be TRUE if the block should be hidden from other applications, FALSE otherwise.

Qualifiers:
-------------
Required
IN

BlockName
General Information:
The block name.

Qualifiers:
-------------
IN
MaxLen=32

BlockHandle
General Information:
The block handle that can be used to reference the block in subsequent operations.

Qualifiers:
-------------
OUT



DeallocateBlock

public uint32 DeallocateBlock([IN]string SessionHandle[], [IN]uint32 BlockHandle)
Permission Information:
Permitted realms: ADMIN_SECURITY_STORAGE_REALM

General Information:
Enables an application that owns an allocated block to return it back to the system.

Product Specific Usage:
If 'SessionHandle' parameter doesn't represent a valid session, a 'PT_STATUS_INVALID_HANDLE' (2053) value is returned.

Qualifiers:
-------------
ValueMap={0, 1, 13, 17}
Values={PT_STATUS_SUCCESS, PT_STATUS_INTERNAL_ERROR, PT_STATUS_BLOCK_DOES_NOT_EXIST, PT_STATUS_NOT_OWNER}


Parameters:
--------------
SessionHandle
General Information:
Hex String Session Handle

Qualifiers:
-------------
Required
IN
OctetString
MaxLen=16

BlockHandle
General Information:
Identifies the block to be de-allocated.

Qualifiers:
-------------
Required
IN



RemovePermissionsGroup

public uint32 RemovePermissionsGroup([IN]string SessionHandle[], [IN]uint32 BlockHandle, [IN]uint32 GroupHandle)
Permission Information:
Permitted realms: ADMIN_SECURITY_STORAGE_REALM

General Information:
Sent by a registered ISV application to remove a permissions group from a storage block. The sending application must be the owner of the block.

Product Specific Usage:
If 'SessionHandle' parameter doesn't represent a valid session, a 'PT_STATUS_INVALID_HANDLE' (2053) value is returned.

Qualifiers:
-------------
ValueMap={0, 1, 13, 17, 21, 38}
Values={PT_STATUS_SUCCESS, PT_STATUS_INTERNAL_ERROR, PT_STATUS_BLOCK_DOES_NOT_EXIST, PT_STATUS_NOT_OWNER, PT_STATUS_GROUP_DOES_NOT_EXIST, PT_STATUS_FLASH_WRITE_LIMIT_EXCEEDED}


Parameters:
--------------
SessionHandle
General Information:
Hex String Session Handle

Qualifiers:
-------------
Required
IN
OctetString
MaxLen=16

BlockHandle
General Information:
Identifies the storage block that owns the group specified by GroupHandle.

Qualifiers:
-------------
Required
IN

GroupHandle
General Information:
Identifies the permissions group being removed.

Qualifiers:
-------------
Required
IN



GetPermissionsGroupMembers

public uint32 GetPermissionsGroupMembers([IN]string SessionHandle[], [IN]uint32 BlockHandle, [IN]uint32 GroupHandle, [OUT]uint32 MemberHandles[256])
Permission Information:
Permitted realms: ADMIN_SECURITY_STORAGE_REALM

General Information:
Sent by any registered ISV application to get the list of handles of ISV applications which are members of a storage block permissions group. The members of a permissions group are registered ISV applications or generic application filters. Members of groups associated with hidden blocks will not be returned unless the originator of the call is the block owner.

Product Specific Usage:
If 'SessionHandle' parameter doesn't represent a valid session, a 'PT_STATUS_INVALID_HANDLE' (2053) value is returned.

Qualifiers:
-------------
ValueMap={0, 1, 13, 21}
Values={PT_STATUS_SUCCESS, PT_STATUS_INTERNAL_ERROR, PT_STATUS_BLOCK_DOES_NOT_EXIST, PT_STATUS_GROUP_DOES_NOT_EXIST}


Parameters:
--------------
SessionHandle
General Information:
Hex String Session Handle

Qualifiers:
-------------
Required
IN
OctetString
MaxLen=16

BlockHandle
General Information:
Identifies the storage block that owns the group specified by GroupHandle.

Qualifiers:
-------------
Required
IN

GroupHandle
General Information:
Identifies the permissions group.

Qualifiers:
-------------
Required
IN

MemberHandles
General Information:
An array of member handles.

Qualifiers:
-------------
OUT



GetAllocatedBlocks

public uint32 GetAllocatedBlocks([IN]string SessionHandle[], [IN]uint32 BlockOwnerApplication, [OUT]uint32 BlockHandles[256])
Permission Information:
Permitted realms: ADMIN_SECURITY_STORAGE_REALM

General Information:
Enables an application to get a listing of block handles for those blocks allocated by a given application. Blocks allocated with "Hidden" visibility attribute will not be returned by this command unless the command is issued by the block owner, even if the requesting application has been granted I/O access on them by the owner through a permissions group.

Product Specific Usage:
If 'SessionHandle' parameter doesn't represent a valid session, a 'PT_STATUS_INVALID_HANDLE' (2053) value is returned.

Qualifiers:
-------------
ValueMap={0, 1, 10}
Values={PT_STATUS_SUCCESS, PT_STATUS_INTERNAL_ERROR, PT_STATUS_APPLICATION_DOES_NOT_EXIST}


Parameters:
--------------
SessionHandle
General Information:
Hex String Session Handle

Qualifiers:
-------------
Required
IN
OctetString
MaxLen=16

BlockOwnerApplication
General Information:
The handle of the application whose block list is being retrieved.

Qualifiers:
-------------
Required
IN

BlockHandles
General Information:
An array of block handles.

Qualifiers:
-------------
OUT



RemovePermissionsGroupMembers

public uint32 RemovePermissionsGroupMembers([IN]string SessionHandle[], [IN]uint32 BlockHandle, [IN]uint32 GroupHandle, [IN]uint32 MemberHandles[256])
Permission Information:
Permitted realms: ADMIN_SECURITY_STORAGE_REALM

General Information:
Sent by a registered ISV application to remove member applications or generic application filters from a permissions group associated with a single block of ISV storage. The sending application must be the owner of the block.

Product Specific Usage:
If 'SessionHandle' parameter doesn't represent a valid session, a 'PT_STATUS_INVALID_HANDLE' (2053) value is returned.

Qualifiers:
-------------
ValueMap={0, 1, 10, 13, 17, 21, 22, 38}
Values={PT_STATUS_SUCCESS, PT_STATUS_INTERNAL_ERROR, PT_STATUS_APPLICATION_DOES_NOT_EXIST, PT_STATUS_BLOCK_DOES_NOT_EXIST, PT_STATUS_NOT_OWNER, PT_STATUS_GROUP_DOES_NOT_EXIST, PT_STATUS_INVALID_MEMBER_COUNT, PT_STATUS_FLASH_WRITE_LIMIT_EXCEEDED}


Parameters:
--------------
SessionHandle
General Information:
Hex String Session Handle

Qualifiers:
-------------
Required
IN
OctetString
MaxLen=16

BlockHandle
General Information:
Identifies the storage block that owns the group specified by GroupHandle.

Qualifiers:
-------------
Required
IN

GroupHandle
General Information:
Identifies the permissions group being modified.

Qualifiers:
-------------
Required
IN

MemberHandles
General Information:
An array of application handles or generic application filters.

Qualifiers:
-------------
Required
IN



GetBlockAttributes

public uint32 GetBlockAttributes([IN]string SessionHandle[], [IN]uint32 BlockHandle, [OUT]uint32 BlockSize, [OUT]boolean BlockHidden, [OUT]string BlockName)
Permission Information:
Permitted realms: ADMIN_SECURITY_STORAGE_REALM

General Information:
Enables an application to get a listing of attributes for a single allocated block. Blocks allocated with the "Hidden" visibility attribute will not appear in this command unless the command is issued by the block owner.

Product Specific Usage:
If 'SessionHandle' parameter doesn't represent a valid session, a 'PT_STATUS_INVALID_HANDLE' (2053) value is returned.

Qualifiers:
-------------
ValueMap={0, 1, 13}
Values={PT_STATUS_SUCCESS, PT_STATUS_INTERNAL_ERROR, PT_STATUS_BLOCK_DOES_NOT_EXIST}


Parameters:
--------------
SessionHandle
General Information:
Hex String Session Handle

Qualifiers:
-------------
Required
IN
OctetString
MaxLen=16

BlockHandle
General Information:
Identifies the block whose attributes are being requested.

Qualifiers:
-------------
Required
IN

BlockSize
General Information:
The size of the block in bytes.

Qualifiers:
-------------
OUT

BlockHidden
General Information:
TRUE if block is hidden from other applications, FALSE otherwise.

Qualifiers:
-------------
OUT

BlockName
General Information:
An optional name for the block, set by the owner.

Qualifiers:
-------------
OUT
MaxLen=32



AddPermissionsGroupMembers

public uint32 AddPermissionsGroupMembers([IN]string SessionHandle[], [IN]uint32 BlockHandle, [IN]uint32 GroupHandle, [IN]uint32 MemberHandles[256])
Permission Information:
Permitted realms: ADMIN_SECURITY_STORAGE_REALM

General Information:
Sent by a registered ISV application to add member applications or generic application filters to a permissions group associated with a single block of ISV storage. The sending application must be the owner of the block.

Product Specific Usage:
Special values for "MemberHandles' parameter (generic application filters):
0xFFFFFFF0 - All applications with the same VendorName, ApplicationName and EnterpriseName as the BlockOwner application.
0xFFFFFFF1 - All applications with the same VendorName and EnterpriseName as the BlockOwner application.

If 'SessionHandle' parameter doesn't represent a valid session, a 'PT_STATUS_INVALID_HANDLE' (2053) value is returned.


Qualifiers:
-------------
ValueMap={0, 1, 10, 13, 17, 21, 22, 38}
Values={PT_STATUS_SUCCESS, PT_STATUS_INTERNAL_ERROR, PT_STATUS_APPLICATION_DOES_NOT_EXIST, PT_STATUS_BLOCK_DOES_NOT_EXIST, PT_STATUS_NOT_OWNER, PT_STATUS_GROUP_DOES_NOT_EXIST, PT_STATUS_INVALID_MEMBER_COUNT, PT_STATUS_FLASH_WRITE_LIMIT_EXCEEDED}


Parameters:
--------------
SessionHandle
General Information:
Hex String Session Handle

Qualifiers:
-------------
Required
IN
OctetString
MaxLen=16

BlockHandle
General Information:
Identifies the storage block that owns the group specified by GroupHandle.

Qualifiers:
-------------
Required
IN

GroupHandle
General Information:
Identifies the permissions group being modified.

Qualifiers:
-------------
Required
IN

MemberHandles
General Information:
An array of application handles or generic application filters.

Qualifiers:
-------------
Required
IN



UnlockBlock

public uint32 UnlockBlock([IN]string SessionHandle[], [IN]uint32 BlockHandle)
Permission Information:
Permitted realms: ADMIN_SECURITY_STORAGE_REALM

General Information:
Enables an application to remove a lock from a block of non-volatile memory so that other applications may access the allocated block for read or write operations. The sending application must have at least read permissions for the block. An application can not unlock a block which was locked by another application.

Product Specific Usage:
If 'SessionHandle' parameter doesn't represent a valid session, a 'PT_STATUS_INVALID_HANDLE' (2053) value is returned.

Qualifiers:
-------------
ValueMap={0, 1, 13, 16, 18, 19}
Values={PT_STATUS_SUCCESS, PT_STATUS_INTERNAL_ERROR, PT_STATUS_BLOCK_DOES_NOT_EXIST, PT_STATUS_NOT_PERMITTED, PT_STATUS_BLOCK_LOCKED_BY_OTHER, PT_STATUS_BLOCK_NOT_LOCKED}


Parameters:
--------------
SessionHandle
General Information:
Hex String Session Handle

Qualifiers:
-------------
Required
IN
OctetString
MaxLen=16

BlockHandle
General Information:
Identifies the allocated block of ISV storage being unlocked.

Qualifiers:
-------------
Required
IN



SetPermissionsGroupName

public uint32 SetPermissionsGroupName([IN]string SessionHandle[], [IN]uint32 BlockHandle, [IN]uint32 GroupHandle, [IN]string GroupName)
Permission Information:
Permitted realms: ADMIN_SECURITY_STORAGE_REALM

General Information:
Sent by a registered ISV application to set the name of a storage block permissions group. The sending application must be the owner of the block.

Product Specific Usage:
If 'SessionHandle' parameter doesn't represent a valid session, a 'PT_STATUS_INVALID_HANDLE' (2053) value is returned.

Qualifiers:
-------------
ValueMap={0, 1, 13, 17, 21, 38}
Values={PT_STATUS_SUCCESS, PT_STATUS_INTERNAL_ERROR, PT_STATUS_BLOCK_DOES_NOT_EXIST, PT_STATUS_NOT_OWNER, PT_STATUS_GROUP_DOES_NOT_EXIST, PT_STATUS_FLASH_WRITE_LIMIT_EXCEEDED}


Parameters:
--------------
SessionHandle
General Information:
Hex String Session Handle

Qualifiers:
-------------
Required
IN
OctetString
MaxLen=16

BlockHandle
General Information:
Identifies the storage block that owns the group specified by GroupHandle.

Qualifiers:
-------------
Required
IN

GroupHandle
General Information:
Identifies the permissions group whose name is being modified.

Qualifiers:
-------------
Required
IN

GroupName
General Information:
The name assigned to the permissions group.

Qualifiers:
-------------
Required
IN
MaxLen=16



GetTimeoutValues

public uint32 GetTimeoutValues([OUT]uint32 RegistrationTimeout, [OUT]uint32 LockTimeout)
Permission Information:
Permitted realms: ADMIN_SECURITY_STORAGE_REALM

General Information:
Sent by an ISV application to get the timeout values used by the Intel(R) AMT device for idle registered applications and idle locked blocks.

Qualifiers:
-------------
ValueMap={0, 1}
Values={PT_STATUS_SUCCESS, PT_STATUS_INTERNAL_ERROR}


Parameters:
--------------
RegistrationTimeout
General Information:
Time, in seconds, after which an idle registered application is automatically un-registered by the Intel(R) AMT device. The actions which are performed after the timeout has elapsed are similar to the actions which are performed by the UnregisterApplication method.

Qualifiers:
-------------
OUT

LockTimeout
General Information:
Time, in seconds, after which an idle locked block is automatically unlocked by the Intel(R) AMT device to avoid deadlocks. The following operations reset the expiration timer of the block they operate on: ReadBlock, WriteBlock, LockBlock..

Qualifiers:
-------------
OUT



ReadBlock

public uint32 ReadBlock([IN]string SessionHandle[], [IN]uint32 BlockHandle, [IN]uint32 ByteOffset, [IN]uint32 ByteCount, [OUT]uint8 Data[])
Permission Information:
Permitted realms: ADMIN_SECURITY_STORAGE_REALM

General Information:
Sent by a registered ISV application to retrieve data previously stored in a block of local nonvolatile memory. The data is transparent to Intel(R) AMT and is treated as an unformatted sequence of bytes. The requesting application must have read permissions for the block.

Product Specific Usage:
Additional Notes:
1) In Intel AMT Release 6.0 and later releases,Data parameter is restricted to a maximum of 4096 bytes
2) If 'SessionHandle' parameter doesn't represent a valid session, a 'PT_STATUS_INVALID_HANDLE' (2053) value is returned.

Qualifiers:
-------------
ValueMap={0, 1, 13, 14, 15, 16, 18}
Values={PT_STATUS_SUCCESS, PT_STATUS_INTERNAL_ERROR, PT_STATUS_BLOCK_DOES_NOT_EXIST, PT_STATUS_INVALID_BYTE_OFFSET, PT_STATUS_INVALID_BYTE_COUNT, PT_STATUS_NOT_PERMITTED, PT_STATUS_BLOCK_LOCKED_BY_OTHER}


Parameters:
--------------
SessionHandle
General Information:
Hex String Session Handle

Qualifiers:
-------------
Required
IN
OctetString
MaxLen=16

BlockHandle
General Information:
Identifies the block from which data will be retrieved.

Qualifiers:
-------------
Required
IN

ByteOffset
General Information:
The byte offset - relative to the first byte of the block - from which the first byte of Data is to be retrieved.

Qualifiers:
-------------
Required
IN

ByteCount
General Information:
The number of bytes to read.

Qualifiers:
-------------
Required
IN

Data
General Information:
Binary Data

Qualifiers:
-------------
OUT
OctetString



WriteBlock

public uint32 WriteBlock([IN]string SessionHandle[], [IN]uint32 BlockHandle, [IN]uint32 ByteOffset, [IN]uint8 Data[], [OUT]uint32 BytesWritten)
Permission Information:
Permitted realms: ADMIN_SECURITY_STORAGE_REALM

General Information:
Enables an application with proper permissions to write data to an allocated block. The data is transparent to Intel(R) AMT and is stored without modification.

Product Specific Usage:
Additional Notes:
1) In Intel AMT Release 6.0 and later releases,Data parameter is restricted to a maximum of 4096 bytes
2) If 'SessionHandle' parameter doesn't represent a valid session, a 'PT_STATUS_INVALID_HANDLE' (2053) value is returned.

Qualifiers:
-------------
ValueMap={0, 1, 13, 14, 15, 16, 18, 38, 2075}
Values={PT_STATUS_SUCCESS, PT_STATUS_INTERNAL_ERROR, PT_STATUS_BLOCK_DOES_NOT_EXIST, PT_STATUS_INVALID_BYTE_OFFSET, PT_STATUS_INVALID_BYTE_COUNT, PT_STATUS_NOT_PERMITTED, PT_STATUS_BLOCK_LOCKED_BY_OTHER, PT_STATUS_FLASH_WRITE_LIMIT_EXCEEDED, PT_STATUS_AUDIT_FAIL}


Parameters:
--------------
SessionHandle
General Information:
Hex String Session Handle

Qualifiers:
-------------
Required
IN
OctetString
MaxLen=16

BlockHandle
General Information:
Identifies the block in which Data will be stored.

Qualifiers:
-------------
Required
IN

ByteOffset
General Information:
The byte offset - relative to the first byte of the block - at which the first byte of Data is to be stored.

Qualifiers:
-------------
Required
IN

Data
General Information:
Binary Data

Qualifiers:
-------------
Required
IN
OctetString

BytesWritten
General Information:
The number of bytes, from Data that were actually stored by this operation. Note: This value is valid on any return status, it may indicate that partial data was modified although return value is not PT_STATUS_SUCCESS.

Qualifiers:
-------------
OUT



SetPermissionsGroupPermissions

public uint32 SetPermissionsGroupPermissions([IN]string SessionHandle[], [IN]uint32 BlockHandle, [IN]uint32 GroupHandle, [IN]uint32 Permissions)
Permission Information:
Permitted realms: ADMIN_SECURITY_STORAGE_REALM

General Information:
Sent by a registered ISV application to set the permission flags for a storage block permissions group. The sending application must be the owner of the block.

Product Specific Usage:
If 'SessionHandle' parameter doesn't represent a valid session, a 'PT_STATUS_INVALID_HANDLE' (2053) value is returned.

Qualifiers:
-------------
ValueMap={0, 1, 13, 17, 20, 21, 38}
Values={PT_STATUS_SUCCESS, PT_STATUS_INTERNAL_ERROR, PT_STATUS_BLOCK_DOES_NOT_EXIST, PT_STATUS_NOT_OWNER, PT_STATUS_INVALID_GROUP_PERMISSIONS, PT_STATUS_GROUP_DOES_NOT_EXIST, PT_STATUS_FLASH_WRITE_LIMIT_EXCEEDED}


Parameters:
--------------
SessionHandle
General Information:
Hex String Session Handle

Qualifiers:
-------------
Required
IN
OctetString
MaxLen=16

BlockHandle
General Information:
Identifies the storage block that owns the group specified by GroupHandle.

Qualifiers:
-------------
Required
IN

GroupHandle
General Information:
Identifies the permissions group whose permissions are being modified.

Qualifiers:
-------------
Required
IN

Permissions
General Information:
The permission flag settings to be applied. A value of 1 indicates read permissions, a value of 2 indicates read-write permissions.

Qualifiers:
-------------
Required
IN



SetBlockVisibility

public uint32 SetBlockVisibility([IN]string SessionHandle[], [IN]uint32 BlockHandle, [IN]boolean BlockHidden)
Permission Information:
Permitted realms: ADMIN_SECURITY_STORAGE_REALM

General Information:
Enables an application that owns an allocated memory block to set the block visibility attribute. When a memory block is hidden it will not be listed when other applications call GetAllocatedBlocks with the handle of the block owner. Other applications which attempt to perform operations on a hidden block will recieve the error PT_STATUS_BLOCK_DOES_NOT_EXIST. Applications which are members of a permissions-group associated with a "hidden block" are still granted the access permission for the block (e.g. read the data in the block). In addition to setting the block visibility, the owner must not assign I/O access permissions to other applications if it wishes to completely deny access to the block's data and attributes.

Product Specific Usage:
If 'SessionHandle' parameter doesn't represent a valid session, a 'PT_STATUS_INVALID_HANDLE' (2053) value is returned.

Qualifiers:
-------------
ValueMap={0, 1, 13, 17, 38}
Values={PT_STATUS_SUCCESS, PT_STATUS_INTERNAL_ERROR, PT_STATUS_BLOCK_DOES_NOT_EXIST, PT_STATUS_NOT_OWNER, PT_STATUS_FLASH_WRITE_LIMIT_EXCEEDED}


Parameters:
--------------
SessionHandle
General Information:
Hex String Session Handle

Qualifiers:
-------------
Required
IN
OctetString
MaxLen=16

BlockHandle
General Information:
Identifies the block being modified.

Qualifiers:
-------------
Required
IN

BlockHidden
General Information:
If TRUE, block will be hidden from other applications; if FALSE, block will be visible to other applications.

Qualifiers:
-------------
Required
IN



GetPermissionsGroupAttributes

public uint32 GetPermissionsGroupAttributes([IN]string SessionHandle[], [IN]uint32 BlockHandle, [IN]uint32 GroupHandle, [OUT]string Name, [OUT]uint32 Permissions)
Permission Information:
Permitted realms: ADMIN_SECURITY_STORAGE_REALM

General Information:
Sent by a registered ISV application to get the attributes for a single permissions group. Only the block owner may request this operation for a group that is associated with a hidden block. Any registered application may request this operation for a group that is associated with a visible block.

Product Specific Usage:
If 'SessionHandle' parameter doesn't represent a valid session, a 'PT_STATUS_INVALID_HANDLE' (2053) value is returned.

Qualifiers:
-------------
ValueMap={0, 1, 13, 21}
Values={PT_STATUS_SUCCESS, PT_STATUS_INTERNAL_ERROR, PT_STATUS_BLOCK_DOES_NOT_EXIST, PT_STATUS_GROUP_DOES_NOT_EXIST}


Parameters:
--------------
SessionHandle
General Information:
Hex String Session Handle

Qualifiers:
-------------
Required
IN
OctetString
MaxLen=16

BlockHandle
General Information:
Identifies the storage block that owns the group specified by GroupHandle.

Qualifiers:
-------------
Required
IN

GroupHandle
General Information:
Identifies the permissions group whose attributes are being requested.

Qualifiers:
-------------
Required
IN

Name
General Information:
Name of the permissions group.

Qualifiers:
-------------
OUT
MaxLen=16

Permissions
General Information:
The permission flags for this group. A value of 1 indicates read permissions, a value of 2 indicates read-write permissions.

Qualifiers:
-------------
OUT



GetPermissionsGroups

public uint32 GetPermissionsGroups([IN]string SessionHandle[], [IN]uint32 BlockHandle, [OUT]uint32 GroupHandles[256])
Permission Information:
Permitted realms: ADMIN_SECURITY_STORAGE_REALM

General Information:
Sent by a registered ISV application to get a list of handles of the permissions groups currently defined for a block of ISV storage. Only the block owner may request this operation for a hidden block. Any registered application may request this operation for a visible block.

Product Specific Usage:
If 'SessionHandle' parameter doesn't represent a valid session, a 'PT_STATUS_INVALID_HANDLE' (2053) value is returned.

Qualifiers:
-------------
ValueMap={0, 1, 13}
Values={PT_STATUS_SUCCESS, PT_STATUS_INTERNAL_ERROR, PT_STATUS_BLOCK_DOES_NOT_EXIST}


Parameters:
--------------
SessionHandle
General Information:
Hex String Session Handle

Qualifiers:
-------------
Required
IN
OctetString
MaxLen=16

BlockHandle
General Information:
Identifies the storage block whose permissions groups are being requested.

Qualifiers:
-------------
Required
IN

GroupHandles
General Information:
An array of group handles.

Qualifiers:
-------------
OUT



SetBlockName

public uint32 SetBlockName([IN]string SessionHandle[], [IN]uint32 BlockHandle, [IN]string BlockName)
Permission Information:
Permitted realms: ADMIN_SECURITY_STORAGE_REALM

General Information:
Enables an application that owns an allocated block to modify the block's name.

Product Specific Usage:
If 'SessionHandle' parameter doesn't represent a valid session, a 'PT_STATUS_INVALID_HANDLE' (2053) value is returned.

Qualifiers:
-------------
ValueMap={0, 1, 13, 17, 38}
Values={PT_STATUS_SUCCESS, PT_STATUS_INTERNAL_ERROR, PT_STATUS_BLOCK_DOES_NOT_EXIST, PT_STATUS_NOT_OWNER, PT_STATUS_FLASH_WRITE_LIMIT_EXCEEDED}


Parameters:
--------------
SessionHandle
General Information:
Hex String Session Handle

Qualifiers:
-------------
Required
IN
OctetString
MaxLen=16

BlockHandle
General Information:
Identifies the allocated block of ISV storage being named.

Qualifiers:
-------------
Required
IN

BlockName
General Information:
The name being assigned to the storage block.

Qualifiers:
-------------
Required
IN
MaxLen=32



AddPermissionsGroup

public uint32 AddPermissionsGroup([IN]string SessionHandle[], [IN]uint32 BlockHandle, [IN]uint32 GroupPermissions, [IN]string GroupName, [OUT]uint32 GroupHandle)
Permission Information:
Permitted realms: ADMIN_SECURITY_STORAGE_REALM

General Information:
Sent by a registered ISV application to associate a permissions group with a block of ISV storage, set its initial permissions value, and define its name. Each permissions group has its own set of permissions. Each member of a permission group is an application with a unique Application Handle. A permissions group can be used to establish different storage roles for different applications from the same ISV. Each permissions group is associated with exactly one block. The sending application must be the owner of the block.

Product Specific Usage:
If 'SessionHandle' parameter doesn't represent a valid session, a 'PT_STATUS_INVALID_HANDLE' (2053) value is returned.

GroupPermissions parameter values: read=1 and r+w=2

Qualifiers:
-------------
ValueMap={0, 1, 13, 17, 20, 23, 38}
Values={PT_STATUS_SUCCESS, PT_STATUS_INTERNAL_ERROR, PT_STATUS_BLOCK_DOES_NOT_EXIST, PT_STATUS_NOT_OWNER, PT_STATUS_INVALID_GROUP_PERMISSIONS, PT_STATUS_MAX_LIMIT_REACHED, PT_STATUS_FLASH_WRITE_LIMIT_EXCEEDED}


Parameters:
--------------
SessionHandle
General Information:
Hex String Session Handle

Qualifiers:
-------------
Required
IN
OctetString
MaxLen=16

BlockHandle
General Information:
Identifies the storage block which the permissions group will be associated to.

Qualifiers:
-------------
Required
IN

GroupPermissions
General Information:
The permission flags for this group, which only apply to this storage block.

Qualifiers:
-------------
Required
IN

GroupName
General Information:
An optional name that the sender can assign to this group.

Qualifiers:
-------------
IN
MaxLen=16

GroupHandle
General Information:
A group handle generated by Intel(R) AMT - used to reference the group in other Intel(R) AMT non-volatile storage operations.

Qualifiers:
-------------
OUT



LockBlock

public uint32 LockBlock([IN]string SessionHandle[], [IN]uint32 BlockHandle)
Permission Information:
Permitted realms: ADMIN_SECURITY_STORAGE_REALM

General Information:
Sent by a registered ISV application to lock a block of non-volatile memory, thereby preventing other applications from reading or writing the block's data. If the request succeeds, the requesting application will own the block's lock until it explicitly releases it with an UnlockBlock request, or until an inactivity timer expires, whichever occurs first. Also, if the application session terminates, the lock is also removed. The lock does not prevent the block from being de-allocated. If the owner of a block de-allocates it while another application holds the lock, the lock is destroyed with the block. An application can not lock a block while it is already locked by another application. The sending application must have at least read permission for the block. As a lock operation following a lock operation performed on the same block, executed by the same application would succeed, this operation can not be used to synchronize operation between multiple application threads.

Product Specific Usage:
If 'SessionHandle' parameter doesn't represent a valid session, a 'PT_STATUS_INVALID_HANDLE' (2053) value is returned.

Qualifiers:
-------------
ValueMap={0, 1, 13, 16, 18}
Values={PT_STATUS_SUCCESS, PT_STATUS_INTERNAL_ERROR, PT_STATUS_BLOCK_DOES_NOT_EXIST, PT_STATUS_NOT_PERMITTED, PT_STATUS_BLOCK_LOCKED_BY_OTHER}


Parameters:
--------------
SessionHandle
General Information:
Hex String Session Handle

Qualifiers:
-------------
Required
IN
OctetString
MaxLen=16

BlockHandle
General Information:
Identifies the allocated block of ISV storage being locked.

Qualifiers:
-------------
Required
IN



GetWriteEraseLimit

public uint32 GetWriteEraseLimit([OUT]uint32 WriteEraseLimit)
Permission Information:
Permitted realms: ADMIN_SECURITY_STORAGE_REALM

General Information:
Returns the number of currently available write operations.

Qualifiers:
-------------
ValueMap={0, 1}
Values={PT_STATUS_SUCCESS, PT_STATUS_INTERNAL_ERROR}


Parameters:
--------------
WriteEraseLimit
General Information:
This value indicates the number of write operations that are guaranteed to succeed before the Flash wear-out protection mechanism will disable subsequent write operations.

Qualifiers:
-------------
OUT



Get

public  Get([OUT]AMT_ThirdPartyDataStorageService Instance)
Permission Information:
Permitted realms: ADMIN_SECURITY_STORAGE_REALM

General Information:
Gets the representation of the instance

Pull

public  Pull([IN]String EnumerationContext, [IN]String MaxElements)
Permission Information:
All users permitted to use method, only instances to whom the user has permissions will be returned

General Information:
Pulls instances of this class, following an Enumerate operation

Enumerate

public  Enumerate()
Permission Information:
All users permitted to use method

General Information:
Enumerates the instances of this class

Release

public  Release([IN]String EnumerationContext)
Permission Information:
All users permitted to use method

General Information:
Releases an enumeration context

Copyright © 2006-2022, Intel Corporation. All rights reserved.