Files
Client/Library/dxx8/samples/Multimedia/DirectShow/Misc/DMOEnum/dmoenumdlg.h
LGram16 e067522598 Initial commit: ROW Client source code
Game client codebase including:
- CharacterActionControl: Character and creature management
- GlobalScript: Network, items, skills, quests, utilities
- RYLClient: Main client application with GUI and event handlers
- Engine: 3D rendering engine (RYLGL)
- MemoryManager: Custom memory allocation
- Library: Third-party dependencies (DirectX, boost, etc.)
- Tools: Development utilities

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 16:24:34 +09:00

122 lines
3.5 KiB
C++

//------------------------------------------------------------------------------
// File: DMOEnumDlg.h
//
// Desc: DirectShow sample code - header file for device enumeration dialog.
//
// Copyright (c) 2000-2001 Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
#include <dshow.h>
#include <dmo.h>
#if !defined(AFX_DMOENUMDLG_H__A96832BF_0309_4844_9B33_5E72285C3F3E__INCLUDED_)
#define AFX_DMOENUMDLG_H__A96832BF_0309_4844_9B33_5E72285C3F3E__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
//
// Macros
//
#define SAFE_RELEASE(x) { if (x) x->Release(); x = NULL; }
/////////////////////////////////////////////////////////////////////////////
// CDMOEnumDlg dialog
class CDMOEnumDlg : public CDialog
{
// Construction
public:
CDMOEnumDlg(CWnd* pParent = NULL); // standard constructor
HRESULT EnumDMOs(IEnumDMO *pEnumDMO);
void FillCategoryList(void);
void DisplayFullCategorySet(void);
void AddFilterCategory(const TCHAR *szCatDesc, const GUID *pCatGuid);
void AddFilter(const TCHAR *szFilterName, const GUID *pCatGuid);
void AddTypeInfo(const GUID *pCLSID);
void ShowSelectedDMOInfo(const GUID *pCLSID);
void ClearDMOInfo(void);
void ClearDeviceList(void);
void ClearFilterList(void);
void ClearTypeLists(void);
void SetNumClasses(int nClasses);
void SetNumFilters(int nFilters);
void ShowFilenameByCLSID(REFCLSID clsid);
void ReleaseDMO(void);
void GetFormatString(TCHAR *szFormat, DMO_MEDIA_TYPE *pType);
void GetGUIDString(TCHAR *szString, GUID *pGUID);
void GetTypeSubtypeString(TCHAR *szCLSID, DMO_PARTIAL_MEDIATYPE& aList);
// Dialog Data
//{{AFX_DATA(CDMOEnumDlg)
enum { IDD = IDD_DMOENUM_DIALOG };
CStatic m_StrOutType;
CStatic m_StrOutSubtype;
CStatic m_StrInType;
CStatic m_StrInSubtype;
CButton m_CheckOutQC;
CButton m_CheckInQC;
CStatic m_StrInFormat;
CStatic m_StrOutFormat;
CButton m_CheckOutFixedSize;
CButton m_CheckOutWholeSamples;
CButton m_CheckOutOptional;
CButton m_CheckOutOneSample;
CButton m_CheckOutDiscardable;
CButton m_CheckInWholeSamples;
CButton m_CheckInOneSample;
CButton m_CheckInHoldsBuffers;
CButton m_CheckInFixedSize;
CStatic m_nOutputStreams;
CStatic m_nInputStreams;
CListBox m_ListOutputStreams;
CListBox m_ListInputStreams;
CStatic m_nOutputTypes;
CStatic m_nInputTypes;
CListBox m_ListOutputTypes;
CListBox m_ListInputTypes;
CButton m_bCheckKeyed;
CStatic m_StrFilename;
CStatic m_StrFilters;
CStatic m_StrClasses;
CListBox m_FilterList;
CListBox m_DeviceList;
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDMOEnumDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
HICON m_hIcon;
IMediaObject *m_pDMO;
IGraphBuilder *m_pGB;
// Generated message map functions
//{{AFX_MSG(CDMOEnumDlg)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnSelchangeListDevices();
afx_msg void OnClose();
afx_msg void OnCheckShowall();
afx_msg void OnSelchangeListFilters();
afx_msg void OnCheckKeyed();
afx_msg void OnSelchangeListInputStreams();
afx_msg void OnSelchangeListOutputStreams();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DMOENUMDLG_H__A96832BF_0309_4844_9B33_5E72285C3F3E__INCLUDED_)