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.
 
 
 
 
 
 

47 lines
1.3 KiB

#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 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 _InitPnpInfo();
HRESULT _InitPnpID();
private:
DEVINST _devinst;
WCHAR _szPnpID[MAX_PNPID];
GUID _guidInterface;
};
#endif //_HWDEV_H