ReqUserLogin { CSecurityFtdcReqUserLoginField myreq = CSecurityFtdcReqUserLoginField(); memset(&myreq, 0, sizeof(myreq)); getChar(req, "MacAddress", myreq.MacAddress); getChar(req, "RandCode", myreq.RandCode); getChar(req, "UserProductInfo", myreq.UserProductInfo); getChar(req, "UserID", myreq.UserID); getChar(req, "AuthCode", myreq.AuthCode); getChar(req, "TradingDay", myreq.TradingDay); getChar(req, "InterfaceProductInfo", myreq.InterfaceProductInfo); getChar(req, "BrokerID", myreq.BrokerID); getChar(req, "ClientIPAddress", myreq.ClientIPAddress); getChar(req, "OneTimePassword", myreq.OneTimePassword); getChar(req, "ProtocolInfo", myreq.ProtocolInfo); getChar(req, "Password", myreq.Password); getChar(req, "HDSerialNumber", myreq.HDSerialNumber); int i = this->api->ReqUserLogin(&myreq, nRequestID); return i; }; ReqUserLogout { CSecurityFtdcUserLogoutField myreq = CSecurityFtdcUserLogoutField(); memset(&myreq, 0, sizeof(myreq)); getChar(req, "UserID", myreq.UserID); getChar(req, "BrokerID", myreq.BrokerID); int i = this->api->ReqUserLogout(&myreq, nRequestID); return i; };