Net.Pkcs11Interop.HighLevelAPI.Pkcs11.GetSlotList C# (CSharp) Method

GetSlotList() public method

Obtains a list of slots in the system
public GetSlotList ( bool tokenPresent ) : List
tokenPresent bool Flag indicating whether the list obtained includes only those slots with a token present (true), or all slots (false)
return List
        public List<Slot> GetSlotList(bool tokenPresent)
        {
            if (this._disposed)
                throw new ObjectDisposedException(this.GetType().FullName);

            if (Platform.UnmanagedLongSize == 4)
            {
                List<Slot> slotList = new List<Slot>();

                if (Platform.StructPackingSize == 0)
                {
                    List<HighLevelAPI40.Slot> hlaSlotList = _p11_40.GetSlotList(tokenPresent);
                    foreach (HighLevelAPI40.Slot hlaSlot in hlaSlotList)
                        slotList.Add(new Slot(hlaSlot));
                }
                else
                {
                    List<HighLevelAPI41.Slot> hlaSlotList = _p11_41.GetSlotList(tokenPresent);
                    foreach (HighLevelAPI41.Slot hlaSlot in hlaSlotList)
                        slotList.Add(new Slot(hlaSlot));
                }

                return slotList;
            }
            else
            {
                List<Slot> slotList = new List<Slot>();

                if (Platform.StructPackingSize == 0)
                {
                    List<HighLevelAPI80.Slot> hlaSlotList = _p11_80.GetSlotList(tokenPresent);
                    foreach (HighLevelAPI80.Slot hlaSlot in hlaSlotList)
                        slotList.Add(new Slot(hlaSlot));
                }
                else
                {
                    List<HighLevelAPI81.Slot> hlaSlotList = _p11_81.GetSlotList(tokenPresent);
                    foreach (HighLevelAPI81.Slot hlaSlot in hlaSlotList)
                        slotList.Add(new Slot(hlaSlot));
                }

                return slotList;
            }
        }

Usage Example

 public static Slot slots()
 {
     if (pk.GetSlotList(true).Count == 1)
     {
         return(pk.GetSlotList(true)[0]);
     }
     else
     {
         return(pk.GetSlotList(true)[1]);
     }
 }
All Usage Examples Of Net.Pkcs11Interop.HighLevelAPI.Pkcs11::GetSlotList