Microsoft DirectX 8.1 (Visual Basic)

DPN_SP_CAPS

Used to set and retrieve parameters for service providers.

Type DPN_SP_CAPS
    lBuffersPerThread As Long
    lDefaultEnumCount As Long
    lDefaultEnumRetryInterval As Long
    lDefaultEnumTimeout As Long
    lFlags As Long
    lMaxEnumPayloadSize As Long
    lNumThreads As Long
    lSystemBufferSizeAs Long
End Type

Members

lBuffersPerThread
The number of outstanding receive buffers allocated for each DirectPlay thread. If you increase the number of receive buffers, DirectPlay can pull more data out of the operating system buffers. However, you may also increase latency if data is arriving faster than your application can process it.
lDefaultEnumCount
Long value that specifies the default enumeration count.
lDefaultEnumRetryInterval
Long value that specifies the default retry interval, in milliseconds.
lDefaultEnumTimeout
Long value that specifies the default enumeration timeout value, in milliseconds.
lFlags
Long value that can be a combination of the following flags.
DPNSPCAPS_SUPPORTSALLADAPTERS
The service provider is supported on all the adapters that are present on the system.
DPNSPCAPS_SUPPORTSBROADCAST
For IP and IPX applications, the service provider has the ability to find games by broadcasting, if sufficient addressing information is not provided.
DPNSPCAPS_SUPPORTSDPNSRV
Dpnsvr.exe will provide port sharing for the given SP. Currently, this flag is available on IP and IPX only. See Using the DirectPlay DPNSVR Application for a further discussion of DPNSVR.
lMaxEnumPayloadSize
Long that specifies the maximum size of the payload information that can be sent in the ResponseData member of the types that accompany the DirectPlay8Event.EnumHostQuery and DirectPlay8Event.EnumHostQuery methods.
lNumThreads
Number of threads the service provider will use for servicing network requests. The default value is based on an algorithm that takes into account the number of processors on the system. Most applications will not need to modify this value.

After a service provider is active in your process you may only increase this value. Decreasing the value will have no effect. The setting is process wide, meaning it will effect your current Microsoft® DirectPlay® object and any other DirectPlay objects in your process.

lSystemBufferSizeAs
The size of the operating system buffer. This buffer holds data from the communications device when your application cannot process data as fast as it arrives. The purpose of this buffer is to prevent data loss if you receive a sudden burst of data, or if the receive threads are momentarily stalled. Increasing lSystemBufferSize may increase latency if your application cannot process the received data fast enough. You can eliminate the operating system buffer by setting lSystemBufferSize to 0. However, if you do so, you run the risk of losing data if you cannot process the received data as fast as it arrives.