windows-nt/Source/XPSP1/NT/shell/services/hdsrv/shhwdtct/cstmprop.h
2020-09-26 16:20:57 +08:00

43 lines
1.3 KiB
C++

///////////////////////////////////////////////////////////////////////////////
// HWDeviceCustomProperties
///////////////////////////////////////////////////////////////////////////////
#ifndef _CSTMPROP_H
#define _CSTMPROP_H
#include "unk.h"
#include <shpriv.h>
//extern const CLSID CLSID_HWDeviceCustomProperties;
class CHWDeviceCustomPropertiesImpl : public CCOMBase,
public IHWDeviceCustomProperties
{
public:
// Interface IHWDeviceCustomProperties
STDMETHODIMP InitFromDeviceID(LPCWSTR pszDeviceID, DWORD dwFlags);
STDMETHODIMP InitFromDevNode(LPCWSTR pszDevNode, DWORD dwFlags);
STDMETHODIMP GetDWORDProperty(LPCWSTR pszPropName, DWORD* pdwProp);
STDMETHODIMP GetStringProperty(LPCWSTR pszPropName, LPWSTR* ppszProp);
STDMETHODIMP GetMultiStringProperty(LPCWSTR pszPropName,
BOOL fMergeMultiSz, WORD_BLOB** ppblob);
STDMETHODIMP GetBlobProperty(LPCWSTR pszPropName, BYTE_BLOB** ppblob);
public:
CHWDeviceCustomPropertiesImpl();
~CHWDeviceCustomPropertiesImpl();
private:
class CHWDeviceInst* _phwdevinst;
class CNamedElem* _pelemToRelease;
DWORD _dwFlags;
BOOL _fInited;
};
typedef CUnkTmpl<CHWDeviceCustomPropertiesImpl> CHWDeviceCustomProperties;
#endif // _CSTMPROP_H