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.
 
 
 
 
 
 

108 lines
3.3 KiB

/*****************************************************************************
*
* (C) COPYRIGHT MICROSOFT CORPORATION, 2000
*
* TITLE: WiaUtil.h
*
* VERSION: 1.0
*
* AUTHOR: OrenR
*
* DATE: 2000/11/07
*
* DESCRIPTION: Provides supporting DShow utility functions used to build
* preview graph
*
*****************************************************************************/
#ifndef _WIAUTIL_H_
#define _WIAUTIL_H_
/////////////////////////////////////////////////////////////////////////////
// CWiaUtil
class CWiaUtil
{
public:
static HRESULT CreateWiaDevMgr(IWiaDevMgr **ppDevMgr);
static HRESULT CreateRootItem(IWiaDevMgr *pDevMgr,
const CSimpleString *pstrWiaDeviceId,
IWiaItem **ppRootItem);
static HRESULT FindWiaIdByDShowId(const CSimpleString *pstrDShowId,
CSimpleString *pstrWiaId,
IWiaItem **ppRootItem = NULL);
static HRESULT GetProperty(IWiaPropertyStorage *pPropStorage,
PROPID nPropID,
LONG *pnValue);
static HRESULT GetProperty(IWiaPropertyStorage *pPropStorage,
PROPID nPropID,
CSimpleStringWide *pstrPropertyValue);
static HRESULT SetProperty(IWiaPropertyStorage *pPropStorage,
PROPID nPropID,
LONG nValue);
static HRESULT SetProperty(IWiaPropertyStorage *pPropStorage,
PROPID nPropID,
const CSimpleString *pstrPropVal);
static HRESULT GetUseVMR(BOOL *pbUseVMR);
private:
static HRESULT SetProperty(IWiaPropertyStorage *pPropStorage,
PROPID nPropID,
const PROPVARIANT *ppv,
PROPID nNameFirst);
static HRESULT GetProperty(IWiaPropertyStorage *pPropStorage,
PROPID nPropID,
PROPVARIANT *pPropVar);
};
/////////////////////////////////////////////////////////////////////////////
// CRegistry
class CRegistry
{
public:
CRegistry(HKEY hRoot,
const TCHAR *pszKeyPath);
virtual ~CRegistry();
HRESULT GetDWORD(const TCHAR *pszVarName,
DWORD *pdwValue,
BOOL bSetIfNotExist = FALSE);
HRESULT SetDWORD(const TCHAR *pszVarName,
DWORD dwValue);
HRESULT GetString(const TCHAR *pszVarName,
TCHAR *pszValue,
DWORD cchValue,
BOOL bSetIfNotExist = FALSE);
HRESULT SetString(const TCHAR *pszVarName,
TCHAR *pszValue);
operator HKEY() const
{
return m_hRootKey;
}
private:
HKEY m_hRootKey;
BOOL m_bReadOnlyKey;
};
#endif // _WIAUTIL_H_