Get Row commands request the values of all the attributes in a particular group. Because groups can be a scalar set of attributes or can be arranged as tables-arrays of sets of attributes-it is more convenient to consider them as rows. Groups used as tables include keys to specify the desired instance (or row) of the group.
There are three Get Row commands:
DmiGetRowCmd
For a description of the DmiGetRowReq block used to issue these Set commands, read DmiGetRowReq Command Block.
Note for Component Developers Note that the command can be asking for key values or for attribute values. To determine which, the component instrumentation must compare the iGroupKeyCount field of DmiGetRowReq to the iGroupKeyCount field of DmiGetRowCnf. If the key count in the confirm block is less than the key count of the request block, the service layer is requesting that the next key value be returned.
The key value to return for the DmiGetFirstRowCmd command is the value of the next key attribute in the first row of the table. For the DmiGetNextRowCmd command, the key values in the DmiGetRowReq structure should be inspected to determine the current row. Then the value in the succeeding row should be returned.
The DmiGetRowCnf structure is always built by the service layer, and the value of oGroupKeyList specifies the start of DmiGroupKeyData structures. The pCnfBuf member of DmiCiCommand points to the position in the confirm buffer where the key value should be placed. The value of iGroupKeyCount should be incremented, but the iCnfCount member of the DmiMgmtCommand should not.