Пример #1
0
        private static void Test_QueryStockholderInfo(RushQuantTradeClient client)
        {
            Console.WriteLine("******* QueryStockholderInfo BEGIN *********\n");

            QueryStockholderInfoInput input = new QueryStockholderInfoInput()
            {
            };
            QueryStockholderInfoOutput output = client.QueryStockholderInfo(input);

            Console.WriteLine($"{"交易所名称",-20}\t{"股东代码",-20}");
            for (int i = 0; i < output.Count; i++)
            {
                QueryStockholderInfoOutputItem item = output.Items[i];
                Console.WriteLine($"{item.ExchangeId,-26}\t{item.StockholderCode,-26}");
            }
            Console.WriteLine("******* QueryStockholderInfo END *********\n");
            Console.WriteLine();
        }
        public unsafe QueryStockholderInfoOutput QueryStockholderInfo(QueryStockholderInfoInput input)
        {
            if (input == null)
            {
                throw new ArgumentNullException(nameof(input));
            }

            byte *pInput  = stackalloc byte[QueryStockholderInfoInput.GetSize()];
            byte *pOutput = null;

            input.WriteTo(pInput);
            int result = UnsafeNativeMethods.rushquant_trade_QueryStockholderInfo(this._accountId, pInput, ref pOutput);
            QueryStockholderInfoOutput output = new QueryStockholderInfoOutput();

            output.ReadFrom(pOutput);
            UnsafeNativeMethods.rushquant_free(pOutput);
            if (result != ErrorCode.Success)
            {
                throw new RushQuantClientException(result, output.ErrorMessage);
            }

            return(output);
        }