📄 dplay.h
字号:
* showing any status dialogs.
*/
#define DPENUMSESSIONS_RETURNSTATUS 0x00000080
/****************************************************************************
*
* GetCaps and GetPlayerCaps API flags
*
****************************************************************************/
/*
* The latency returned should be for guaranteed message sending.
* Default is non-guaranteed messaging.
*/
#define DPGETCAPS_GUARANTEED 0x00000001
/****************************************************************************
*
* GetGroupData, GetPlayerData API flags
* Remote and local Group/Player data is maintained separately.
* Default is DPGET_REMOTE.
*
****************************************************************************/
/*
* Get the remote data (set by any DirectPlay object in
* the session using DPSET_REMOTE)
*/
#define DPGET_REMOTE 0x00000000
/*
* Get the local data (set by this DirectPlay object
* using DPSET_LOCAL)
*/
#define DPGET_LOCAL 0x00000001
/****************************************************************************
*
* Open API flags
*
****************************************************************************/
/*
* Join the session that is described by the DPSESSIONDESC2 structure
*/
#define DPOPEN_JOIN 0x00000001
/*
* Create a new session as described by the DPSESSIONDESC2 structure
*/
#define DPOPEN_CREATE 0x00000002
/*
* Return status about progress of open instead of showing
* any status dialogs.
*/
#define DPOPEN_RETURNSTATUS DPENUMSESSIONS_RETURNSTATUS
/****************************************************************************
*
* DPLCONNECTION flags
*
****************************************************************************/
/*
* This application should create a new session as
* described by the DPSESIONDESC structure
*/
#define DPLCONNECTION_CREATESESSION DPOPEN_CREATE
/*
* This application should join the session described by
* the DPSESIONDESC structure with the lpAddress data
*/
#define DPLCONNECTION_JOINSESSION DPOPEN_JOIN
/****************************************************************************
*
* Receive API flags
* Default is DPRECEIVE_ALL
*
****************************************************************************/
/*
* Get the first message in the queue
*/
#define DPRECEIVE_ALL 0x00000001
/*
* Get the first message in the queue directed to a specific player
*/
#define DPRECEIVE_TOPLAYER 0x00000002
/*
* Get the first message in the queue from a specific player
*/
#define DPRECEIVE_FROMPLAYER 0x00000004
/*
* Get the message but don't remove it from the queue
*/
#define DPRECEIVE_PEEK 0x00000008
/****************************************************************************
*
* Send API flags
*
****************************************************************************/
/*
* Send the message using a guaranteed send method.
* Default is non-guaranteed.
*/
#define DPSEND_GUARANTEED 0x00000001
/*
* This flag is obsolete. It is ignored by DirectPlay
*/
#define DPSEND_HIGHPRIORITY 0x00000002
/*
* This flag is obsolete. It is ignored by DirectPlay
*/
#define DPSEND_OPENSTREAM 0x00000008
/*
* This flag is obsolete. It is ignored by DirectPlay
*/
#define DPSEND_CLOSESTREAM 0x00000010
/*
* Send the message digitally signed to ensure authenticity.
*/
#define DPSEND_SIGNED 0x00000020
/*
* Send the message with encryption to ensure privacy.
*/
#define DPSEND_ENCRYPTED 0x00000040
/*
* The message is a lobby system message
*/
#define DPSEND_LOBBYSYSTEMMESSAGE 0x00000080
/*
* Send message asynchronously, must check caps
* before using this flag. It is always provided
* if the protocol flag is set.
*/
#define DPSEND_ASYNC 0x00000200
/*
* When an message is completed, don't tell me.
* by default the application is notified with a system message.
*/
#define DPSEND_NOSENDCOMPLETEMSG 0x00000400
/*
* Maximum priority for sends available to applications
*/
#define DPSEND_MAX_PRI 0x0000FFFF
#define DPSEND_MAX_PRIORITY DPSEND_MAX_PRI
/****************************************************************************
*
* SetGroupData, SetGroupName, SetPlayerData, SetPlayerName,
* SetSessionDesc API flags.
* Default is DPSET_REMOTE.
*
****************************************************************************/
/*
* Propagate the data to all players in the session
*/
#define DPSET_REMOTE 0x00000000
/*
* Do not propagate the data to other players
*/
#define DPSET_LOCAL 0x00000001
/*
* Used with DPSET_REMOTE, use guaranteed message send to
* propagate the data
*/
#define DPSET_GUARANTEED 0x00000002
/****************************************************************************
*
* GetMessageQueue API flags.
* Default is DPMESSAGEQUEUE_SEND
*
****************************************************************************/
/*
* Get Send Queue - requires Service Provider Support
*/
#define DPMESSAGEQUEUE_SEND 0x00000001
/*
* Get Receive Queue
*/
#define DPMESSAGEQUEUE_RECEIVE 0x00000002
/****************************************************************************
*
* Connect API flags
*
****************************************************************************/
/*
* Start an asynchronous connect which returns status codes
*/
#define DPCONNECT_RETURNSTATUS (DPENUMSESSIONS_RETURNSTATUS)
/****************************************************************************
*
* DirectPlay system messages and message data structures
*
* All system message come 'From' player DPID_SYSMSG. To determine what type
* of message it is, cast the lpData from Receive to DPMSG_GENERIC and check
* the dwType member against one of the following DPSYS_xxx constants. Once
* a match is found, cast the lpData to the corresponding of the DPMSG_xxx
* structures to access the data of the message.
*
****************************************************************************/
/*
* A new player or group has been created in the session
* Use DPMSG_CREATEPLAYERORGROUP. Check dwPlayerType to see if it
* is a player or a group.
*/
#define DPSYS_CREATEPLAYERORGROUP 0x0003
/*
* A player has been deleted from the session
* Use DPMSG_DESTROYPLAYERORGROUP
*/
#define DPSYS_DESTROYPLAYERORGROUP 0x0005
/*
* A player has been added to a group
* Use DPMSG_ADDPLAYERTOGROUP
*/
#define DPSYS_ADDPLAYERTOGROUP 0x0007
/*
* A player has been removed from a group
* Use DPMSG_DELETEPLAYERFROMGROUP
*/
#define DPSYS_DELETEPLAYERFROMGROUP 0x0021
/*
* This DirectPlay object lost its connection with all the
* other players in the session.
* Use DPMSG_SESSIONLOST.
*/
#define DPSYS_SESSIONLOST 0x0031
/*
* The current host has left the session.
* This DirectPlay object is now the host.
* Use DPMSG_HOST.
*/
#define DPSYS_HOST 0x0101
/*
* The remote data associated with a player or
* group has changed. Check dwPlayerType to see
* if it is a player or a group
* Use DPMSG_SETPLAYERORGROUPDATA
*/
#define DPSYS_SETPLAYERORGROUPDATA 0x0102
/*
* The name of a player or group has changed.
* Check dwPlayerType to see if it is a player
* or a group.
* Use DPMSG_SETPLAYERORGROUPNAME
*/
#define DPSYS_SETPLAYERORGROUPNAME 0x0103
/*
* The session description has changed.
* Use DPMSG_SETSESSIONDESC
*/
#define DPSYS_SETSESSIONDESC 0x0104
/*
* A group has been added to a group
* Use DPMSG_ADDGROUPTOGROUP
*/
#define DPSYS_ADDGROUPTOGROUP 0x0105
/*
* A group has been removed from a group
* Use DPMSG_DELETEGROUPFROMGROUP
*/
#define DPSYS_DELETEGROUPFROMGROUP 0x0106
/*
* A secure player-player message has arrived.
* Use DPMSG_SECUREMESSAGE
*/
#defi
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -