PosSharp v1.2.0 API Reference
---
#### [PosSharp\.Core](PosSharp.Core 'PosSharp\.Core')
### [PosSharp\.Core](PosSharp.Core 'PosSharp\.Core').[UposDeviceBase](PosSharp.Core.UposDeviceBase 'PosSharp\.Core\.UposDeviceBase')
## UposDeviceBase\.OnClaimAsync\(int, CancellationToken\) Method
Called by [ClaimAsync\(int, CancellationToken\)](PosSharp.Core.UposDeviceBase.ClaimAsync(int,System.Threading.CancellationToken).md 'PosSharp\.Core\.UposDeviceBase\.ClaimAsync\(int, System\.Threading\.CancellationToken\)') to perform device\-specific claim logic\.
```csharp
protected abstract System.Threading.Tasks.Task OnClaimAsync(int timeout, System.Threading.CancellationToken ct);
```
#### Parameters
`timeout` [System\.Int32](https://learn.microsoft.com/en-us/dotnet/api/system.int32 'System\.Int32')
Timeout in milliseconds\.
`ct` [System\.Threading\.CancellationToken](https://learn.microsoft.com/en-us/dotnet/api/system.threading.cancellationtoken 'System\.Threading\.CancellationToken')
Cancellation token\.
#### Returns
[System\.Threading\.Tasks\.Task](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task 'System\.Threading\.Tasks\.Task')
A task representing the asynchronous operation\.