Microsoft DirectX 9.0 SDK Update (Summer 2003)

IDirectPlay8Peer::SetPeerInfo Method


Sets the static settings of the local peer. Call this method before connecting to relay basic player information with the application. When the peer successfully connects with the application, information set through this method can be retrieved by other players by calling the IDirectPlay8Peer::GetPeerInfo method.

Syntax

HRESULT SetPeerInfo(      

    const DPN_PLAYER_INFO *const pdpnPlayerInfo,     PVOID const pvAsyncContext,     DPNHANDLE *const phAsyncHandle,     const DWORD dwFlags );

Parameters

pdpnPlayerInfo
[in] Pointer to a DPN_PLAYER_INFO structure that contains the peer information to set.
pvAsyncContext
[in] Pointer to the user-supplied context, which is returned in the pvUserContext member of the DPN_MSGID_ASYNC_OP_COMPLETE system message.
phAsyncHandle
[out] A DPNHANDLE. A value will be returned. However, Microsoft® DirectPlay® does not permit cancellation of this operation, so the value cannot be used.
dwFlags
[in] Flag that controls how this method is processed. The following flag can be set for this method.
DPNSETPEERINFO_SYNC
Causes the method to process synchronously.

Return Value

Returns S_OK if this method is processed synchronously and is successful. By default, this method is run asynchronously and normally returns DPNSUCCESS_PENDING. It can also return one of the following error values.

DPNERR_INVALIDFLAGSThe flags passed to this method are invalid.
DPNERR_INVALIDPARAMOne or more of the parameters passed to the method are invalid.
DPNERR_NOCONNECTIONNo communication link was established.


Remarks

This method can be called at any time during the session.

Transmission of nonstatic information should be handled with the IDirectPlay8Peer::SendTo method because of the high cost of using the IDirectPlay8Peer::SetPeerInfo method.

The DPN_PLAYER_INFO structure's dwPlayerFlags member must be set to zero.

You can modify the peer information with this method after connecting to the application. Calling this method after connection generates a DPN_MSGID_PEER_INFO system message to all players, informing them that data has been updated. The dwPlayerFlags method in the DPN_PLAYER_INFO structure must be set to 0 when making this call.

When calling this method asynchronously, the contents of the pdpnPlayerInfo and pvAsyncContext buffers will be copied by DirectPlay so that the calling application can clean up the buffers before the method returns.

This method is guaranteed as long as the player is connected to the session. Even if this method is called during a host migration, DirectPlay will ensure that this method completes and that the information is propagated to all players.



© 2003 Microsoft Corporation. All rights reserved.