Introducing DirectX 9.0
DirectX Graphics
DirectInput
DirectPlay
DirectSetup
DirectMusic
DirectSound
DirectShow
DirectX Media Objects
DirectPlay
What's New in DirectPlay
Basic Concepts in DirectPlay
DirectPlay Network Communication
Communicating with DirectPlay Objects
Creating and Managing Sessions
Peer-to-Peer Topology
Client/Server Topology
Peer-to-Peer Sessions
Initiating a Peer-to-Peer Session
Using DirectPlay Enumerations
Implementing a DirectPlay Enumeration
Enumerating Hosts
Selecting a Service Provider for a Peer-to-Peer Session
Selecting a Host for a Peer-to-Peer Session
Connecting to a Peer-to-Peer Session
Managing a Peer-to-Peer Session
Handling DirectPlay Messaging
Handling Standard Peer-to-Peer Messages
Peer-to-Peer Host Messages
Host Migration
Normal Peer-to-Peer Game Play
Leaving a Peer-to-Peer Session
Terminating a Peer-to-Peer Session
Client/Server Sessions
Initiating a Client/Server Session
Selecting a Service Provider for a Client
Selecting a Client/Server Host
Connecting to a Client/Server Session
Managing a Client/Server Session
Handling Client/Server Messages
Normal Client/Server Game Play
Leaving a Client/Server Session
Terminating a Client/Server Session
DirectPlay Lobby
DirectPlay Lobby Architecture
DirectPlay Lobby Support
Implementing a Lobby Client
Initializing a Lobby Client
Launching a Lobbied Application
Implementing a Lobby Client Message Handler
A Sample Lobby Client Message Handler
Communicating with a Lobbied Application
Closing Down a Lobby Client
Implementing a Lobbyable Application
Registering a Lobbyable Application
Handling Lobby Launching
Implementing a Lobbied Application Callback Message Handler
A Sample Lobbied Application Message Handler
Communicating with a Lobby Client
Closing Down a Lobbied Application
Lobby Clients
Lobby Servers
Lobbyable Applications
DirectPlay Voice
Audio Device Testing
Automatic Gain Control
Capture Focus
Configuring the Windows Sound Mixer
Creating a 3-D Voice Session
DirectPlay Voice Communication
DirectPlay Voice Topologies
Forwarding Server Voice Topology
Mixing Server Sessions
Peer-to-Peer Voice Topology
Fast User Switching
Handling Voice Client Messages
Handling Voice Host Messages
Jitter Buffers
Sharing the Audio Capture Device
Transmission Control
Voice Codecs
Voice Host Migration
Working Set Guidelines
DirectPlay for Pocket PC 2002
Bluetooth Service Provider
Advanced Topics in DirectPlay
DirectPlay Addressing
DirectPlay Service Providers
Understanding Ports
Internet Protocol Version 6
DirectPlay URLs
Data Strings
Sample URLs
Handling Addresses
DirectPlay Address Objects
Creating TCP/IP Address Objects
Creating Modem Address Objects
Creating IPX Address Objects
Creating Serial Address Objects
Data Value Summary
Data Values
DirectPlay Callback Functions and Multithreading Issues
Implementing a Callback Function in DirectPlay and DirectPlay Voice
Implementing a DirectPlay Networking Callback Using Critical Section Objects
DirectPlay Protocol
Basic Message Handling
Message Categories
Congestion Control
Send Prioritization
Packet Signing
Monitoring Messaging Statistics
Monitoring the Pending Message Queues
Using the DirectX Protocol in an Application
DP8Sim Utility
Internet Protocol Version 6
Monitoring DirectPlay Network Traffic with Netmon
Network Address Translation, Firewalls, and Proxies
Quick NAT Compatibility Guidelines
Topology Specific NAT Issues
NAT Issues for Peer Hosts
Basic NAT Issues for Peer Hosts
Advanced NAT Techniques for Peer Hosts
Peer Host NAT Compatibility Reference
NAT Issues for Peer Clients
Basic NAT Issues for Peer Clients
Advanced NAT Techniques for Peer Clients
Peer Client NAT Compatibility Reference
NAT Issues for Servers
Basic NAT Issues for Servers
Advanced NAT Techniques for Servers
Server NAT Compatibility Reference
NAT Issues for Clients
Basic NAT Issues for Clients
Client NAT Compatibility Reference
Using the IDirectPlay8NATResolver Interface
Notes Regarding Firewalls and Proxies
NAT Troubleshooting Techniques for Developers and End Users
Optimizing Network Usage
Packet Signing
Testing Network Performance
Using Player Context Values
Using the DirectPlay DPNSVR Application
DirectPlay C/C++ Tutorials
Tutorial 1: Creating a DirectPlay Object and Enumerating Service Providers
Tutorial 2: Hosting a Session
Tutorial 3: Enumerating Hosted Sessions
Tutorial 4: Connecting to a Session
Tutorial 5: Sending Messages to Other Peers
Tutorial 6: Handling Host Migration
Tutorial 7: Creating a Lobbyable Application
Tutorial 8: Direct Play Voice
Tutorial 9: Creating a DirectPlay Client/Server Session
Tutorial 10: DirectPlay Thread Pool
DirectPlay C++ Samples
AddressOverride
ChatPeer
DataRelay
LobbyClient
Maze
NatPeer
NATResolver
SimpleClientServer
SimplePeer
StagedPeer
Throttle
VoiceClientServer
VoiceConnect
VoiceGroup
VoicePosition
DirectPlay C/C++ Reference
Interfaces
IDirectPlay8Address
AddComponent
BuildFromDPADDRESS
BuildFromURLA
BuildFromURLW
Clear
Duplicate
GetComponentByIndex
GetComponentByName
GetDevice
GetNumComponents
GetSP
GetURLA
GetURLW
GetUserData
IsEqual
SetDevice
SetEqual
SetSP
SetUserData
IDirectPlay8AddressIP
BuildAddress
BuildFromSockAddr
BuildLocalAddress
GetAddress
GetLocalAddress
GetSockAddress
IDirectPlay8Client
CancelAsyncOperation
Close
Connect
EnumHosts
EnumServiceProviders
GetApplicationDesc
GetCaps
GetConnectionInfo
GetSendQueueInfo
GetServerAddress
GetServerInfo
GetSPCaps
Initialize
RegisterLobby
ReturnBuffer
Send
SetCaps
SetClientInfo
SetSPCaps
IDirectPlay8LobbiedApplication
Close
GetConnectionSettings
Initialize
RegisterProgram
Send
SetAppAvailable
SetConnectionSettings
UnRegisterProgram
UpdateStatus
IDirectPlay8LobbyClient
Close
ConnectApplication
EnumLocalPrograms
GetConnectionSettings
Initialize
ReleaseApplication
Send
SetConnectionSettings
IDirectPlay8NATResolver
Close
EnumDevices
GetAddresses
Initialize
Start
IDirectPlay8Peer
AddPlayerToGroup
CancelAsyncOperation
Close
Connect
CreateGroup
DestroyGroup
DestroyPeer
EnumGroupMembers
EnumHosts
EnumPlayersAndGroups
EnumServiceProviders
GetApplicationDesc
GetCaps
GetConnectionInfo
GetGroupContext
GetGroupInfo
GetLocalHostAddresses
GetPeerAddress
GetPeerInfo
GetPlayerContext
GetSendQueueInfo
GetSPCaps
Host
Initialize
RegisterLobby
RemovePlayerFromGroup
ReturnBuffer
SendTo
SetApplicationDesc
SetCaps
SetGroupInfo
SetPeerInfo
SetSPCaps
TerminateSession
IDirectPlay8Server
AddPlayerToGroup
CancelAsyncOperation
Close
CreateGroup
DestroyClient
DestroyGroup
EnumGroupMembers
EnumPlayersAndGroups
EnumServiceProviders
GetApplicationDesc
GetCaps
GetClientAddress
GetClientInfo
GetConnectionInfo
GetGroupContext
GetGroupInfo
GetLocalHostAddresses
GetPlayerContext
GetSendQueueInfo
GetSPCaps
Host
Initialize
RegisterLobby
RemovePlayerFromGroup
ReturnBuffer
SendTo
SetApplicationDesc
SetCaps
SetGroupInfo
SetServerInfo
SetSPCaps
IDirectPlay8ThreadPool
Close
DoWork
GetThreadCount
Initialize
SetThreadCount
IDirectPlayNATHelp
Close
GetCaps
GetRegisteredAddresses
Initialize
QueryAddress
RegisterPorts
SetAlertEvent
IDirectPlayVoiceClient
Connect
Create3DSoundBuffer
Delete3DSoundBuffer
Disconnect
GetCaps
GetClientConfig
GetCompressionTypes
GetSessionDesc
GetSoundDeviceConfig
GetTransmitTargets
Initialize
SetClientConfig
SetNotifyMask
SetTransmitTargets
IDirectPlayVoiceServer
GetCaps
GetCompressionTypes
GetSessionDesc
GetTransmitTargets
Initialize
SetNotifyMask
SetSessionDesc
SetTransmitTargets
StartSession
StopSession
IDirectPlayVoiceTest
CheckAudioSetup
IDP8SimControl
ClearAllStatistics
Close
GetAllParameters
GetAllStatistics
Initialize
SetAllParameters
Functions
DirectPlay8AddressCreate
DirectPlay8Create
DirectPlay8LobbyCreate
DirectPlayVoiceCreate
Callback Functions
PDVMESSAGEHANDLER
PFNDPNMESSAGEHANDLER
System Messages
DPL_MSGID_CONNECT
DPL_MSGID_CONNECTION_SETTINGS
DPL_MSGID_DISCONNECT
DPL_MSGID_RECEIVE
DPL_MSGID_SESSION_STATUS
DPN_MSGID_ADD_PLAYER_TO_GROUP
DPN_MSGID_APPLICATION_DESC
DPN_MSGID_ASYNC_OP_COMPLETE
DPN_MSGID_CLIENT_INFO
DPN_MSGID_CONNECT_COMPLETE
DPN_MSGID_CREATE_GROUP
DPN_MSGID_CREATE_PLAYER
DPN_MSGID_CREATE_SENDER_CONTEXT
DPN_MSGID_CREATE_THREAD
DPN_MSGID_DESTROY_GROUP
DPN_MSGID_DESTROY_PLAYER
DPN_MSGID_DESTROY_THREAD
DPN_MSGID_ENUM_HOSTS_QUERY
DPN_MSGID_ENUM_HOSTS_RESPONSE
DPN_MSGID_GROUP_INFO
DPN_MSGID_HOST_MIGRATE
DPN_MSGID_INDICATED_CONNECT_ABORTED
DPN_MSGID_INDICATE_CONNECT
DPN_MSGID_NAT_RESOLVER_QUERY
DPN_MSGID_PEER_INFO
DPN_MSGID_RECEIVE
DPN_MSGID_REMOVE_PLAYER_FROM_GROUP
DPN_MSGID_RETURN_BUFFER
DPN_MSGID_SEND_COMPLETE
DPN_MSGID_SERVER_INFO
DPN_MSGID_TERMINATE_SESSION
DVMSGID_CONNECTRESULT
DVMSGID_CREATEVOICEPLAYER
DVMSGID_DELETEVOICEPLAYER
DVMSGID_DISCONNECTRESULT
DVMSGID_GAINFOCUS
DVMSGID_HOSTMIGRATED
DVMSGID_INPUTLEVEL
DVMSGID_LOCALHOSTSETUP
DVMSGID_LOSTFOCUS
DVMSGID_OUTPUTLEVEL
DVMSGID_PLAYEROUTPUTLEVEL
DVMSGID_PLAYERVOICESTART
DVMSGID_PLAYERVOICESTOP
DVMSGID_RECORDSTART
DVMSGID_RECORDSTOP
DVMSGID_SESSIONLOST
DVMSGID_SETTARGETS
Structures
DP8SIM_PARAMETERS
DP8SIM_STATISTICS
DPL_APPLICATION_INFO
DPL_CONNECT_INFO
DPL_CONNECTION_SETTINGS
DPL_PROGRAM_DESC
DPN_APPLICATION_DESC
DPN_BUFFER_DESC
DPN_CAPS
DPN_CAPS_EX
DPN_CONNECTION_INFO
DPN_GROUP_INFO
DPN_PLAYER_INFO
DPN_SECURITY_CREDENTIALS
DPN_SECURITY_DESC
DPN_SERVICE_PROVIDER_INFO
DPN_SP_CAPS
DPNHCAPS
DVCAPS
DVCLIENTCONFIG
DVCOMPRESSIONINFO
DVSESSIONDESC
DVSOUNDDEVICECONFIG
Return Values