Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*==========================================================================
* * Copyright (C) 1999 Microsoft Corporation. All Rights Reserved. * * File: dvdptransport.h * Content: Definition of base class for Transport --> DirectXVoice * * History: * Date By Reason * ==== == ====== * 07/06/99 rodtoll Created It * 07/29/99 rodtoll Added static members to load default settings * 08/25/99 rodtoll General Cleanup/Modifications to support new * ompression sub-system. * Added default parameter reads from the registry * 08/30/99 rodtoll Distinguish between primary buffer format and * playback format. * 09/14/99 rodtoll Updated parameters to Init * 10/07/99 rodtoll Updated to work in Unicode * 10/27/99 pnewson Fix: Bug #113935 - Saved AGC values should be device specific * 01/10/00 pnewson AGC and VA tuning * 03/03/2000 rodtoll Updated to handle alternative gamevoice build. * 04/07/2000 rodtoll Updated for new DP <--> DPV interface * 07/12/2000 rodtoll Bug #31468 - Add diagnostic spew to logfile to show what is failing the HW Wizard * 04/06/2001 kareemc Added Voice Defense * ***************************************************************************/
#ifndef __DVENGINE_H
#define __DVENGINE_H
#include "dpvcp.h"
// CDirectVoiceEngine
//
// This class is the base interface for DirectVoiceClientEngine and
// DirectVoiceServerEngine. This interface is used by DirectPlay/
// DirectNet to inform the DirectXVoice engine of new events.
//
// Hooks are placed into DirectPlay that call these functions.
//
class CDirectVoiceEngine { public: public: // Incoming messages
virtual BOOL ReceiveSpeechMessage( DVID dvidSource, LPVOID lpMessage, DWORD dwSize ) = 0;
public: // Session Management
virtual HRESULT StartTransportSession() = 0; virtual HRESULT StopTransportSession() = 0;
public: // Player information
virtual HRESULT AddPlayer( DVID dvID ) = 0; virtual HRESULT RemovePlayer( DVID dvID ) = 0;
public: // Used by local voice server to hook player messages to send
// to the remote voice server
virtual HRESULT Initialize( CDirectVoiceTransport *lpTransport, LPDVMESSAGEHANDLER lpdvHandler, LPVOID lpUserContext, LPDWORD lpdwMessages, DWORD dwNumElements ) = 0; virtual HRESULT CreateGroup( DVID dvID ) = 0; virtual HRESULT DeleteGroup( DVID dvID ) = 0; virtual HRESULT AddPlayerToGroup( DVID dvidGroup, DVID dvidPlayer ) = 0; virtual HRESULT RemovePlayerFromGroup( DVID dvidGroup, DVID dvidPlayer ) = 0; virtual HRESULT MigrateHost( DVID dvidNewHost, LPDIRECTPLAYVOICESERVER lpdvServer ) = 0; virtual HRESULT SendComplete( PDVEVENTMSG_SENDCOMPLETE pSendComplete ) = 0;
public: // Compression Information Storage
static HRESULT Startup( const WCHAR *szRegistryPath ); static HRESULT Shutdown();
static DNCRITICAL_SECTION s_csSTLLock; // Lock serializing access to the STL
public: // packet validation
static BOOL ValidateSpeechPacketSize( const DVFULLCOMPRESSIONINFO* lpdvfCompressionInfo, DWORD dwSize ); protected:
static DWORD s_dwDefaultBufferAggressiveness; // Default system buffer aggresiveness
static DWORD s_dwDefaultBufferQuality; // Default system buffer quality
static DWORD s_dwDefaultSensitivity; // Default system sensitivity
static LPWAVEFORMATEX s_lpwfxPrimaryFormat; // Primary buffer format
static LPWAVEFORMATEX s_lpwfxPlaybackFormat; // Playback format
static LPWAVEFORMATEX s_lpwfxMixerFormat; // Format for the mixer
static BOOL s_fASO; // Should ASO be used?
static WCHAR s_szRegistryPath[_MAX_PATH]; // Registry path
static BOOL s_fDumpDiagnostics; // Should we dump diagnostic info during wizard runs?
};
#endif
|