windows-nt/Source/XPSP1/NT/multimedia/directx/dxdiag/musinfo.h
2020-09-26 16:20:57 +08:00

57 lines
1.8 KiB
C

/****************************************************************************
*
* 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