The syntax for using DmiCiControl is:

typedef struct {
   union {
      struct DmiMgmtCommand         dmiMgmtCommand;
      struct DmiGetAttributeReq     dmiGetAttributeReq;
      struct DmiSetAttributeReq     dmiSetAttributeReq;
      struct DmiGetRowReq           dmiGetRowReq;
      char                          requestBuffer[1];
   } _FAR                           *pRequestBuffer;
   union {
        struct DmiGetAttributeCnf   dmiGetAttributeCnf[1];
        struct DmiGetRowCnf         dmiGetRowCnf;
        char                        confirmBuffer[1];
   } _FAR                *pConfirmBuffer;
   DMI_FUNC3_OUT          DmiConfirmFunc;
   enum CiBoolean         ciCancelFlag;
   struct DmiConfirm      dmiConfirm;
   DmiCiAttribute_t _FAR *ciKeyList;
  DMI_UNSIGNED                MaxKeyCount;
    CI_FUNC_IN1           CiGetAttribute;
    CI_FUNC_IN1           CiGetNextAttribute;
    CI_FUNC_IN2           CiReleaseAttribute;
    CI_FUNC_IN2           CiReserveAttribute;
    CI_FUNC_IN2           CiSetAttribute;
} DmiCiControl_t