(mozilla-projects-nss-reference-fc-getoperationstate)=

# FC_GetOperationState

## [Name](#name)

:::{container}
FC_GetOperationState - get the cryptographic operation state of a session.
:::

## [Syntax](#syntax)

:::{container}

```{code}
CK_RV FC_GetOperationState(
  CK_SESSION_HANDLE hSession,
  CK_BYTE_PTR  pOperationState,
  CK_ULONG_PTR pulOperationStateLen
);
```

:::

## [Parameters](#parameters)

:::{container}
`hSession`

: [in] handle of the open session.

`pOperationState`

: [out] pointer to a byte array of a length sufficient for containing the operation state or
  NULL.

`pulOperationStateLen`

: [out] pointer to [CK_ULONG](/en-US/CK_ULONG) which receives the total length (in bytes) of
  the operation state.
:::

## [Description](#description)

:::{container}
`FC_GetOperationState` saves the state of the cryptographic operation in a session. This
function only works for digest operations for now. Therefore, a user may call
`FC_GetOperationState` without logging into the token (to assume the NSS User role).
:::

## [Return value](#return_value)

## [Examples](#examples)

## [See also](#see_also)

:::{container}

- {ref}`mozilla_projects_nss_reference_fc_setoperationstate`,
  [NSC_GetOperationState](/en-US/NSC_GetOperationState)
:::
