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.
|
|
#include "namellst.h"
#include "cmmn.h"
#include <dbt.h>
class CHandleNotif : public CNamedElem { public: // CNamedElem
HRESULT Init(LPCWSTR pszElemName);
// CHandleNotif
HRESULT HNHandleEvent(DEV_BROADCAST_HANDLE* pdbh, DWORD dwEventType, BOOL* pfSurpriseRemoval); HRESULT InitNotif(CHandleNotifTarget* phnt); HDEVNOTIFY GetDeviceNotifyHandle(); CHandleNotifTarget* GetHandleNotifTarget();
static HRESULT HandleBroadcastHandleEvent(DEV_BROADCAST_HANDLE* pdbh, DWORD dwEventType); static HRESULT _HandleDeviceArrivalRemoval(DEV_BROADCAST_HANDLE* pdbh, DWORD dwEventType, CNamedElem* pelem); static HRESULT _HandleDeviceLockUnlock(DEV_BROADCAST_HANDLE* pdbh, DWORD dwEventType, CNamedElem* pelem);
public: static HRESULT Create(CNamedElem** ppelem);
public: CHandleNotif(); ~CHandleNotif();
private: HRESULT _Register(); HRESULT _Unregister(); HRESULT _CloseDevice();
private: BOOL _fSurpriseRemoval; CHandleNotifTarget* _phnt; HDEVNOTIFY _hdevnotify;
DWORD _cLockAttempts; };
|