R


race conditions, 40, 41. See also synchronization

canceled I/O requests, 56–57

raising IRQL, annotations for, 805

raw devices, 142–143

raw resource lists, 532

.rc files, 466, 622

READ_PORT_Xxx macros, 530

READ_REGISTER_Xxx macros, 530

read requests (I/O), 32, 225, 242

event callbacks for, 282–291

formatting for I/O targets, 331–334

synchronous, 337

ReadFile function, 33, 225

real-time viewing of trace log, 436–437

recursive routines, 43

reference counts, 110, 113, 115, 117, 384

COM object lifetime, 589–590, 609–610

debugging, 591

memory objects, 324, 443. See also memory objects

tracking, 709–710

reference tracking, 689

references, circular, 113–114

refinement phase, SLAM engine, 831

reflector (UMDF), 76, 79

fatal errors and, 80

REGISTER mapping. See memory mapping

registering callbacks, 54, 105. See also callbacks

registry access, 447–453

KMDF registry objects and methods, 450–453

UMDF device property store, 99, 447–450

registry key objects, 103, 114

deleting, 116, 121

registry values for KMDF debugging, 713–714

release installations, 636, 656

maintaining, 696

Release method (IUnknown), 113, 589, 590–591, 600, 609–610

ReleaseLock method (IWDFObject), 386

releases of WDK, 13

reliability, 61

remote I/O targets (KMDF), 309

creating, 314–318

removal (device)

power-down and, 184–187

self-managed I/O during, 300–301

surprise, 178

Remove method (IWDFIoTargetStateManagement), 319

/removedriver parameter (Driver Verifier), 681

reports, SDV, 842–847

ReqIsCancOnCancReq rule, 850

ReqIsNotCancelable rule, 850

ReqNotCanceled rule, 850

ReqNotCanceledLocal rule, 850

request buffer rules (KMDF), 850–851

request-cancellation rules (KMDF), 850

request-completion rules (KMDF), 849

RequestCompleted rule, 849

RequestCompletedLocal rule, 849

requesting callbacks at intervals. See timer objects

requests, I/O. See I/O processing

__reserved annotation, 761, 773

/reset parameter (Driver Verifier), 682

resource errors, detecting with PREfast, 733

resource files, 466, 622

resource identification, 531

resource list objects, 103, 114, 532–534

deleting, 116

resource range list objects, 103, 114

deleting, 116

resource requirements list objects, 103, 114

deleting, 116

resources for more information, 20–22. See also documentation

restart (device), self-managed I/O during, 300

restoring IRQL, annotations for, 805

Results pane (SDV Defect Viewer), 845

Retrieve functions, 96, 104

RetrieveContext method, 125

RetrieveDeviceInstanceId method (IWDFDeviceInitialize), 150

RetrieveDevicePropertyStore method (IWDFDevice), 448

RetrieveDevicePropertyStore method (IWDFDeviceInitialize), 150, 448

RetrieveNextRequest method (IWDFIoQueue), 264, 268

RetrieveNextRequestByFileObject method (IWDFIoQueue), 264, 268

RetrieveUsbInterface method (IWDFUsbTargetDevice), 360, 363

RetrieveUsbPipeObject method (IWDFUsbInterface), 361, 364

return values for errors, 58

root folder, 14

root object (driver object), 110

routines for debugging, 699

rules, SDV, 826–831. See also SDV (Static Driver Verifier)

hierarchies for, 854–855

KMDF drivers, 847–855

running verifications on, 839–840

selecting, 834–839

RUN_WPP macro, 420–423, 628, 632

running drivers, debugging, 708–709




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