📄 directplay8.pas
字号:
//
DPNADDPLAYERTOGROUP_SYNC = DPNOP_SYNC;
{$EXTERNALSYM DPNADDPLAYERTOGROUP_SYNC}
//
// Cancel flags
//
DPNCANCEL_CONNECT = $0001;
{$EXTERNALSYM DPNCANCEL_CONNECT}
DPNCANCEL_ENUM = $0002;
{$EXTERNALSYM DPNCANCEL_ENUM}
DPNCANCEL_SEND = $0004;
{$EXTERNALSYM DPNCANCEL_SEND}
DPNCANCEL_ALL_OPERATIONS = $8000;
{$EXTERNALSYM DPNCANCEL_ALL_OPERATIONS}
// Flags added for DirectX 9
DPNCANCEL_PLAYER_SENDS = $80000000;
{$EXTERNALSYM DPNCANCEL_PLAYER_SENDS}
DPNCANCEL_PLAYER_SENDS_PRIORITY_HIGH = (DPNCANCEL_PLAYER_SENDS or $00010000);
{$EXTERNALSYM DPNCANCEL_PLAYER_SENDS_PRIORITY_HIGH}
DPNCANCEL_PLAYER_SENDS_PRIORITY_NORMAL = (DPNCANCEL_PLAYER_SENDS or $00020000);
{$EXTERNALSYM DPNCANCEL_PLAYER_SENDS_PRIORITY_NORMAL}
DPNCANCEL_PLAYER_SENDS_PRIORITY_LOW = (DPNCANCEL_PLAYER_SENDS or $00040000);
{$EXTERNALSYM DPNCANCEL_PLAYER_SENDS_PRIORITY_LOW}
//
// Close flags (for Close, added for DirectX 9)
//
DPNCLOSE_IMMEDIATE = $00000001;
{$EXTERNALSYM DPNCLOSE_IMMEDIATE}
//
// Connect flags (For Connect)
//
DPNCONNECT_SYNC = DPNOP_SYNC;
{$EXTERNALSYM DPNCONNECT_SYNC}
DPNCONNECT_OKTOQUERYFORADDRESSING = $0001;
{$EXTERNALSYM DPNCONNECT_OKTOQUERYFORADDRESSING}
//
// Create group flags (For CreateGroup)
//
DPNCREATEGROUP_SYNC = DPNOP_SYNC;
{$EXTERNALSYM DPNCREATEGROUP_SYNC}
//
// Destroy group flags (For DestroyGroup)
//
DPNDESTROYGROUP_SYNC = DPNOP_SYNC;
{$EXTERNALSYM DPNDESTROYGROUP_SYNC}
//
// Enumerate clients and groups flags (For EnumPlayersAndGroups)
//
DPNENUM_PLAYERS = $0001;
{$EXTERNALSYM DPNENUM_PLAYERS}
DPNENUM_GROUPS = $0010;
{$EXTERNALSYM DPNENUM_GROUPS}
//
// Enum hosts flags (For EnumHosts)
//
DPNENUMHOSTS_SYNC = DPNOP_SYNC;
{$EXTERNALSYM DPNENUMHOSTS_SYNC}
DPNENUMHOSTS_OKTOQUERYFORADDRESSING = $0001;
{$EXTERNALSYM DPNENUMHOSTS_OKTOQUERYFORADDRESSING}
DPNENUMHOSTS_NOBROADCASTFALLBACK = $0002;
{$EXTERNALSYM DPNENUMHOSTS_NOBROADCASTFALLBACK}
//
// Enum service provider flags (For EnumSP)
//
DPNENUMSERVICEPROVIDERS_ALL = $0001;
{$EXTERNALSYM DPNENUMSERVICEPROVIDERS_ALL}
//
// GetLocalHostAddresses flags (added for DirectX 9)
//
DPNGETLOCALHOSTADDRESSES_COMBINED = $0001;
{$EXTERNALSYM DPNGETLOCALHOSTADDRESSES_COMBINED}
//
// Get send queue info flags (For GetSendQueueInfo)
//
DPNGETSENDQUEUEINFO_PRIORITY_NORMAL = $0001;
{$EXTERNALSYM DPNGETSENDQUEUEINFO_PRIORITY_NORMAL}
DPNGETSENDQUEUEINFO_PRIORITY_HIGH = $0002;
{$EXTERNALSYM DPNGETSENDQUEUEINFO_PRIORITY_HIGH}
DPNGETSENDQUEUEINFO_PRIORITY_LOW = $0004;
{$EXTERNALSYM DPNGETSENDQUEUEINFO_PRIORITY_LOW}
//
// Group information flags (For Group Info)
//
DPNGROUP_AUTODESTRUCT = $0001;
{$EXTERNALSYM DPNGROUP_AUTODESTRUCT}
//
// Host flags (For Host)
//
DPNHOST_OKTOQUERYFORADDRESSING = $0001;
{$EXTERNALSYM DPNHOST_OKTOQUERYFORADDRESSING}
//
// Set info
//
DPNINFO_NAME = $0001;
{$EXTERNALSYM DPNINFO_NAME}
DPNINFO_DATA = $0002;
{$EXTERNALSYM DPNINFO_DATA}
//
// Initialize flags (For Initialize)
//
DPNINITIALIZE_DISABLEPARAMVAL = $0001;
{$EXTERNALSYM DPNINITIALIZE_DISABLEPARAMVAL}
// Flags added for DirectX 9
DPNINITIALIZE_HINT_LANSESSION = $0002;
{$EXTERNALSYM DPNINITIALIZE_HINT_LANSESSION}
DPNINITIALIZE_DISABLELINKTUNING = $0004;
{$EXTERNALSYM DPNINITIALIZE_DISABLELINKTUNING}
//
// Register Lobby flags
//
DPNLOBBY_REGISTER = $0001;
{$EXTERNALSYM DPNLOBBY_REGISTER}
DPNLOBBY_UNREGISTER = $0002;
{$EXTERNALSYM DPNLOBBY_UNREGISTER}
//
// Player information flags (For Player Info / Player Messages)
//
DPNPLAYER_LOCAL = $0002;
{$EXTERNALSYM DPNPLAYER_LOCAL}
DPNPLAYER_HOST = $0004;
{$EXTERNALSYM DPNPLAYER_HOST}
//
// Receive indication flags (added for DirectX 9)
//
DPNRECEIVE_GUARANTEED = $0001;
{$EXTERNALSYM DPNRECEIVE_GUARANTEED}
DPNRECEIVE_COALESCED = $0002;
{$EXTERNALSYM DPNRECEIVE_COALESCED}
//
// Remove player from group flags (For RemovePlayerFromGroup)
//
DPNREMOVEPLAYERFROMGROUP_SYN = DPNOP_SYNC;
{$EXTERNALSYM DPNREMOVEPLAYERFROMGROUP_SYN}
//
// Send flags (For Send/SendTo)
//
DPNSEND_SYNC = DPNOP_SYNC;
{$EXTERNALSYM DPNSEND_SYNC}
DPNSEND_NOCOPY = $0001;
{$EXTERNALSYM DPNSEND_NOCOPY}
DPNSEND_NOCOMPLETE = $0002;
{$EXTERNALSYM DPNSEND_NOCOMPLETE}
DPNSEND_COMPLETEONPROCESS = $0004;
{$EXTERNALSYM DPNSEND_COMPLETEONPROCESS}
DPNSEND_GUARANTEED = $0008;
{$EXTERNALSYM DPNSEND_GUARANTEED}
DPNSEND_NONSEQUENTIAL = $0010;
{$EXTERNALSYM DPNSEND_NONSEQUENTIAL}
DPNSEND_NOLOOPBACK = $0020;
{$EXTERNALSYM DPNSEND_NOLOOPBACK}
DPNSEND_PRIORITY_LOW = $0040;
{$EXTERNALSYM DPNSEND_PRIORITY_LOW}
DPNSEND_PRIORITY_HIGH = $0080;
{$EXTERNALSYM DPNSEND_PRIORITY_HIGH}
// Flag added for DirectX 9
DPNSEND_COALESCE = $0100;
{$EXTERNALSYM DPNSEND_COALESCE}
//
// Send complete indication flags (added for DirectX 9)
//
DPNSENDCOMPLETE_GUARANTEED = $0001;
{$EXTERNALSYM DPNSENDCOMPLETE_GUARANTEED}
DPNSENDCOMPLETE_COALESCED = $0002;
{$EXTERNALSYM DPNSENDCOMPLETE_COALESCED}
//
// Session Flags (for DPN_APPLICATION_DESC)
//
DPNSESSION_CLIENT_SERVER = $0001;
{$EXTERNALSYM DPNSESSION_CLIENT_SERVER}
DPNSESSION_MIGRATE_HOST = $0004;
{$EXTERNALSYM DPNSESSION_MIGRATE_HOST}
DPNSESSION_NODPNSVR = $0040;
{$EXTERNALSYM DPNSESSION_NODPNSVR}
DPNSESSION_REQUIREPASSWORD = $0080;
{$EXTERNALSYM DPNSESSION_REQUIREPASSWORD}
// Flag added for DirectX 9
DPNSESSION_NOENUMS = $0100;
{$EXTERNALSYM DPNSESSION_NOENUMS}
DPNSESSION_FAST_SIGNED = $0200;
{$EXTERNALSYM DPNSESSION_FAST_SIGNED}
DPNSESSION_FULL_SIGNED = $0400;
{$EXTERNALSYM DPNSESSION_FULL_SIGNED}
//
// Set client info flags (For SetClientInfo)
//
DPNSETCLIENTINFO_SYNC = DPNOP_SYNC;
{$EXTERNALSYM DPNSETCLIENTINFO_SYNC}
//
// Set group info flags (For SetGroupInfo)
//
DPNSETGROUPINFO_SYNC = DPNOP_SYNC;
{$EXTERNALSYM DPNSETGROUPINFO_SYNC}
//
// Set peer info flags (For SetPeerInfo)
//
DPNSETPEERINFO_SYNC = DPNOP_SYNC;
{$EXTERNALSYM DPNSETPEERINFO_SYNC}
//
// Set server info flags (For SetServerInfo)
//
DPNSETSERVERINFO_SYNC = DPNOP_SYNC;
{$EXTERNALSYM DPNSETSERVERINFO_SYNC}
//
// SP capabilities flags
//
DPNSPCAPS_SUPPORTSDPNSVR = $0001;
{$EXTERNALSYM DPNSPCAPS_SUPPORTSDPNSVR}
DPNSPCAPS_SUPPORTSDPNSRV = DPNSPCAPS_SUPPORTSDPNSVR;
{$EXTERNALSYM DPNSPCAPS_SUPPORTSDPNSRV}
DPNSPCAPS_SUPPORTSBROADCAST = $0002;
{$EXTERNALSYM DPNSPCAPS_SUPPORTSBROADCAST}
DPNSPCAPS_SUPPORTSALLADAPTERS = $0004;
{$EXTERNALSYM DPNSPCAPS_SUPPORTSALLADAPTERS}
// Flags added for DirectX 9
DPNSPCAPS_SUPPORTSTHREADPOOL = $0008;
{$EXTERNALSYM DPNSPCAPS_SUPPORTSTHREADPOOL}
DPNSPCAPS_NETWORKSIMULATOR = $0010;
{$EXTERNALSYM DPNSPCAPS_NETWORKSIMULATOR}
//
// SP information flags (added for DirectX 9)
//
DPNSPINFO_NETWORKSIMULATORDEVICE = $0001;
{$EXTERNALSYM DPNSPINFO_NETWORKSIMULATORDEVICE}
(****************************************************************************
*
* DirectPlay8 Structures (Non-Message)
*
****************************************************************************)
type
//
// Application description
//
PDPNApplicationDesc = ^TDPNApplicationDesc;
_DPN_APPLICATION_DESC = packed record
dwSize: DWORD; // Size of this structure
dwFlags: DWORD; // Flags (DPNSESSION_...)
guidInstance: TGUID; // Instance GUID
guidApplication: TGUID; // Application GUID
dwMaxPlayers: DWORD; // Maximum # of players allowed (0=no limit)
dwCurrentPlayers: DWORD; // Current # of players allowed
pwszSessionName: PWideChar; // Name of the session
pwszPassword: PWideChar; // Password for the session
pvReservedData: Pointer;
dwReservedDataSize: DWORD;
pvApplicationReservedData: Pointer;
dwApplicationReservedDataSize: DWORD;
end;
{$EXTERNALSYM _DPN_APPLICATION_DESC}
DPN_APPLICATION_DESC = _DPN_APPLICATION_DESC;
{$EXTERNALSYM DPN_APPLICATION_DESC}
TDPNApplicationDesc = _DPN_APPLICATION_DESC;
//
// Generic Buffer Description
//
PBufferDesc = ^TBufferDesc;
_BUFFERDESC = packed record
wBufferSize:DWORD;
pBufferData: PByte;
end;
{$EXTERNALSYM _BUFFERDESC}
BUFFERDESC = _BUFFERDESC;
{$EXTERNALSYM BUFFERDESC}
TBufferDesc = _BUFFERDESC;
PDPNBufferDesc = ^TDPNBufferDesc;
DPN_BUFFER_DESC = _BUFFERDESC;
{$EXTERNALSYM DPN_BUFFER_DESC}
TDPNBufferDesc = DPN_BUFFER_DESC;
//
// DirectPlay8 capabilities
//
PDPNCaps = ^TDPNCaps;
_DPN_CAPS = packed record
dwSize: DWORD; // Size of this structure
dwFlags: DWORD; // Flags
dwConnectTimeout: DWORD; // ms before a connect request times out
dwConnectRetries: DWORD; // # of times to attempt the connection
dwTimeoutUntilKeepAlive: DWORD; // ms of inactivity before a keep alive is sent
end;
{$EXTERNALSYM _DPN_CAPS}
DPN_CAPS = _DPN_CAPS;
{$EXTERNALSYM DPN_CAPS}
TDPNCaps = _DPN_CAPS;
//
// Extended capabilities structures (added for DirectX 9)
//
PDPNCapsEx = ^TDPNCapsEx;
_DPN_CAPS_EX = packed record
dwSize: DWORD; // Size of this structure
dwFlags: DWORD; // Flags
dwConnectTimeout: DWORD; // ms before a connect request times out
dwConnectRetries: DWORD; // # of times to attempt the connection
dwTimeoutUntilKeepAlive: DWORD; // ms of inactivity before a keep alive is sent
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -