New for Kernel-Mode Driver Architecture

The Windows Driver Kit (WDK) that is released with Windows 7 includes the following new features for kernel-mode drivers.

Support for More than 64 Logical Processors

To enable multiprocessor systems to contain more than 64 logical processors, a new set of core kernel library support routines has been added to support group affinities. These new routines include KeGetCurrentProcessorNumberEx, KeQueryActiveGroupCount, KeQueryActiveProcessorCountEx, and KeQueryGroupAffinity.

Object Reference Tracing with Tags

Several new object manager routines, which include ObReferenceObjectWithTag and ObDereferenceObjectWithTag, have been added to support object reference tracing with tags.

Saving the Extended Processor State

On x86-based processors that support the XSAVE and XRSTOR instructions, these instructions provide a flexible mechanism to save and restore extended processor state information. The new KeSaveExtendedProcessorState and KeRestoreExtendedProcessorState routines use these instructions if they are available.

Timer Coalescing

The new KeSetCoalescableTimer routine is similar to the familiar KeSetTimerEx routine, except that it enables the caller to specify how much delay can be tolerated in the timer expiration times. Frequently, the operating system can use this information to coalesce two or more timer expirations into a single expiration. Timer coalescing helps to increase the length of idle periods, during which the processor can run in a low-power state.

Overriding the Default Power Behavior

A kernel-mode driver can call the new PoSetPowerRequest routine to override several types of default power behavior, which are specified as POWER_REQUEST_TYPE enumeration values. To restore the default behavior, the driver calls the new PoClearPowerRequest routine.

Session Notifications for Devices

A kernel-mode driver can call the new IoRegisterContainerNotification routine to register to receive notifications of changes in the state of user sessions that the driver is interested in.

Support for Hardware Performance Counters

The new HalAllocateHardwareCounters and HalFreeHardwareCounters routines enable kernel-mode drivers to coordinate the sharing of hardware counter resources among thread profiling tools. The new KeQueryHardwareCounterConfiguration and KeSetHardwareCounterConfiguration routines enable kernel-mode drivers to configure hardware counters to be used by thread profiling tools.

Unbiased Interrupt Time

The new KeQueryUnbiasedInterruptTime routine is similar to the familiar KeQueryInterruptTime routine, except that it does not add a bias to the interrupt counter value to compensate for periods in which increments of the counter are suspended.

 

 

Send comments about this topic to Microsoft

Mostrar:
© 2014 Microsoft