This API is useful for two instances. First, you can use this to reduce memory usage if you know that you do not need any ISmbiosItem(s) out of the table for a while. The cached ISmbiosItem(s) will be deleted and then re-populated on demand when queries are made for them.

Next, this API is used internally when reReadTable() is called to clear out all old ISmbiosItems.

Warning:

All previous references or pointers to ISmbiosItem objects created from this table become invalid and attempts to access them will cause undefined behaviour (most likely your code will crash.)

XML Enhanced indexing operator. You can pass in a string description of the table and the SmbiosTable class will look up the string in an XML description file to find out the item number that corresponds with that text.

The nice extension that is supplied by the XML interface is that all Item access to the item returned are type checked against the XML, so you cannot, for example, access an 8-bit number as a 16-bit number.

The operator[] method returns an iterator that can be used to iterator over all items in the table of the supplied type. So, for example, if you want to perform an operation on all SMBIOS type 0x01 (System Information Block) structures, just index the table object using the [] operator.

XML Enhanced indexing operator. You can pass in a string description of the table and the SmbiosTable class will look up the string in an XML description file to find out the item number that corresponds with that text.

The nice extension that is supplied by the XML interface is that all Item access to the item returned are type checked against the XML, so you cannot, for example, access an 8-bit number as a 16-bit number.

The operator[] method returns an iterator that can be used to iterator over all items in the table of the supplied type. So, for example, if you want to perform an operation on all SMBIOS type 0x01 (System Information Block) structures, just index the table object using the [] operator.

The operator[] method returns an iterator that can be used to iterator over all items in the table of the supplied type. So, for example, if you want to perform an operation on all SMBIOS type 0x01 (System Information Block) structures, just index the table object using the [] operator.

The operator[] method returns an iterator that can be used to iterator over all items in the table of the supplied type. So, for example, if you want to perform an operation on all SMBIOS type 0x01 (System Information Block) structures, just index the table object using the [] operator.

Any new item generated by the table will not have workarounds applied to them. However, any previously-existing items that have had workarounds applied still exist. If this is not what you want, recommend calling clearItemCache() prior to calling rawMode().

Not yet implemented This API is intended to be used in the instance where SMBIOS data is not static, ie. BIOS updates SMBIOS information while the system is running.

Most systems have static tables that do not change after the system boots. Systems have been proposed to update this information at runtime inside system SMI calls. This API is put into place to prepare for this possibility.

Warning:

All previous references or pointers to ISmbiosItem objects created from this table become invalid and attempts to access them will cause undefined behaviour (most likely your code will crash.)