This command returns the available size of the VHL-file whose ID is specified by the ID parameter. Two values are returned: the length of the VHL-file ( Len ) and the size of a single block ( BlockSize ).

The size of the returned value Len indicates the maximum number of bytes which can be read/written with the VHL.Read or VHL.Write commands. Attempting to read or write a larger amount of Bytes with VHL.Read or VHL.Write will generate an error status code ( VHL.ErrRead or VHL.ErrWrite ).

If the card system organizes its memory in blocks, BlockSize returns the size of a single block. If the memory is not organized in blocks, 1 will be returned. 0 will be returned if the block sizes are not unique (currently, there is no such card system in existence).

This command can only be executed if a card is selected, e.g. with a previous call of VHL.Select. The returned VHL-file size corresponds to the reader's configuration values. It does not necessarily guarantee that a file of the returned sized can be read on the card. In some cases, the actual size of the card may be smaller than the returned VHL-file size.


Parameters (request frame)

Name Type/Size Description
Id Integer (8 bits)

ID of VHL-file in configuration memory (starting at 0).

To keep your application ConfigEditor compatible do not hardcode this ID in your application, but resolve it from a name via VHL.ResolveFilename.

Returned values (response frame)

Name Type/Size Description
Len Integer (16 bits) Size of VHL-file in bytes.
BlockSize Integer (8 bits) Size of a single block.