mirror of https://github.com/tongzx/nt5src
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.
43 lines
1.3 KiB
43 lines
1.3 KiB
///////////////////////////////////////////////////////////////////////////////
|
|
// 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
|