K


KD debugger, 699

KeAcquireFastMutex function, 514

KeAreApcsDisabled function, 514, 522

KeEnterCriticalRegion function, 513

KeGetCurrentIrql function, 522

KeLeaveCriticalRegion function, 513

KeLowerIrql function, 513

KePulseEvent function, 509

KeReleaseFastMutex function, 514

KeReleaseSemaphore function, 509

kernel, about, 24

kernel dispatcher objects, 41, 48

__kernel_driver analysis mode (PREfast), 734

kernel-mode debugging, 698, 711–713

kernel-mode framework. See KMDF drivers

kernel-mode programming, 26–27, 36–44, 500–503. See also WDM drivers

coding practice errors, detecting, 733

threads, 508. See also threads

tips for, 44–46

kernel mode (Windows system), 26

kernel objects, 24–30, 48

kernel stack, 43–44. See also memory

kernel subsystems (WDF architecture), 74

kernel subsystems (Windows architecture), 27

KernRate utility, 672–673

KernRate Viewer (KRView), 672–673

KeSetEvent function, 509

KeSynchronizeExecution function, 523

KetGetCurrentIrql function, 514

KMDF debugger extensions, 580–581, 705

KMDF driver development, system requirements for, 12

KMDF drivers, 67–68, 71–73, 83, 171. See also WDF driver model

callbacks, 54, 94. See also callbacks

child device enumeration, 157–159

choosing between UMDF and, 89

collection objects, 102, 114, 455–459

deleting, 115

debugging, system requirements for, 12

device and driver support, 88–89

device naming techniques, 159–162

device object creation and initialization, 152–157

DMA support. See DMA

driver object creation, 137–140

errors in, 59, 83

how to build, 622–624

I/O. See I/O processing

installing, 635–666

basics of, 636–637

co-installer package, 641, 642

considerations, 637–642

INFs, creating, 643–648

INFs, examples of, 648–653

methods for, 655–663

package components, 642–643

signing and distributing packages, 653–655

troubleshooting, 663–666

kernel-mode driver support routines, 500–503

object attributes, 94

power management

device enumeration and startup sequence, 182, 183

idle support, 207–212, 217–220

power-down and removal sequence, 185, 186

power-pageable devices, 174–176

power states, 169

simple hardware function driver (example), 202–205

software-only filter driver (example), 192–194

surprise-removal sequence, 189

wake support for KMDF drivers, 174, 207, 212–217, 217–222

registry objects and methods, 450–453

sample driver. See Osrusbfx2 sample driver

structure and requirements, 151–155

threads. See threads timer objects, 104, 114, 459–464

deleting, 116, 120

synchronization scope, 395–396

typical I/O requests to, 84

WDF debugger extension, 63

WMI support in, 464–473

KMDF infrastructure, 81–84

KMDF log, viewing, 726–729

KMDF object model, 72, 75, 102–105

context areas, 126–128

object creation, 107–110

object hierarchy, 114–115

object lifetime, 115–122

KMDF Verifier, 45, 687–690

KMDF_VERSION macro, 631

KmdfService directive, 647

KRView (KernRate Viewer), 672–673




Developing Drivers with the Microsoft Windows Driver Foundation
Developing Drivers with the Windows Driver Foundation (Pro Developer)
ISBN: 0735623740
EAN: 2147483647
Year: 2007
Pages: 224

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net