Developing Drivers with the Windows Driver Foundation (Pro Developer)
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
Категории