O


object context, 95, 122–128

KMDF drivers, 126–128

UMDF drivers, 122–125

object files, 623

object lifetime, 94, 110–112

callback objects, 113

KMDF drivers, 115–122

request, memory, and buffer pointer objects, 252–253

UMDF drivers, 115–119

object manager, defined, 48

object model for WDF frameworks, 72, 75

object presentation lock, 386

object synchronization lock, 386

objects. See kernel objects

objects (COM), 587–589

how to use, 597–600

implementing classes for, 607

lifetime management, 597–600

properties and events, 594–595

objects (KMDF), 102–104

context areas, 126–128

creating, 107–110

deleting, 115–122

objects (UMDF), 95

context areas, 122–125

creating, 106–107

deleting, 115–119

tracking, 709–710

objects (WDF), 91–128. See also KMDF object model; UMDF object model

attributes, 94, 108

context areas, 122–128

deleting, hierarchy and, 111

implementation, 95–105

object creation, 106–110

device objects, 149–157

object hierarchy and lifetime, 110–122. See also hierarchy of WDF objects

UMDF framework, 97–101

OBJ_PATH directive (Makefile.inc), 633

obtaining (downloading)

builds of Windows, 17–18

Debugging Tools for Windows package, 18–19

OSR Learning Kits, 19–20

WDK, 13

Windows symbol files, 19

off (powered-down) state, 168

OnCancel method (IRequestCallbackCancel), 390

OnCleanup method (IObjectCleanup), 113–114, 125, 390

OnCleanupFile callback (IFileCallbackCleanup), 351

OnCloseFile method (IFileCallbackClose), 390

OnCompletion method (IRequestCallbackRequestCompletion), 343, 390

OnCreateFile method (IQueueCallbackCreate), 274–275, 390

OnD0Entry method (IPnpCallback), 172, 181, 194, 198, 200–201

OnD0Exit method (IPnpCallback), 172, 188, 196, 198, 200–201

OnDefaultIoHandler method (IQueueCallbackDefaultIoHandler), 290, 390

OnDeinitialize method (IDriverEntry), 132, 482

OnDeviceAdd method (IDriverEntry), 132, 136, 149, 181, 194, 483–484, 598

OnDeviceControl method, 391

OnDeviceIoControl method (IQueueCallbackDeviceIoControl), 287–288, 390

OnImpersonate method (IImpersonateCallback), 390

OnImpersonation callback (IImpersonateCallback), 277–278

OnInitialize method (IDriverEntry), 132, 136, 482

OnIoResume method (IQueueCallbackIoResume), 181, 390

OnIoStop method (IQueueCallbackIoStop), 184, 188, 295, 390

OnPrepareHardware method (IPnpCallbackHardware), 172, 181, 197, 199

OnQueryRemove method (IPnpCallback), 172, 198

OnQueryStop method (IPnpCallback), 172, 198

OnRead method (IQueueCalbackRead), 263, 390

OnReleaseHardware method (IPnpCallbackHardware), 172, 184, 188, 197, 200

OnSelfManagedIoCleanup method (IPnpCallbackSelfManagedIo), 184, 188, 299

OnSelfManagedIoFlush method (IPnpCallbackSelfManagedIo), 184, 188, 299

OnSelfManagedIoInit method (IPnpCallbackSelfManagedIo), 181, 188, 299, 300

OnSelfManagedIoRestart method (IPnpCallbackSelfManagedIo), 181, 299

OnSelfManagedIoStop method (IPnpCallbackSelfManagedIo), 299

OnSelfManagedIoSuspend method (IPnpCallbackSelfManagedIo), 184, 299

OnStateChange method (IQueueCallbackStateChange), 390

OnSurpriseRemoval method (IPnpCallback), 172, 187, 198, 200–201

OnWrite method (IQueueCallbackWrite), 283–284, 390

Open Systems Resources, 19–21

_opt modifier, 761, 764

OPTIONAL macro, 764

order of evaluation, implicit, 742–743

ordinary spin locks, 400. See also spin lock objects

Oshins, Jake, 171

OSR Learning Kits, obtaining, 19–20

OSR Online, 21

Osrusbfx2 sample driver, 17

debugging, 721–725

INF file for, 652

with PREfast annotations, 818–822

__out annotation, 761–764

OUT parameter, 590–591, 764

output buffer naming, 247

output files (Build utility), 623–624

output parameter annotations, 761–764

OutputBufferAPI rule, 851




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