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.
|
|
#ifndef _HWDEV_H
#define _HWDEV_H
#include "namellst.h"
#include "cmmn.h"
#include "misc.h"
///////////////////////////////////////////////////////////////////////////////
//
// This will enumerate all the Device that we're interested in and create
// additionnal objects to do specialized work
//
///////////////////////////////////////////////////////////////////////////////
class CHWDeviceInst //: public CDeviceElem
{ public: // CHWDeviceInst
HRESULT Init(DEVINST devinst); HRESULT InitInterfaceGUID(const GUID* pguidInterface);
HRESULT GetPnpID(LPWSTR pszPnpID, DWORD cchPnpID); HRESULT GetDeviceInstance(DEVINST* pdevinst); HRESULT GetPnpInstID(LPWSTR pszPnpInstID, DWORD cchPnpInstID); HRESULT GetInterfaceGUID(GUID* pguidInterface);
HRESULT IsRemovableDevice(BOOL* pfRemovable); HRESULT ShouldAutoplayOnSpecialInterface(const GUID* pguidInterface, BOOL* pfShouldAutoplay);
public: CHWDeviceInst(); ~CHWDeviceInst();
private: HRESULT _GetPnpIDRecurs(DEVINST devinst, LPWSTR pszPnpID, DWORD cchPnpID); HRESULT _InitFriendlyName(); HRESULT _InitPnpInfo(); HRESULT _InitPnpIDAndPnpInstID();
private: DEVINST _devinst; // For now MAX_SURPRISEREMOVALFN
WCHAR _szFriendlyName[MAX_SURPRISEREMOVALFN]; WCHAR _szPnpID[MAX_PNPID]; WCHAR _szPnpInstID[MAX_PNPINSTID];
GUID _guidInterface;
BOOL _fFriendlyNameInited; };
#endif //_HWDEV_H
|