Lando.LowLevel.LowLevelCardReader.GetCardReadersList C# (CSharp) Method

GetCardReadersList() public method

Return card readers list.
public GetCardReadersList ( string &readersList ) : Lando.LowLevel.ResultsTypes.OperationResult
readersList string
return Lando.LowLevel.ResultsTypes.OperationResult
        public OperationResult GetCardReadersList(out string[] readersList)
        {
            var resourceManagerContext = EstablishContextIfNotEstablished();

            readersList = new string[0];

            OperationResult result;
            int sizeOfReadersListStructure = 0;

            int returnCode = WinscardWrapper.SCardListReaders(resourceManagerContext, null, null, ref sizeOfReadersListStructure);

            if (returnCode != WinscardWrapper.SCARD_S_SUCCESS)
            {
                result = ReturnCodeManager.GetErrorMessage(returnCode);
            }
            else
            {
                // Fill reader list
                var cardReadersList = new byte[sizeOfReadersListStructure];
                returnCode = WinscardWrapper.SCardListReaders(resourceManagerContext, null, cardReadersList, ref sizeOfReadersListStructure);

                if (returnCode != WinscardWrapper.SCARD_S_SUCCESS)
                {
                    result = ReturnCodeManager.GetErrorMessage(returnCode);
                }
                else
                {
                    // Convert to strings
                    readersList = ConvertReadersBuffer(cardReadersList);

                    result = ReturnCodeManager.GetErrorMessage(returnCode);
                }
            }

            return result;
        }