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.
|
|
#ifndef _DEVEXT_H
#define _DEVEXT_H
//
// Class device extension.
//
#define REGPATHMAX 100
typedef enum { eBaseDevice = 1, eBatteryDevice, eAdaptorDevice } EXTENSION_TYPE;
typedef struct _CBatteryDevExt { UNICODE_STRING m_RegistryPath; // will be converted to a unicode string
WCHAR m_RegistryBuffer[REGPATHMAX]; PDEVICE_OBJECT m_pHidPdo;
PDEVICE_OBJECT m_pBatteryFdo; // Functional Device Object
PDEVICE_OBJECT m_pLowerDeviceObject; // Detected at AddDevice time
PFILE_OBJECT m_pHidFileObject; CBattery * m_pBattery; ULONG m_ulTagCount; // Tag for next battery
BOOLEAN m_bIsStarted; // if non zero, the device is started
BOOLEAN m_bFirstStart; // Need to differentiate between
// first and second start IRP.
BOOLEAN m_bJustStarted; // If set, will open handle on next
// IRP_MN_QUERY_PNP_DEVICE_STATE
ULONG m_ulDefaultAlert1; // Cache DefaultAlert1 accross stop device.
PVOID m_pSelector; // Selector for battery
EXTENSION_TYPE m_eExtType; PDEVICE_OBJECT m_pOpenedDeviceObject; PKTHREAD m_OpeningThread; IO_REMOVE_LOCK m_RemoveLock; IO_REMOVE_LOCK m_StopLock; ULONG m_iHibernateDelay; ULONG m_iShutdownDelay; } CBatteryDevExt;
#endif // devext.h
|