# WM_GetKeySet

## C Specification

      #include <nitro/wm.h>

      WMErrCode WM_GetKeySet( WMKeySet* keySet );

## Description

Stores `WMKeySet` and returns it to the buffer specified by the argument

`WMKeySet` is the key information shared by all connected devices. When `keySet` is not shared among devices due to a process failure or communication delay, this function returns `WM_ERRCODE_NO_KEYSET`.

Under ideal communication conditions, this function succeeds in every frame even when the `mpFreq` of `WM_StartMP` is 1. However, note that `keySet` loads the key data from when `WM_GetKeySet` was called successfully two times previously. This restriction is not influenced by the `mpFreq` value or the intervals for calling APIs, and it always causes a two-cycle delay. To stabilize the operation in each frame, you must call this function as soon as possible after the V-blank.

By using data sharing instead of key sharing, and setting appropriate parameters, the delay can be reduced to 1 frame. See `WM_StartDataSharing`.

## Arguments

`keySet` | A pointer to the keyset read buffer You must specify a buffer other than the one provided to `WM_StartKeySharing`.

## Return Values

Returns the process result as a `WMErrCode` enumerated type.

## See Also

`WM_StartKeySharing`, `WM_EndKeySharing`

## Revision History

10/22/2004 Changed return value types
09/25/2004 Added and revised descriptions
07/29/2004 Added descriptions
07/23/2004 Initial version