# WM_GetKeySet

## C Specification

      #include <nitro/wm.h>

      WMErrCode WM_GetKeySet( WMKeySetBuf* buf, WMKeySet* keySet );

## Arguments

`buf` | Pointer to the buffer that stores key information. The entity is the pointer to the `WMDataSharingInfo` structure.
`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 results of the `WMErrCode` enumerated type process.

## 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.

WM_StartKeySharing, WM_EndKeySharing, and WM_GetKeySet were left to maintain compatibility, but they will be removed in the future. Use the Data Sharing functions instead.

## See Also

`WM_StartKeySharing`, `WM_EndKeySharing`

## Revision History

06/07/2005 Changed arguments.
10/22/2004 Changed return value type
09/25/2004 Added to and revised Description.
07/29/2004 Added to Description
07/23/2004 Initial version

CONFIDENTIAL