U


UMDF debugger extensions, 705

UMDF drivers, 67–70. See also WDF driver model

advantages and limitations, 86–88

applications and, 74

callback objects and interfaces, 54, 94, 96–97, 99–101. See also callbacks

callback implementation, 70, 585–586, 611–613

choosing between KMDF and, 89

COM as basis of. See COM (Component Object Model)

debugging, 87, 705. See also debugging

system requirements for, 12

development, system requirements for, 12

device object creation and initialization, 149–152

device property store, 99, 447–450

devices supported, 85

driver callback object creation, 135–137

errors in, 58, 80

how to build, 622–624

I/O. See I/O processing

installing, 635–666

basics of, 636–637

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

object attributes, 94

power management

device enumeration and startup sequence, 181

power-down and removal sequence, 184

power-pageable devices, 174–176

power states, 169

protocol function driver (example), 197–201

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

surprise-removal sequence, 188

sample driver. See Fx2_Driver sample driver

structure and requirements, 130–133, 584–586

template for, 16, 475–493

typical I/O requests to, 80–81

WDF debugger extension, 63

Windows API with, 497–500

UMDF host process, 78

UMDF infrastructure, 76–81

UMDF object model, 75, 95–102

context areas, 122–125

object creation, 106–107

object hierarchy, 112–114

object lifetime, 115–119

UMDF programming model, 68–70

UMDF stack, 78

UMDF Verifier, 690–693

UmdfDispatcher directive, 647

UmdfImpersonationLevel directive, 276, 647

UmdfLibraryVersion directive, 648

UmdfMethodNeitherAction directive, 230–232

UMDF_MINOR_VERSION macro, 626

UmdfService directive, 647

UmdfServiceOrder directive, 647

UMDFSkeleton_OSR.inx file, 477, 489–493

UMDFSkeleton_Root.inx file, 477, 489

UMDF_VERSION macro, 626

unbalanced I/O requests, 273

uncancelable I/O requests, 294

uninitialized variables, detecting, 741–742

uninstalling drivers, 659

unmapping hardware resources, 537

UnmarkCancelable (IWDFIoRequest), 294

UNREFERENCE_PARAMETER macro, 46

unsupported I/O requests, handling, 503–506

Up device object (UMDF device stack), 79, 81

updating drives with Device Manager, 659–663

upper edge, WDF frameworks, 74–75

USB device objects (WDFUSBDEVICE), 89, 104, 114, 147, 355–356, 359, 360. See also USB target objects

continuous reader for (KMDF), 375–376

data transfer models, 357–358

deleting, 116

in object hierarchy, 112

USB dispatchers, 312

USB I/O request completion parameters objects, 99

USB interface objects (WDFUSBINTERFACE), 99, 104, 114, 147, 359

deleting, 116

in object hierarchy, 112

USB pipe objects, 104, 114, 147, 359, 361

configuring, 363–364

deleting, 116

in object hierarchy, 112

USB target objects, 99, 355–376

configuring, 361–369

request completion, 99

sending I/O requests to, 369–375

USBD_PIPE_TYPE enumeration, 364

USE_MSVCRT macro, 628

user interfaces, drivers and, 87

user-mode debugging, 698

user-mode framework. See UMDF drivers

user-mode programming, 26

debugging, 87. See also debugging

issuing I/O requests, 32

memory access, 45. See also memory objects

threads, 508. See also threads

user mode (Windows system), 26, 49

UuidGen tool, 425–427

__uuidof utility, 610




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