• 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