# PooledQueueCache.TryGetCursorAtPosition(StreamId, StreamSubscriptionStartPosition)

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.pooledqueuecache/) | [Methods](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.pooledqueuecache/methods/)

[Source](https://github.com/dotnet/orleans/blob/1644940b035c7bdf215a4fd7135757c06bcfe9ec/src/Orleans.Streaming/Common/PooledCache/PooledQueueCache.cs#L167-L179)

```csharp
public QueueCacheCursorResult<object> TryGetCursorAtPosition(StreamId streamId, StreamSubscriptionStartPosition startPosition)
```

Attempts to acquire a cursor at the specified subscription start position.

### Parameters

- `streamId` (`StreamId`): The stream identifier.
- `startPosition` (`StreamSubscriptionStartPosition`): The initial subscription position.

### Returns

A successful result containing the acquired cursor.

### Exceptions

- `System.ArgumentOutOfRangeException`: `startPosition` is not defined.
