⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 listprops.h

📁 这是一个控制台程序
💻 H
字号:
//*****************************************************************************
//
// Microsoft Windows Media
// Copyright (C) Microsoft Corporation. All rights reserved.
//
// FileName:            ListProps.h
//
// Abstract:            Interface of CWMProp class
//
//*****************************************************************************
//

#pragma once
#include <stdio.h>
#include <tchar.h>
#include "wmsdk.h"

class CWMProp : public IWMReaderCallback
{
public:
	CWMProp(HRESULT *phr);
	~CWMProp();
	HRESULT Open(LPCWSTR pwszFileName);

private:
	HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void **ppvObject);
	ULONG STDMETHODCALLTYPE AddRef();
	ULONG STDMETHODCALLTYPE Release();

	HRESULT STDMETHODCALLTYPE OnSample( /* [in] */ DWORD dwOutputNum,
										/* [in] */ QWORD cnsSampleTime,
										/* [in] */ QWORD cnsSampleDuration,
										/* [in] */ DWORD dwFlags,
										/* [in] */ INSSBuffer __RPC_FAR *pSample,
										/* [in] */ void __RPC_FAR *pvContext);
	HRESULT STDMETHODCALLTYPE OnStatus( /* [in] */ WMT_STATUS Status,
										/* [in] */ HRESULT hr,
										/* [in] */ WMT_ATTR_DATATYPE dwType,
										/* [in] */ BYTE __RPC_FAR *pValue,
										/* [in] */ void __RPC_FAR *pvContext);
	HRESULT OpenFileWithEditor();
	HRESULT OpenFileWithReader();
	HRESULT GetBoolAttribsFromEditor(LPCWSTR pwszName, BOOL *pResult);
	HRESULT GetPropertiesFromProfile();
	HRESULT PrintCodecName(IWMStreamConfig *pConfig);

private:
	IWMReader          *m_pReader;
	IWMHeaderInfo      *m_pHeaderInfo;
	IWMMetadataEditor  *m_pIWMEditor;
	IWMProfile         *m_pProfile;
	WCHAR              m_wszFileName[ MAX_PATH ];
	HANDLE             m_hOpenEvent;
	HANDLE             m_hCloseEvent;
	BOOL               m_bIsDRM;
	HRESULT            m_hr;
};

//
// MACROS
//

#define SAFE_RELEASE(p) if ( p ) { p->Release(); p = NULL; }
#define SAFECLOSE_HANDLE(p) if ( p ) { CloseHandle( p ); p = NULL; }
#define SAFE_ARRAYDELETE(p) if ( p ) { delete [] p; p = NULL; }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -