# Hasp.KeyInfo XML Tags

You can request information on the connected Sentinel protection key with the GetSessionInfo method by specifying one of the following:

> Hasp.KeyInfo predefined alias in the function call.

>`<haspformat root="keyinfo">` in the format parameter of the function call. (For more information, see Using XML Tags to Define Format.)

The table below describes the XML elements used by the API to format the returned information.

Parent Tag | Child Tag | Description
--- | --- | ---
None - root | `<hasp_info>` | Root element for all retrieved information using the GetSessionInfo method
`<hasp_info>` | `<keyspec>` | Element that contains information that is specific to the accessed key
`<keyspec>` | `<keycaps>` | Element that contains information on the capabilities of the key
`<keycaps>` | `<hasphl>` | Indicates that the key is compatible with HASP HL.
`<keycaps>` | `<sentinelhl>` | Indicates that the key is a Sentinel HL key (not a HASP HL key).
`<keycaps>` | `<driverless>` | Indicates that the key does not require Sentinel drivers.
`<keycaps>` | `<haspsl>` | Indicates that the key is a Sentinel SL key.
`<keycaps>` | `<haspsl-adminmode>` | Indicates that the key is a Sentinel SL AdminMode key.
`<keycaps>` | `<haspsl-usermode>` | Indicates that the key is a Sentinel SL UserMode key.
`<keycaps>` | `<aes>` | Indicates the key has AES encryption capabilities
`<keycaps>` | `<rtc>` | Indicates the key has a real-time clock
`<keycaps>` | `<newintf>` | Indicates firmware update capability
`<keycaps>` | `<vclock>` | Indicates that the key supports V-Clock functionality. >For a Sentinel SL key - always present. >For a Sentinel HL (HASP configuration) key - always absent. >For a Sentinel HL(Driverless configuration) key - always present, regardless of whether V-Clock has been enabled.
`<hasp>` | `<haspid>` | Indicates the Key ID number
`<hasp>` | `<nethasptype>` | Returns a string that indicates the Sentinel protection key type. Possible values are: >For a standalone key (not a network key): 0 >For a Net/NetTime 10 key: 10 >For a Net/NetTime 50 key: 50 >For a Net/NetTime 250+ key: unlimited
`<hasp>` | `<key_model>` | Returns a string that indicates the name of the Sentinel protection key type.
`<hasp>` | `<memoryinfo>` | Element that contains information on memory block within key
`<memoryinfo>` | `<name>` | Type of memory block. The type can be read-only or read/write. For dynamic memory, the type can also be read/write-once. (When the Licensing API lib is from Sentinel LDK v.6.4 or earlier, the type for read/write-once memory is shown as unknown.) The type for read/write-once memory becomes read-only memory after it is written to successfully on the end user's computer. NOTE Dynamic memory is compatible with the License Manager from Sentinel LDK v.7.1 or later. When the Licensing API lib is from Sentinel LDK v.7.0 or earlier, the type for the written memory block continues to be shown as read/write-once (or unknown) until the Sentinel HL key is disconnected and reconnected. Thales recommends that you use the Licensing API lib from Sentinel LDK 7.1 or later to work with dynamic memory.
`<memoryinfo>` | `<fileid>` | File ID for the memory block. Possible values are: >For the default read-only memory file: 65525 >For the default read/write memory file: 65524 >For a dynamic memory file: a value in the range of 1 through 65471
`<memoryinfo>` | `<size>` | Size of memory block
`<keyspec>` | `<hasp>` | Elements that are specific to Sentinel protection keys
`<keyspec>` | `<port>` | Element indicating where the key is connected
`<port>` (for a local HL key) | `<type>` | For all hardware keys, the type is USB. NOTE For local SL keys, the <port> section is not provided.
`<address>` | Ignore the address value for local HL keys.
`<port>` (for a remote protection key) | `<protocol>` | For remote protection keys, the protocol is IP.
`<address>` | IP address of the remote License Manager.

## Related Topics

About XML Tags