/**************************************************************************** * * File: musinfo.h * Project: DxDiag (DirectX Diagnostic Tool) * Author: Mike Anderson (manders@microsoft.com) * Purpose: Gather information about DirectMusic * * (C) Copyright 1998 Microsoft Corp. All rights reserved. * ****************************************************************************/ #ifndef MUSINFO_H #define MUSINFO_H // DXD_IN_DM_VALUE is the name of a value stored under the registry key // HKLM\DXD_IN_DM_KEY that indicates that DxDiag is using // DirectMusic. If DxDiag starts up and this value exists, DxDiag // probably crashed in DirectMusic and DxDiag should offer to run without // using DirectMusic. #define DXD_IN_DM_KEY TEXT("Software\\Microsoft\\DirectX Diagnostic Tool") #define DXD_IN_DM_VALUE TEXT("DxDiag In DirectMusic") struct MusicPort { GUID m_guid; BOOL m_bSoftware; BOOL m_bKernelMode; BOOL m_bUsesDLS; BOOL m_bExternal; DWORD m_dwMaxAudioChannels; DWORD m_dwMaxChannelGroups; BOOL m_bDefaultPort; BOOL m_bOutputPort; TCHAR m_szDescription[300]; MusicPort* m_pMusicPortNext; }; struct MusicInfo { BOOL m_bDMusicInstalled; MusicPort* m_pMusicPortFirst; TCHAR m_szGMFilePath[MAX_PATH]; TCHAR m_szGMFileVersion[100]; GUID m_guidMusicPortTest; // This holds the GUID of the music port selected for testing BOOL m_bAccelerationEnabled; BOOL m_bAccelerationExists; RegError* m_pRegErrorFirst; TestResult m_testResult; // This is filled in by testmus.cpp }; HRESULT GetBasicMusicInfo(MusicInfo** ppMusicInfo); HRESULT GetExtraMusicInfo(MusicInfo* pMusicInfo); VOID DestroyMusicInfo(MusicInfo* pMusicInfo); VOID DiagnoseMusic(SysInfo* pSysInfo, MusicInfo* pMusicInfo); #endif // DISPINFO_H