F


Fail_Driver3 sample driver (example), 855–859

failure codes, 58–59

fast mutex objects, 41

fatal errors

during installation, 665

in KMDF drivers, 83

in UMDF drivers, 80

faults, memory. See page faults

/faults parameter (Driver Verifier), 682–683

FDODriver rule, 853

FDOPowerPolicyOwnerAPI rule, 854

FDOs (functional device objects), 29, 140, 141

device initialization for (KMDF), 153–154

power management, 171, 174

device enumeration and startup sequence, 182

power-down and removal sequence, 185

software-only drivers, 190

file handle I/O targets (UMDF), 353–354

file objects, 98, 103, 114

callback objects for, 100

context data for, 123

deleting, 116

with I/O requests, 271–272

intra-stack files and, 313

in object hierarchy, 112

file system drivers, 89

FILE_AUTOGENERATED_DEVICE_NAME property, 159

FileHandle dispatchers, 312

FileObjectConfigured rule, 847

filter (device property), 145

filter DOs (device objects), 29, 140, 141

device initialization for (KMDF), 154

power management, 175

software-only drivers, 190

filter drivers, 29, 141, 144

I/O request flow through, 235, 237

as power policy owners, 190

filtering PREfast results, 815

fixed device names, 159

fixed-size buffer annotations, 766–768

/flags parameter (Driver Verifier), 680–681

floating-point annotations, 733, 801–802

flushing caches for DMA transfers, 557

Force IRQL Checking option (Driver Verifier), 678, 680, 683–684

Force Pending I/O Requests option (Driver Verifier), 678

FormatRequestForControlTransfer method (IWDFUsbIoTarget), 370

FormatRequestForIoctl method (IWDFIoTarget), 331

FormatRequestForRead method (IWDFIoTarget), 331

FormatRequestForWrite method (IWFDIoTarget), 284, 332, 333

formatting I/O requests, 330–336

FormatUsingCurrentType method (IWDFIoRequest), 331

FormatUsingCurrentType method (IWDFRequest), 342

forwarding of I/O requests (automatic), 272–273

framework-created framework objects (UMDF), 70

framework objects, 52–55, 75, 104, 638–639

context areas for, 124–125

deleting, 115–117

hierarchy of, 54–55

I/O request flow, 239–241

with KMDF, 71–72

with UMDF, 69–70

framework selection, 89

framework startup and shutdown, 178–179

free builds of co-installers, 640

free builds of drivers, 620

debugging with WinDbg, 700

free builds of Windows, obtaining, 18, 47

freeing memory, annotations for, 790–791

_full annotation, 761

fully-powered working state, 168

function drivers, 29, 141, 144

create requests, not accepting, 279–280

I/O request flow through, 235, 237

interrupt handling, 538

function parameters, annotations on, 754–756

function pointers, incorrect use of, 750

function result annotations, 784–785

function return values, checking, 773–774

function role type declarations (SDV), 832–834, 860–862

function type class mismatches, 746–747

function typedef declarations, annotations on, 758–760

function usage errors, detecting with PREfast, 733

functional device object (FDO), 29, 140, 141

device initialization for (KMDF), 153–154

power management, 171, 174

device enumeration and startup sequence, 182

power-down and removal sequence, 185

software-only drivers, 190

functions, annotations on, 754–756

Fx2_Driver sample driver, 16

debugging, 716–721

INF file for, 649–651

obtaining (downloading), 16




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