Source code of Windows XP (NT5)
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.
 
 
 
 
 
 

169 lines
3.1 KiB

/*++
Copyright (c) 2000 Microsoft Corporation
Module Name:
WiaHelpers.h
Abstract:
Author:
Hakki T. Bostanci (hakkib) 06-Apr-2000
Revision History:
--*/
#ifndef _WIAHELPERS_H_
#define _WIAHELPERS_H_
//////////////////////////////////////////////////////////////////////////
//
// cross references
//
#include "ComWrappers.h"
#include "WiaWrappers.h"
//////////////////////////////////////////////////////////////////////////
//
//
//
class CMyWiaPropertyStorage : public IWiaPropertyStorage
{
public:
HRESULT
ReadSingle(
const CPropSpec &PropSpec,
CPropVariant *pPropVariant
)
{
return ReadMultiple(1, &PropSpec, pPropVariant);
}
HRESULT
WriteSingle(
const CPropSpec &PropSpec,
const CPropVariant &PropVariant,
PROPID propidNameFirst = WIA_IPA_FIRST
)
{
return WriteMultiple(1, &PropSpec, &PropVariant, propidNameFirst);
}
HRESULT
ReadSingle(
const CPropSpec &PropSpec,
CPropVariant *pPropVariant,
VARTYPE vtNew
);
HRESULT
WriteVerifySingle(
const CPropSpec &PropSpec,
const CPropVariant &PropVariant,
PROPID propidNameFirst = WIA_IPA_FIRST
);
};
HRESULT
ReadWiaItemProperty(
IWiaItem *pWiaItem,
const CPropSpec &PropSpec,
CPropVariant *pPropVariant,
VARTYPE vtNew
);
HRESULT
WriteWiaItemProperty(
IWiaItem *pWiaItem,
const CPropSpec &PropSpec,
const CPropVariant &PropVariant
);
//////////////////////////////////////////////////////////////////////////
//
//
//
bool operator ==(IWiaPropertyStorage &lhs, IWiaPropertyStorage &rhs);
inline bool operator !=(IWiaPropertyStorage &lhs, IWiaPropertyStorage &rhs)
{
return !(lhs == rhs);
}
bool operator ==(IWiaItem &lhs, IWiaItem &rhs);
inline bool operator !=(IWiaItem &lhs, IWiaItem &rhs)
{
return !(lhs == rhs);
}
//////////////////////////////////////////////////////////////////////////
//
// define these classes to be able to overload the == and != operators
//
class CIWiaPropertyStoragePtr : public CComPtr<IWiaPropertyStorage>
{
public:
bool operator ==(CIWiaPropertyStoragePtr &rhs)
{
return **this == *rhs;
}
bool operator !=(CIWiaPropertyStoragePtr &rhs)
{
return !(**this == *rhs);
}
};
class CIWiaItemPtr : public CComPtr<IWiaItem>
{
public:
bool operator ==(CIWiaItemPtr &rhs)
{
return **this == *rhs;
}
bool operator !=(CIWiaItemPtr &rhs)
{
return !(**this == *rhs);
}
};
//////////////////////////////////////////////////////////////////////////
//
//
//
class CMyEnumSTATPROPSTG : public IEnumSTATPROPSTG
{
public:
HRESULT GetCount(ULONG *pcelt);
HRESULT Clone(CMyEnumSTATPROPSTG **ppenum);
};
//////////////////////////////////////////////////////////////////////////
//
//
//
BOOL
InstallImageDeviceFromInf(
PCTSTR pInfFileName,
PCTSTR pDeviceName = 0
);
HRESULT
InstallTestDevice(
IWiaDevMgr *pWiaDevMgr,
PCTSTR pInfFileName,
BSTR *pbstrDeviceId
);
#endif //_WIAHELPERS_H_