<!--
{
  "availability" : [
    "macCatalyst: 13.0.0 -",
    "macOS: 10.4.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Security",
  "identifier" : "/documentation/Security/AuthorizationCallbacks/GetHintValue",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "Security"
    ],
    "preciseIdentifier" : "c:@S@AuthorizationCallbacks@FI@GetHintValue"
  },
  "title" : "GetHintValue"
}
-->

# GetHintValue

Reads a value stored by the plug-in authorization mechanism.

```
int (*)(struct __OpaqueAuthorizationEngine *, const char *, const struct AuthorizationValue **) GetHintValue;
```

## Parameters

`inEngine`

An opaque handle that is passed to your plug-in when the authorization engine calls your [`MechanismCreate`](/documentation/Security/AuthorizationPluginInterface/MechanismCreate) function.

`inKey`

A key indicating which value you want to retrieve. This key must correspond to one you specified when you used the [`SetHintValue`](/documentation/Security/AuthorizationCallbacks/SetHintValue) function to store a hint value.

`outValue`

On input, allocate a pointer to an [`AuthorizationValue`](/documentation/Security/AuthorizationValue) structure. On output, the structure contains the size of the data and a pointer to the data. Because your [`AuthorizationValue`](/documentation/Security/AuthorizationValue) structure does not own the data, you must not deallocate the structure or the data pointed to by the structure.

## Return Value

A result code. Possible results are [`errAuthorizationSuccess`](/documentation/Security/errAuthorizationSuccess) (no error) and [`errAuthorizationInternal`](/documentation/Security/errAuthorizationInternal) (Security Server internal error).

## Discussion

Your plug-in authorization mechanism can save and retrieve auxiliary information—called hints—for use by subsequent mechanisms that are part of the same authorization. You use the [`SetHintValue`](/documentation/Security/AuthorizationCallbacks/SetHintValue) function to have the Security Server store this data and the `GetHintValue` function to retrieve it. Hints are not preserved as part of the authorization result; once all mechanisms have approved the authorization or any mechanism has denied it, the security engine disposes of the hints.

The authorization engine sends you the entry point to the `GetHintValue` function in an [`AuthorizationCallbacks`](/documentation/Security/AuthorizationCallbacks) structure when you call the [`AuthorizationPluginCreate`](/documentation/Security/AuthorizationPluginCreate) function.

> Important:
> Do not call this function after you have called the ``doc://com.apple.security/documentation/Security/AuthorizationCallbacks/SetResult`` function. If you do so, the data retrieved by the `GetHintValue` function might not reflect the current value even though the function returns the ``doc://com.apple.security/documentation/Security/errAuthorizationSuccess`` result code.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)