1920 2440 P 8 18 F B (Glossary) S 100 J ( of) S 100 J ( Terms) S 100 J ( and) S 100 J ( Acronyms) S E
1920 2940 P 0 12 F 24 12 F B (access) S 60 J ( violation) S E
2400 3260 P 0 12 F 24 12 F (An) S 60 J ( attempt) S 60 J ( to) S 60 J ( carry) S 60 J ( out) S 60 J ( a) S 60 J ( memory) S 60 J ( operation) S 60 J ( that) S 60 J ( is) S 60 J ( not) S 60 J ( allowed) S 60 J ( by) S 60 J ( the) S 60 J ( underlying) S 60 J ( page) S
2400 3520 P (protection.) S 60 J ( See) S 60 J ( also) S 60 J ( probe) S 60 J ( and) S 60 J ( SEH.) S
2880 3840 P (There) S 60 J ( are) S 60 J ( four) S 60 J ( basic) S 60 J ( kinds) S 60 J ( of) S 60 J ( actions) S 60 J ( that) S 60 J ( can) S 60 J ( cause) S 60 J ( access) S 60 J ( violations:) S
1920 4160 P () S 960 J ( 1) S 360 J ( Attempting) S 60 J ( an) S 60 J ( invalid) S 60 J ( operation,) S 60 J ( such) S 60 J ( as) S 60 J ( writing) S 60 J ( to) S 60 J ( a) S 60 J ( read-only) S 60 J ( buffer.) S
1920 4480 P () S 960 J ( 2) S 360 J ( Attempting) S 60 J ( to) S 60 J ( access) S 60 J ( memory) S 60 J ( beyond) S 60 J ( the) S 60 J ( limit) S 60 J ( of) S 60 J ( the) S 60 J ( current) S 60 J ( program's) S 60 J ( address) S
3360 4740 P (space) S 60 J ( \(a.k.a.) S 60 J ( "length) S 60 J ( violation"\).) S
1920 5060 P () S 960 J ( 3) S 360 J ( Attempting) S 60 J ( to) S 60 J ( access) S 60 J ( a) S 60 J ( page) S 60 J ( to) S 60 J ( which) S 60 J ( the) S 60 J ( system) S 60 J ( forbids) S 60 J ( access.) S 60 J ( For) S 60 J ( example,) S
3360 5320 P (code) S 60 J ( is) S 60 J ( not) S 60 J ( allowed) S 60 J ( to) S 60 J ( run) S 60 J ( in) S 60 J ( the) S 60 J ( low-order) S 60 J ( 64K) S 60 J ( of) S 60 J ( the) S 60 J ( NT) S 60 J ( user-mode) S 60 J ( address) S
3360 5580 P (space) S 60 J ( in) S 60 J ( order) S 60 J ( to) S 60 J ( simplify) S 60 J ( the) S 60 J ( detection) S 60 J ( of) S 60 J ( NULL) S 60 J ( pointer) S 60 J ( references.) S
1920 5900 P () S 960 J ( 4) S 360 J ( Attempting) S 60 J ( to) S 60 J ( access) S 60 J ( a) S 60 J ( page) S 60 J ( that) S 60 J ( is) S 60 J ( currently) S 60 J ( resident) S 60 J ( but) S 60 J ( dedicated) S 60 J ( to) S 60 J ( the) S 60 J ( use) S 60 J ( of) S
3360 6160 P (an) S 60 J ( executive) S 60 J ( component.) S 60 J ( For) S 60 J ( example,) S 60 J ( user-mode) S 60 J ( code) S 60 J ( is) S 60 J ( not) S 60 J ( allowed) S 60 J ( access) S 60 J ( a) S
3360 6420 P (page) S 60 J ( that) S 60 J ( the) S 60 J ( Kernel) S 60 J ( is) S 60 J ( using.) S
2880 6740 P (Note) S 60 J ( that) S 60 J ( this) S 60 J ( term) S 60 J ( pertains) S 60 J ( to) S 60 J ( memory) S 60 J ( operations.) S 60 J ( It) S 60 J ( has) S 60 J ( nothing) S 60 J ( to) S 60 J ( do) S 60 J ( with) S 60 J ( the) S
2880 7000 P (Security) S 60 J ( Manager's) S 60 J ( checking) S 60 J ( of) S 60 J ( user-mode) S 60 J ( access) S 60 J ( rights) S 60 J ( to) S 60 J ( objects.) S 60 J ( See) S 60 J ( security) S
2880 7260 P (violation,) S 60 J ( ACE,) S 60 J ( and) S 60 J ( ACL.) S
1920 7760 P 0 12 F 24 12 F B (ACE) S E
2400 8080 P 0 12 F 24 12 F (\(1\)) S 60 J ( Access) S 60 J ( control) S 60 J ( entry) S
2880 8400 P (An) S 60 J ( ACE) S 60 J ( is) S 60 J ( an) S 60 J ( individual) S 60 J ( entry) S 60 J ( in) S 60 J ( an) S 60 J ( ACL.) S 60 J ( An) S 60 J ( ACE) S 60 J ( contains) S 60 J ( an) S 60 J ( SID) S 60 J ( and) S 60 J ( describes) S
2880 8660 P (the) S 60 J ( access) S 60 J ( rights) S 60 J ( that) S 60 J ( a) S 60 J ( particular) S 60 J ( user) S 60 J ( or) S 60 J ( group) S 60 J ( of) S 60 J ( users) S 60 J ( has) S 60 J ( to) S 60 J ( a) S 60 J ( system) S 60 J ( resource.) S
2880 8920 P (The) S 60 J ( set) S 60 J ( of) S 60 J ( all) S 60 J ( ACEs) S 60 J ( on) S 60 J ( the) S 60 J ( object) S 60 J ( are) S 60 J ( used) S 60 J ( to) S 60 J ( determine) S 60 J ( whether) S 60 J ( an) S 60 J ( access) S 60 J ( request) S 60 J ( to) S
2880 9180 P (the) S 60 J ( object) S 60 J ( is) S 60 J ( granted.) S 60 J ( See) S 60 J ( also) S 60 J ( security) S 60 J ( descriptor.) S
2400 9500 P (\(2\)) S 60 J ( Advanced) S 60 J ( computing) S 60 J ( environment) S
2880 9820 P (A) S 60 J ( consortium) S 60 J ( of) S 60 J ( hardware) S 60 J ( and) S 60 J ( software) S 60 J ( companies) S 60 J ( formed) S 60 J ( to) S 60 J ( promote) S 60 J ( an) S 60 J ( open) S
2880 10080 P (computing) S 60 J ( environment.) S 60 J ( NT) S 60 J ( is) S 60 J ( one) S 60 J ( of) S 60 J ( the) S 60 J ( original) S 60 J ( ACE) S 60 J ( operating) S 60 J ( systems.) S
1920 10580 P 0 12 F 24 12 F B (access) S 60 J ( right) S E
2400 10900 P 0 12 F 24 12 F (A) S 60 J ( permission) S 60 J ( granted) S 60 J ( to) S 60 J ( a) S 60 J ( process) S 60 J ( to) S 60 J ( manipulate) S 60 J ( a) S 60 J ( particular) S 60 J ( object) S 60 J ( in) S 60 J ( a) S 60 J ( particular) S 60 J ( way) S
2400 11160 P (\(by) S 60 J ( calling) S 60 J ( a) S 60 J ( service\).) S 60 J ( Different) S 60 J ( NT) S 60 J ( object) S 60 J ( types) S 60 J ( support) S 60 J ( different) S 60 J ( access) S 60 J ( rights,) S 60 J ( which) S 60 J ( are) S
2400 11420 P (stored) S 60 J ( in) S 60 J ( an) S 60 J ( object's) S 60 J ( ACL.) S 0 12 F
PE
1200 1220 P 10 12 F B (G-) S E B (2) S E B () S 992 J ( Kernel-mode) S 55 J ( Driver) S 55 J ( Design) S 55 J ( Guide) S E
1200 2060 P 0 12 F 24 12 F B (ACL) S E
1680 2380 P 0 12 F 24 12 F (Access) S 60 J ( control) S 60 J ( list) S
2160 2700 P (An) S 60 J ( ordered) S 60 J ( list) S 60 J ( of) S 60 J ( ACEs.) S
1200 3200 P 0 12 F 24 12 F B (adapter) S 60 J ( object) S E
1680 3520 P 0 12 F 24 12 F (A) S 60 J ( kernel-mode-only) S 60 J ( object) S 60 J ( type,) S 60 J ( defined) S 60 J ( by) S 60 J ( the) S 60 J ( I/O) S 60 J ( Manager) S 60 J ( and) S 60 J ( supported) S 60 J ( by) S 60 J ( the) S 60 J ( HAL) S
1680 3780 P (component.) S 60 J ( An) S 60 J ( adapter) S 60 J ( object) S 60 J ( represents) S 60 J ( a) S 60 J ( hardware) S 60 J ( bus) S 60 J ( adapter) S 60 J ( or) S 60 J ( DMA) S 60 J ( controller) S
1680 4040 P (channel.) S 60 J ( Adapter) S 60 J ( objects) S 60 J ( "connect") S 60 J ( different) S 60 J ( kinds) S 60 J ( of) S 60 J ( devices) S 60 J ( on) S 60 J ( the) S 60 J ( bus) S 60 J ( or) S 60 J ( DMA) S
1680 4300 P (controller,) S 60 J ( each) S 60 J ( device) S 60 J ( \(or) S 60 J ( kind) S 60 J ( of) S 60 J ( device\)) S 60 J ( with) S 60 J ( its) S 60 J ( own) S 60 J ( driver.) S
1200 4800 P 0 12 F 24 12 F B (affinity) S E
1680 5120 P 0 12 F 24 12 F (A) S 60 J ( programmer-defined) S 60 J ( attribute) S 60 J ( of) S 60 J ( a) S 60 J ( process) S 60 J ( and/or) S 60 J ( thread) S 60 J ( on) S 60 J ( a) S 60 J ( multiprocessor) S 60 J ( platform:) S
1200 5440 P () S 512 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 296 J ( For) S 60 J ( a) S 60 J ( process,) S 60 J ( its) S 60 J ( affinity) S 60 J ( is) S 60 J ( the) S 60 J ( programmer-determined) S 60 J ( set) S 60 J ( of) S 60 J ( processors) S 60 J ( on) S 60 J ( which) S
2160 5700 P (its) S 60 J ( threads) S 60 J ( are) S 60 J ( permitted) S 60 J ( to) S 60 J ( run.) S
1200 6020 P 0 12 F 60 12 F B () S 512 J ( ) S E 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 296 J ( For) S 60 J ( a) S 60 J ( thread,) S 60 J ( its) S 60 J ( default) S 60 J ( affinity) S 60 J ( is) S 60 J ( identical) S 60 J ( to) S 60 J ( that) S 60 J ( of) S 60 J ( the) S 60 J ( process) S 60 J ( to) S 60 J ( which) S 60 J ( it) S 60 J ( belongs;) S
2160 6280 P (otherwise,) S 60 J ( its) S 60 J ( affinity) S 60 J ( must) S 60 J ( be) S 60 J ( a) S 60 J ( proper) S 60 J ( subset) S 60 J ( of) S 60 J ( the) S 60 J ( process's.) S
1200 6780 P 0 12 F 24 12 F B (alert) S E
1680 7100 P 0 12 F 24 12 F (A) S 60 J ( Boolean) S 60 J ( that) S 60 J ( provides) S 60 J ( a) S 60 J ( way) S 60 J ( to) S 60 J ( break) S 60 J ( into) S 60 J ( a) S 60 J ( thread's) S 60 J ( execution) S 60 J ( at) S 60 J ( a) S 60 J ( point) S 60 J ( where) S 60 J ( either) S
1680 7360 P (of) S 60 J ( the) S 60 J ( following) S 60 J ( conditions) S 60 J ( is) S 60 J ( met:) S
1200 7680 P () S 512 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 296 J ( The) S 60 J ( thread) S 60 J ( is) S 60 J ( in) S 60 J ( an) S 60 J ( alertable) S 60 J ( wait) S 60 J ( state) S 60 J ( \(as) S 60 J ( specified) S 60 J ( when) S 60 J ( the) S 60 J ( wait) S 60 J ( service) S 60 J ( was) S
2160 7940 P (called\).) S
1200 8260 P 0 12 F 60 12 F B () S 512 J ( ) S E 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 296 J ( The) S 60 J ( thread) S 60 J ( polls) S 60 J ( the) S 60 J ( alerted) S 60 J ( flag.) S
1200 8760 P 0 12 F 24 12 F B (APC) S E
1680 9080 P 0 12 F 24 12 F (Asynchronous) S 60 J ( procedure) S 60 J ( call) S
2160 9400 P (An) S 60 J ( APC) S 60 J ( is) S 60 J ( a) S 60 J ( Kernel-defined) S 60 J ( control) S 60 J ( object) S 60 J ( representing) S 60 J ( a) S 60 J ( procedure) S 60 J ( that) S 60 J ( is) S 60 J ( called) S
2160 9660 P (asynchronously.) S 60 J ( APCs) S 60 J ( are) S 60 J ( thread-context) S 60 J ( dependent;) S 60 J ( that) S 60 J ( is,) S 60 J ( they) S 60 J ( are) S 60 J ( queued) S 60 J ( to) S 60 J ( a) S
2160 9920 P (particular) S 60 J ( thread) S 60 J ( for) S 60 J ( execution.) S
2160 10240 P (There) S 60 J ( are) S 60 J ( three) S 60 J ( different) S 60 J ( kinds) S 60 J ( of) S 60 J ( APCs) S 60 J ( in) S 60 J ( NT:) S
1200 10560 P () S 960 J ( 1) S 360 J ( ) S LU (User) S 60 J ( APCs) S LE () S 60 J ( -) S 60 J ( These) S 60 J ( APCs) S 60 J ( are) S 60 J ( used) S 60 J ( by) S 60 J ( certain) S 60 J ( asynchronous) S 60 J ( NT) S 60 J ( system) S 60 J ( services) S
2640 10820 P (to) S 60 J ( allow) S 60 J ( users) S 60 J ( to) S 60 J ( synchronize) S 60 J ( the) S 60 J ( execution) S 60 J ( of) S 60 J ( a) S 60 J ( thread) S 60 J ( with) S 60 J ( the) S 60 J ( completion) S 60 J ( of) S
2640 11080 P (an) S 60 J ( operation) S 60 J ( or) S 60 J ( the) S 60 J ( occurrence) S 60 J ( of) S 60 J ( an) S 60 J ( event) S 60 J ( such) S 60 J ( as) S 60 J ( a) S 60 J ( timer's) S 60 J ( expiration.) S 60 J ( User) S
2640 11340 P (APCs) S 60 J ( are,) S 60 J ( by) S 60 J ( default,) S 60 J ( disabled.) S 60 J ( That) S 60 J ( is,) S 60 J ( they) S 60 J ( are) S 60 J ( queued) S 60 J ( to) S 60 J ( the) S 60 J ( user's) S 60 J ( thread,) S 60 J ( but) S
2640 11600 P (they) S 60 J ( are) S 60 J ( not) S 60 J ( executed) S 60 J ( except) S 60 J ( at) S 60 J ( well-defined) S 60 J ( points) S 60 J ( in) S 60 J ( the) S 60 J ( user's) S 60 J ( program.) S
2640 11860 P (Specifically,) S 60 J ( they) S 60 J ( can) S 60 J ( only) S 60 J ( be) S 60 J ( executed) S 60 J ( when) S 60 J ( the) S 60 J ( user) S 60 J ( has) S 60 J ( called) S 60 J ( a) S 60 J ( wait) S 60 J ( service) S
2640 12120 P (and) S 60 J ( has) S 60 J ( enabled) S 60 J ( alerts) S 60 J ( to) S 60 J ( occur,) S 60 J ( or) S 60 J ( if) S 60 J ( the) S 60 J ( user) S 60 J ( has) S 60 J ( called) S 60 J ( the) S 60 J ( test-alert) S 60 J ( service.) S 0 12 F
PE
1920 1220 P 10 12 F B () S 3453 J ( Glossary) S 55 J ( of) S 55 J ( Terms) S 55 J ( and) S 55 J ( Acronyms) S 872 J ( G-) S E B (3) S E B () S 720 J ( ) S E
1920 2060 P 0 12 F 24 12 F () S 960 J ( 2) S 360 J ( ) S LU (Kernel) S 60 J ( APCs) S LE () S 60 J ( -) S 60 J ( These) S 60 J ( APCs) S 60 J ( are) S 60 J ( normal) S 60 J ( kernel-mode) S 60 J ( APCs.) S 60 J ( ) S 60 J ( They) S 60 J ( are) S 60 J ( much) S
3360 2320 P (like) S 60 J ( a) S 60 J ( normal) S 60 J ( user) S 60 J ( APC) S 60 J ( except) S 60 J ( that) S 60 J ( they) S 60 J ( are) S 60 J ( executable) S 60 J ( by) S 60 J ( default.) S 60 J ( That) S 60 J ( is,) S 60 J ( they) S
3360 2580 P (are) S 60 J ( enabled) S 60 J ( except) S 60 J ( when) S 60 J ( the) S 60 J ( thread) S 60 J ( is) S 60 J ( already) S 60 J ( executing) S 60 J ( a) S 60 J ( Kernel) S 60 J ( APC.) S 60 J ( ) S 60 J ( \(Note) S
3360 2840 P (that) S 60 J ( a) S 60 J ( special) S 60 J ( Kernel) S 60 J ( APC) S 60 J ( always) S 60 J ( preempts) S 60 J ( these.\)) S
1920 3160 P () S 960 J ( 3) S 360 J ( ) S LU (Special) S 60 J ( Kernel) S 60 J ( APCs) S LE () S 60 J ( -) S 60 J ( These) S 60 J ( APCs) S 60 J ( cannot) S 60 J ( be) S 60 J ( blocked) S 60 J ( except) S 60 J ( by) S 60 J ( running) S 60 J ( at) S 60 J ( a) S
3360 3420 P (raised) S 60 J ( IRQL.) S 60 J ( They) S 60 J ( are) S 60 J ( executed) S 60 J ( at) S 60 J ( APC_LEVEL) S 60 J ( IRQL) S 60 J ( \(see) S 60 J ( IDT\),) S 60 J ( in) S 60 J ( kernel) S
3360 3680 P (mode.) S 60 J ( These) S 60 J ( types) S 60 J ( of) S 60 J ( APCs) S 60 J ( are) S 60 J ( used) S 60 J ( by) S 60 J ( the) S 60 J ( system) S 60 J ( to) S 60 J ( force) S 60 J ( a) S 60 J ( thread) S 60 J ( to) S 60 J ( execute) S
3360 3940 P (a) S 60 J ( procedure) S 60 J ( in) S 60 J ( the) S 60 J ( thread's) S 60 J ( context.) S 60 J ( An) S 60 J ( example) S 60 J ( of) S 60 J ( this) S 60 J ( is) S 60 J ( I/O) S 60 J ( completion:) S 60 J ( ) S 60 J ( the) S
3360 4200 P (I/O) S 60 J ( Manager) S 60 J ( needs) S 60 J ( to) S 60 J ( get) S 60 J ( back) S 60 J ( into) S 60 J ( the) S 60 J ( context) S 60 J ( of) S 60 J ( the) S 60 J ( original) S 60 J ( requestor) S 60 J ( of) S 60 J ( the) S
3360 4460 P (I/O) S 60 J ( operation) S 60 J ( so) S 60 J ( that) S 60 J ( it) S 60 J ( can) S 60 J ( copy) S 60 J ( buffers,) S 60 J ( etc.) S 60 J ( In) S 60 J ( order) S 60 J ( to) S 60 J ( do) S 60 J ( this,) S 60 J ( the) S 60 J ( I/O) S
3360 4720 P (Manager) S 60 J ( must) S 60 J ( be) S 60 J ( able) S 60 J ( to) S 60 J ( access) S 60 J ( the) S 60 J ( virtual) S 60 J ( address) S 60 J ( space) S 60 J ( of) S 60 J ( the) S 60 J ( thread/process,) S
3360 4980 P (and) S 60 J ( the) S 60 J ( most) S 60 J ( efficient) S 60 J ( way) S 60 J ( to) S 60 J ( complete) S 60 J ( the) S 60 J ( operation) S 60 J ( is) S 60 J ( to) S 60 J ( be) S 60 J ( in) S 60 J ( the) S 60 J ( calling) S
3360 5240 P (thread's) S 60 J ( context.) S
1920 5740 P 0 12 F 24 12 F B (ARC) S E
2400 6060 P 0 12 F 24 12 F (\(1\)) S 60 J ( The) S 60 J ( NT) S 60 J ( executive) S 60 J ( runs) S 60 J ( on) S 60 J ( top) S 60 J ( of) S 60 J ( ARC-compliant) S 60 J ( machines,) S 60 J ( including) S 60 J ( both) S 60 J ( RISC-) S 60 J ( and) S
2400 6320 P (CISC-based) S 60 J ( platforms) S 60 J ( that) S 60 J ( supply) S 60 J ( the) S 60 J ( following) S 60 J ( components) S 60 J ( to) S 60 J ( the) S 60 J ( OS) S 60 J ( loader:) S
1920 6640 P 0 12 F 60 10 F B () S 512 J ( n) S E 0 12 F 24 12 F () S 296 J ( In) S 60 J ( MIPS-based) S 60 J ( platforms,) S 60 J ( a) S 60 J ( set) S 60 J ( of) S 60 J ( machine) S 60 J ( firmware) S 60 J ( that) S 60 J ( supports) S 60 J ( bootstrap) S 60 J ( loading) S
2880 6900 P (and) S 60 J ( execution) S 60 J ( as) S 60 J ( an) S 60 J ( "abstracted") S 60 J ( set) S 60 J ( of) S 60 J ( ARC) S 60 J ( routines) S 60 J ( and) S 60 J ( ARC) S 60 J ( devices.) S
1920 7220 P () S 512 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 296 J ( In) S 60 J ( x86-based) S 60 J ( platforms,) S 60 J ( a) S 60 J ( hardware) S 60 J ( recognizer) S 60 J ( \(Ntdetect\)) S 60 J ( that) S 60 J ( finds) S 60 J ( devices) S
2880 7480 P (necessary) S 60 J ( to) S 60 J ( bootstrap) S 60 J ( the) S 60 J ( system) S 60 J ( by) S 60 J ( querying) S 60 J ( the) S 60 J ( ROM) S 60 J ( BIOS) S 60 J ( and) S 60 J ( builds) S 60 J ( a) S
2880 7740 P (hardware) S 60 J ( database) S 60 J ( that) S 60 J ( emulates) S 60 J ( the) S 60 J ( RISC-based) S 60 J ( ARC) S 60 J ( firmware.) S
1920 8060 P () S 512 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 296 J ( In) S 60 J ( both) S 60 J ( kinds) S 60 J ( of) S 60 J ( platforms,) S 60 J ( a) S 60 J ( HAL) S 60 J ( that) S 60 J ( interfaces) S 60 J ( between) S 60 J ( the) S 60 J ( hardware) S 60 J ( and) S 60 J ( NT.) S
2400 8380 P (Later) S 60 J ( in) S 60 J ( the) S 60 J ( load) S 60 J ( process,) S 60 J ( the) S 60 J ( driver) S 60 J ( of) S 60 J ( the) S 60 J ( disk,) S 60 J ( CD-ROM,) S 60 J ( or) S 60 J ( floppy) S 60 J ( device) S 60 J ( from) S 60 J ( which) S
2400 8640 P (the) S 60 J ( system) S 60 J ( booted) S 60 J ( creates) S 60 J ( an) S 60 J ( alias) S 60 J ( between) S 60 J ( the) S 60 J ( name) S 60 J ( of) S 60 J ( its) S 60 J ( device) S 60 J ( object) S 60 J ( and) S 60 J ( the) S
2400 8900 P (corresponding) S 60 J ( ARC) S 60 J ( device) S 60 J ( name) S 60 J ( by) S 60 J ( calling) S 60 J ( ) S 0 12 F 24 12 F B (IoAssignArcName) S E 0 12 F 24 12 F (.) S
2400 9220 P (\(2\)) S 60 J ( Advanced) S 60 J ( RISC) S 60 J ( computing) S
2880 9540 P (Refers) S 60 J ( to) S 60 J ( a) S 60 J ( RISC-based) S 60 J ( computer) S 60 J ( architecture) S 60 J ( standard,) S 60 J ( associated) S 60 J ( with) S 60 J ( the) S 60 J ( ACE) S
2880 9800 P (consortium.) S
1920 10300 P 0 12 F 24 12 F B (associated) S 60 J ( IRP) S E
2400 10620 P 0 12 F 24 12 F (One) S 60 J ( of) S 60 J ( a) S 60 J ( set) S 60 J ( of) S 60 J ( IRPs,) S 60 J ( created) S 60 J ( by) S 60 J ( the) S 60 J ( highest-level) S 60 J ( driver) S 60 J ( in) S 60 J ( a) S 60 J ( chain) S 60 J ( of) S 60 J ( layered) S 60 J ( drivers,) S 60 J ( that) S
2400 10880 P (specifies) S 60 J ( some) S 60 J ( part) S 60 J ( of) S 60 J ( an) S 60 J ( I/O) S 60 J ( request) S 60 J ( to) S 60 J ( be) S 60 J ( sent) S 60 J ( on) S 60 J ( to) S 60 J ( a) S 60 J ( lower-level) S 60 J ( driver.) S 60 J ( When) S 60 J ( all) S
2400 11140 P (associated) S 60 J ( IRPs) S 60 J ( in) S 60 J ( the) S 60 J ( set) S 60 J ( have) S 60 J ( been) S 60 J ( processed,) S 60 J ( the) S 60 J ( highest-level) S 60 J ( driver) S 60 J ( completes) S 60 J ( the) S
2400 11400 P (original) S 60 J ( request.) S 60 J ( See) S 60 J ( also) S 60 J ( IRP.) S 0 12 F
PE
1200 1220 P 10 12 F B (G-) S E B (4) S E B () S 992 J ( Kernel-mode) S 55 J ( Driver) S 55 J ( Design) S 55 J ( Guide) S E
1200 2060 P 0 12 F 24 12 F B (asynchronous) S 60 J ( I/O) S E
1680 2380 P 0 12 F 24 12 F (A) S 60 J ( model) S 60 J ( for) S 60 J ( I/O) S 60 J ( in) S 60 J ( which) S 60 J ( the) S 60 J ( operations) S 60 J ( carried) S 60 J ( out) S 60 J ( to) S 60 J ( satisfy) S 60 J ( I/O) S 60 J ( requests) S 60 J ( do) S 60 J ( not) S
1680 2640 P (necessarily) S 60 J ( occur) S 60 J ( in) S 60 J ( sequence.) S 60 J ( The) S 60 J ( application) S 60 J ( that) S 60 J ( originally) S 60 J ( made) S 60 J ( the) S 60 J ( request) S 60 J ( can) S
1680 2900 P (continue) S 60 J ( executing) S 60 J ( \(rather) S 60 J ( than) S 60 J ( waiting) S 60 J ( for) S 60 J ( its) S 60 J ( I/O) S 60 J ( to) S 60 J ( complete\),) S 60 J ( the) S 60 J ( I/O) S 60 J ( Manager) S 60 J ( or) S 60 J ( a) S
1680 3160 P (high-level) S 60 J ( driver) S 60 J ( can) S 60 J ( reorder) S 60 J ( I/O) S 60 J ( requests) S 60 J ( as) S 60 J ( they) S 60 J ( are) S 60 J ( received,) S 60 J ( and) S 60 J ( a) S 60 J ( low-level) S 60 J ( driver) S 60 J ( can) S
1680 3420 P (start) S 60 J ( an) S 60 J ( I/O) S 60 J ( operation) S 60 J ( on) S 60 J ( a) S 60 J ( device) S 60 J ( before) S 60 J ( it) S 60 J ( has) S 60 J ( completed) S 60 J ( the) S 60 J ( preceding) S 60 J ( request,) S
1680 3680 P (particularly) S 60 J ( in) S 60 J ( a) S 60 J ( multiprocessor) S 60 J ( machine.) S
1200 4180 P 0 12 F 24 12 F B (backing) S 60 J ( store) S E
1680 4500 P 0 12 F 24 12 F (A) S 60 J ( mass) S 60 J ( storage) S 60 J ( medium,) S 60 J ( such) S 60 J ( as) S 60 J ( a) S 60 J ( disk,) S 60 J ( that) S 60 J ( serves) S 60 J ( as) S 60 J ( backup) S 60 J ( "memory") S 60 J ( for) S 60 J ( paging) S 60 J ( when) S
1680 4760 P (physical) S 60 J ( memory) S 60 J ( becomes) S 60 J ( full.) S 60 J ( See) S 60 J ( also) S 60 J ( paging) S 60 J ( file.) S
1200 5260 P 0 12 F 24 12 F B (balance) S 60 J ( set) S E
1680 5580 P 0 12 F 24 12 F (The) S 60 J ( set) S 60 J ( of) S 60 J ( processes) S 60 J ( currently) S 60 J ( in) S 60 J ( the) S 60 J ( system,) S 60 J ( in) S 60 J ( particular,) S 60 J ( processes) S 60 J ( whose) S 60 J ( threads) S 60 J ( are) S
1680 5840 P (eligible) S 60 J ( for) S 60 J ( execution.) S 60 J ( See) S 60 J ( also) S 60 J ( dispatch) S 60 J ( state) S 60 J ( and) S 60 J ( working) S 60 J ( set.) S
2160 6160 P (At) S 60 J ( any) S 60 J ( given) S 60 J ( moment,) S 60 J ( the) S 60 J ( balance) S 60 J ( set) S 60 J ( depends) S 60 J ( on) S 60 J ( the) S 60 J ( availability) S 60 J ( of) S 60 J ( physical) S
2160 6420 P (memory) S 60 J ( \(pages\)) S 60 J ( to) S 60 J ( back) S 60 J ( the) S 60 J ( virtual) S 60 J ( address) S 60 J ( space) S 60 J ( associated) S 60 J ( with) S 60 J ( each) S 60 J ( active) S
2160 6680 P (process.) S 60 J ( If) S 60 J ( a) S 60 J ( physical) S 60 J ( memory) S 60 J ( shortage) S 60 J ( occurs,) S 60 J ( the) S 60 J ( NT) S 60 J ( Memory) S 60 J ( Manager) S 60 J ( first) S 60 J ( trims) S
2160 6940 P (the) S 60 J ( working) S 60 J ( set) S 60 J ( of) S 60 J ( each) S 60 J ( active) S 60 J ( process) S 60 J ( to) S 60 J ( its) S 60 J ( minimum,) S 60 J ( then) S 60 J ( \(if) S 60 J ( necessary\)) S 60 J ( removes) S
2160 7200 P (processes) S 60 J ( from) S 60 J ( the) S 60 J ( balance) S 60 J ( set.) S
1200 7700 P 0 12 F 24 12 F B (based) S 60 J ( section) S E
1680 8020 P 0 12 F 24 12 F (A) S 60 J ( section) S 60 J ( allocated) S 60 J ( at) S 60 J ( the) S 60 J ( same) S 60 J ( virtual) S 60 J ( address) S 60 J ( for) S 60 J ( each) S 60 J ( process) S 60 J ( that) S 60 J ( has) S 60 J ( a) S 60 J ( view) S 60 J ( of) S 60 J ( the) S
1680 8280 P (section.) S 60 J ( See) S 60 J ( also) S 60 J ( section) S 60 J ( and) S 60 J ( view.) S
1200 8780 P 0 12 F 24 12 F B (BCB) S E
1680 9100 P 0 12 F 24 12 F (Buffer) S 60 J ( control) S 60 J ( block) S
2160 9420 P (An) S 60 J ( opaque) S 60 J ( Cache) S 60 J ( Manager) S 60 J ( structure,) S 60 J ( used) S 60 J ( to) S 60 J ( maintain) S 60 J ( state) S 60 J ( as) S 60 J ( a) S 60 J ( file) S 60 J ( system) S 60 J ( pins) S 60 J ( and) S
2160 9680 P (releases) S 60 J ( data) S 60 J ( \(for) S 60 J ( example,) S 60 J ( its) S 60 J ( volume) S 60 J ( structure\)) S 60 J ( in) S 60 J ( the) S 60 J ( cache.) S
1200 10180 P 0 12 F 24 12 F B (big-endian) S E
1680 10500 P 0 12 F 24 12 F (Refers) S 60 J ( to) S 60 J ( a) S 60 J ( memory) S 60 J ( architecture) S 60 J ( in) S 60 J ( which) S 60 J ( the) S 60 J ( byte) S 60 J ( layout) S 60 J ( is) S 60 J ( as) S 60 J ( follows:) S
1200 10820 P () S 512 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 296 J ( Byte) S 60 J ( N) S 60 J ( is) S 60 J ( the) S 60 J ( most) S 60 J ( significant) S 60 J ( \(and,) S 60 J ( in) S 60 J ( conventional) S 60 J ( layout) S 60 J ( diagrams,) S 60 J ( the) S 60 J ( "leftmost"\)) S
2160 11080 P (byte) S 60 J ( of:) S
1200 11400 P () S 928 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 360 J ( A) S 60 J ( word) S 60 J ( composed) S 60 J ( of) S 60 J ( bytes) S 60 J ( N) S 60 J ( and) S 60 J ( \(N) S 60 J ( +) S 60 J ( 1\).) S
1200 11720 P () S 928 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 360 J ( A) S 60 J ( double) S 60 J ( word) S 60 J ( composed) S 60 J ( of) S 60 J ( bytes) S 60 J ( N,) S 60 J ( \(N) S 60 J ( +) S 60 J ( 1\),) S 60 J ( \(N) S 60 J ( +) S 60 J ( 2\),) S 60 J ( and) S 60 J ( \(N) S 60 J ( +) S 60 J ( 3\).) S
1200 12040 P () S 928 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 360 J ( A) S 60 J ( K-byte) S 60 J ( memory) S 60 J ( entity) S 60 J ( composed) S 60 J ( of) S 60 J ( bytes) S 60 J ( N,) S 60 J ( \(N) S 60 J ( +) S 60 J ( 1\),...,\(N) S 60 J ( +) S 60 J ( K) S 60 J ( -) S 60 J ( 1\).) S
1200 12360 P () S 512 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 296 J ( The) S 60 J ( address) S 60 J ( of) S 60 J ( the) S 60 J ( preceding) S 60 J ( word,) S 60 J ( double) S 60 J ( word,) S 60 J ( or) S 60 J ( K-byte) S 60 J ( entity) S 60 J ( is) S 60 J ( its) S 60 J ( most) S
2160 12620 P (significant) S 60 J ( byte,) S 60 J ( N.) S 0 12 F
PE
1920 1220 P 10 12 F B () S 3453 J ( Glossary) S 55 J ( of) S 55 J ( Terms) S 55 J ( and) S 55 J ( Acronyms) S 872 J ( G-) S E B (5) S E B () S 720 J ( ) S E
2400 2060 P 0 12 F 24 12 F (A) S 60 J ( MIPS) S 60 J ( machine) S 60 J ( can) S 60 J ( be) S 60 J ( configured) S 60 J ( for) S 60 J ( either) S 60 J ( big-endian) S 60 J ( or) S 60 J ( little-endian) S 60 J ( byte) S 60 J ( addressing.) S
2400 2320 P (For) S 60 J ( a) S 60 J ( big-endian) S 60 J ( configuration,) S 60 J ( the) S 60 J ( most) S 60 J ( significant) S 60 J ( bit) S 60 J ( of) S 60 J ( a) S 60 J ( 16-bit) S 60 J ( ) S 0 12 F 24 12 F B (short) S E 0 12 F 24 12 F () S 60 J ( value) S 60 J ( is) S 60 J ( the) S
2400 2580 P ("leftmost") S 60 J ( bit) S 60 J ( at) S 60 J ( byte) S 60 J ( N,) S 60 J ( while) S 60 J ( the) S 60 J ( least) S 60 J ( significant) S 60 J ( bit) S 60 J ( is) S 60 J ( the) S 60 J ( "rightmost") S 60 J ( bit) S 60 J ( of) S 60 J ( byte) S 60 J ( \(N) S 60 J ( +) S
2400 2840 P (1\).) S 60 J ( See) S 60 J ( also) S 60 J ( little-endian.) S
2880 3160 P (The) S 60 J ( terms) S 60 J ( "big-endian") S 60 J ( and) S 60 J ( "little-endian") S 60 J ( are) S 60 J ( derived) S 60 J ( from) S 60 J ( Jonathan) S 60 J ( Swift's) S
2880 3420 P 0 12 F 24 12 F I (Gulliver's) S 60 J ( Travels) S E 0 12 F 24 12 F (.) S
1920 3920 P 0 12 F 24 12 F B (Cache) S 60 J ( Manager) S E
2400 4240 P 0 12 F 24 12 F (An) S 60 J ( executive) S 60 J ( component) S 60 J ( that) S 60 J ( provides) S 60 J ( file) S 60 J ( caching) S 60 J ( support) S 60 J ( for) S 60 J ( NT) S 60 J ( file) S 60 J ( system) S 60 J ( drivers.) S
1920 4740 P 0 12 F 24 12 F B (CCB) S E
2400 5060 P 0 12 F 24 12 F (Context) S 60 J ( control) S 60 J ( block) S
2880 5380 P (An) S 60 J ( internal) S 60 J ( NT-defined) S 60 J ( file) S 60 J ( system) S 60 J ( structure,) S 60 J ( in) S 60 J ( which) S 60 J ( a) S 60 J ( file) S 60 J ( system) S 60 J ( maintains) S 60 J ( per) S
2880 5640 P (file) S 60 J ( object) S 60 J ( state) S 60 J ( for) S 60 J ( an) S 60 J ( open) S 60 J ( instance) S 60 J ( of) S 60 J ( a) S 60 J ( file.) S 60 J ( See) S 60 J ( also) S 60 J ( FCB) S 60 J ( and) S 60 J ( DCB.) S
1920 6140 P 0 12 F 24 12 F B (CDB) S E
2400 6460 P 0 12 F 24 12 F (Command) S 60 J ( descriptor) S 60 J ( block) S
2880 6780 P (A) S 60 J ( structure,) S 60 J ( defined) S 60 J ( by) S 60 J ( the) S 60 J ( SCSI-II) S 60 J ( standard,) S 60 J ( used) S 60 J ( to) S 60 J ( communicate) S 60 J ( requests) S 60 J ( to) S 60 J ( a) S
2880 7040 P (target) S 60 J ( device) S 60 J ( on) S 60 J ( the) S 60 J ( SCSI) S 60 J ( bus.) S
1920 7540 P 0 12 F 24 12 F B (CDFS) S E
2400 7860 P 0 12 F 24 12 F (CD-ROM) S 60 J ( file) S 60 J ( system) S
1920 8360 P 0 12 F 24 12 F B (CD-ROM) S E
2400 8680 P 0 12 F 24 12 F (Compact) S 60 J ( disk,) S 60 J ( read-only) S 60 J ( memory) S
1920 9180 P 0 12 F 24 12 F B (chase) S E
2400 9500 P 0 12 F 24 12 F (To) S 60 J ( follow) S 60 J ( a) S 60 J ( linked) S 60 J ( list,) S 60 J ( queue,) S 60 J ( or) S 60 J ( other) S 60 J ( software-defined) S 60 J ( path.) S 60 J ( For) S 60 J ( example,) S 60 J ( when) S 60 J ( a) S 60 J ( file) S
2400 9760 P (system) S 60 J ( encounters) S 60 J ( a) S 60 J ( symbolic) S 60 J ( link) S 60 J ( file) S 60 J ( within) S 60 J ( a) S 60 J ( path) S 60 J ( specification,) S 60 J ( it) S 60 J ( "chases) S 60 J ( the) S 60 J ( symbolic) S
2400 10020 P (link") S 60 J ( to) S 60 J ( redirect) S 60 J ( operations) S 60 J ( to) S 60 J ( the) S 60 J ( target) S 60 J ( file.) S 60 J ( See) S 60 J ( also) S 60 J ( symbolic) S 60 J ( link.) S 0 12 F
PE
1200 1220 P 10 12 F B (G-) S E B (6) S E B () S 992 J ( Kernel-mode) S 55 J ( Driver) S 55 J ( Design) S 55 J ( Guide) S E
1200 2060 P 0 12 F 24 12 F B (child) S 60 J ( process) S E
1680 2380 P 0 12 F 24 12 F (When) S 60 J ( a) S 60 J ( new) S 60 J ( NT-native) S 60 J ( process) S 60 J ( is) S 60 J ( created) S 60 J ( by) S 60 J ( calling) S 60 J ( a) S 60 J ( system) S 60 J ( service,) S 60 J ( the) S 60 J ( caller) S 60 J ( must) S
1680 2640 P (specify) S 60 J ( a) S 60 J ( "parent") S 60 J ( process) S 60 J ( from) S 60 J ( which) S 60 J ( the) S 60 J ( new) S 60 J ( process) S 60 J ( inherits) S 60 J ( its) S 60 J ( token,) S 60 J ( quota,) S 60 J ( and) S 60 J ( base) S
1680 2900 P (priority.) S 60 J ( The) S 60 J ( new) S 60 J ( process) S 60 J ( can) S 60 J ( optionally) S 60 J ( inherit) S 60 J ( any) S 60 J ( or) S 60 J ( all) S 60 J ( of) S 60 J ( the) S 60 J ( following) S 60 J ( from) S 60 J ( the) S
1680 3160 P (specified) S 60 J ( parent) S 60 J ( process:) S
1200 3480 P () S 512 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 296 J ( A) S 60 J ( copy) S 60 J ( of) S 60 J ( the) S 60 J ( parent's) S 60 J ( virtual) S 60 J ( address) S 60 J ( space.) S
1200 3800 P () S 512 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 296 J ( All) S 60 J ( object) S 60 J ( handles) S 60 J ( that) S 60 J ( were) S 60 J ( opened) S 60 J ( with) S 60 J ( the) S 60 J ( inheritance) S 60 J ( attribute.) S
1200 4120 P () S 512 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 296 J ( Debugging) S 60 J ( and) S 60 J ( exception) S 60 J ( handling) S 60 J ( ports.) S
1680 4440 P (However,) S 60 J ( an) S 60 J ( NT) S 60 J ( user-mode) S 60 J ( process) S 60 J ( becomes) S 60 J ( a) S 60 J ( wholly) S 60 J ( independent) S 60 J ( peer) S 60 J ( to) S 60 J ( its) S 60 J ( so-called) S
1680 4700 P (parent) S 60 J ( process) S 60 J ( as) S 60 J ( soon) S 60 J ( as) S 60 J ( it) S 60 J ( has) S 60 J ( been) S 60 J ( created.) S 60 J ( After) S 60 J ( process) S 60 J ( creation,) S 60 J ( any) S 60 J ( process-to-) S
1680 4960 P (process) S 60 J ( dependencies) S 60 J ( become) S 60 J ( the) S 60 J ( responsibility) S 60 J ( of) S 60 J ( a) S 60 J ( protected) S 60 J ( subsystem) S 60 J ( \(such) S 60 J ( as) S 60 J ( the) S
1680 5167 P 0 12 F 24 8 F 654 J ( ) S (TM) S
1680 5220 P 0 12 F 24 12 F (Win32) S 240 J ( ) S () S 60 J ( or) S 60 J ( POSIX) S 60 J ( subsystem\).) S
1680 5540 P (A) S 60 J ( kernel-mode-only) S 60 J ( \(a.k.a.) S 60 J ( "system"\)) S 60 J ( process) S 60 J ( has) S 60 J ( no) S 60 J ( "parent") S 60 J ( when) S 60 J ( it) S 60 J ( is) S 60 J ( created.) S
1200 6040 P 0 12 F 24 12 F B (CID) S E
1680 6360 P 0 12 F 24 12 F (Client) S 60 J ( identifier) S
2160 6680 P (A) S 60 J ( unique) S 60 J ( value) S 60 J ( that) S 60 J ( identifies) S 60 J ( a) S 60 J ( thread.) S
1200 7180 P 0 12 F 24 12 F B (class) S 60 J ( driver) S E
1680 7500 P 0 12 F 24 12 F (a.k.a.) S 60 J ( "type) S 60 J ( driver") S
2160 7820 P (\(1\)) S 60 J ( An) S 60 J ( intermediate) S 60 J ( driver) S 60 J ( for) S 60 J ( a) S 60 J ( physical) S 60 J ( device,) S 60 J ( which) S 60 J ( is) S 60 J ( connected) S 60 J ( to) S 60 J ( a) S 60 J ( so-called) S
2160 8080 P ("intelligent) S 60 J ( controller") S 60 J ( such) S 60 J ( as) S 60 J ( a) S 60 J ( SCSI) S 60 J ( HBA,) S 60 J ( or) S 60 J ( to) S 60 J ( an) S 60 J ( adapter) S 60 J ( bus.) S 60 J ( Such) S 60 J ( a) S 60 J ( class) S
2160 8340 P (driver) S 60 J ( communicates) S 60 J ( with) S 60 J ( the) S 60 J ( corresponding) S 60 J ( port) S 60 J ( driver) S 60 J ( according) S 60 J ( to) S 60 J ( an) S 60 J ( established) S
2160 8600 P (protocol,) S 60 J ( such) S 60 J ( NT-defined) S 60 J ( SRBs.) S 60 J ( The) S 60 J ( system-supplied) S 60 J ( SCSI) S 60 J ( disk,) S 60 J ( CD-ROM,) S 60 J ( and) S
2160 8860 P (tape) S 60 J ( class) S 60 J ( drivers) S 60 J ( are) S 60 J ( examples) S 60 J ( of) S 60 J ( this) S 60 J ( type) S 60 J ( of) S 60 J ( class) S 60 J ( driver.) S
2160 9180 P (\(2\)) S 60 J ( An) S 60 J ( intermediate) S 60 J ( driver) S 60 J ( that) S 60 J ( provides) S 60 J ( system-required) S 60 J ( but) S 60 J ( hardware-independent) S
2160 9440 P (support) S 60 J ( for) S 60 J ( a) S 60 J ( given) S 60 J ( class) S 60 J ( of) S 60 J ( physical) S 60 J ( devices.) S 60 J ( Such) S 60 J ( a) S 60 J ( class) S 60 J ( driver) S 60 J ( communicates) S 60 J ( with) S
2160 9700 P (a) S 60 J ( corresponding) S 60 J ( hardware-dependent) S 60 J ( port) S 60 J ( driver,) S 60 J ( using) S 60 J ( a) S 60 J ( set) S 60 J ( of) S 60 J ( system-defined) S
2160 9960 P (device) S 60 J ( I/O) S 60 J ( control) S 60 J ( requests,) S 60 J ( possibly) S 60 J ( with) S 60 J ( additional) S 60 J ( driver) S 60 J ( defined) S 60 J ( internal) S 60 J ( device) S
2160 10220 P (I/O) S 60 J ( control) S 60 J ( requests.) S 60 J ( The) S 60 J ( system-supplied) S 60 J ( keyboard) S 60 J ( and) S 60 J ( mouse) S 60 J ( class) S 60 J ( drivers) S 60 J ( are) S
2160 10480 P (examples) S 60 J ( of) S 60 J ( this) S 60 J ( type) S 60 J ( of) S 60 J ( class) S 60 J ( driver.) S
1200 10980 P 0 12 F 24 12 F B (client/server) S 60 J ( model) S E
1680 11300 P 0 12 F 24 12 F (A) S 60 J ( model) S 60 J ( for) S 60 J ( structuring) S 60 J ( applications) S 60 J ( or) S 60 J ( operating) S 60 J ( systems) S 60 J ( such) S 60 J ( that) S 60 J ( the) S 60 J ( system) S 60 J ( is) S 60 J ( divided) S
1680 11560 P (into) S 60 J ( processes) S 60 J ( \(servers\),) S 60 J ( each) S 60 J ( of) S 60 J ( which) S 60 J ( provides) S 60 J ( a) S 60 J ( set) S 60 J ( of) S 60 J ( specialized) S 60 J ( services) S 60 J ( to) S 60 J ( other) S
1680 11820 P (processes) S 60 J ( \(clients\).) S
1200 12320 P 0 12 F 24 12 F B (collided) S 60 J ( page) S 60 J ( fault) S E
1680 12640 P 0 12 F 24 12 F (A) S 60 J ( page) S 60 J ( fault) S 60 J ( caused) S 60 J ( by) S 60 J ( one) S 60 J ( thread) S 60 J ( while) S 60 J ( an) S 60 J ( in-page) S 60 J ( I/O) S 60 J ( operation) S 60 J ( for) S 60 J ( another) S 60 J ( thread) S 60 J ( is) S
1680 12900 P (being) S 60 J ( done) S 60 J ( on) S 60 J ( the) S 60 J ( same) S 60 J ( page.) S 0 12 F
PE
1920 1220 P 10 12 F B () S 3453 J ( Glossary) S 55 J ( of) S 55 J ( Terms) S 55 J ( and) S 55 J ( Acronyms) S 872 J ( G-) S E B (7) S E B () S 720 J ( ) S E
1920 2060 P 0 12 F 24 12 F B (commitment) S E
2400 2380 P 0 12 F 24 12 F (The) S 60 J ( NT) S 60 J ( Memory) S 60 J ( Manager's) S 60 J ( current) S 60 J ( value) S 60 J ( for) S 60 J ( paging) S 60 J ( file) S 60 J ( usage.) S
1920 2880 P 0 12 F 24 12 F B (context) S E
2400 3200 P 0 12 F 24 12 F (The) S 60 J ( execution) S 60 J ( state) S 60 J ( of) S 60 J ( a) S 60 J ( thread) S 60 J ( at) S 60 J ( any) S 60 J ( given) S 60 J ( moment:) S
1920 3520 P () S 512 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 296 J ( For) S 60 J ( a) S 60 J ( user-mode) S 60 J ( thread,) S 60 J ( the) S 60 J ( platform-dependent) S 60 J ( register) S 60 J ( state,) S 60 J ( kernel) S 60 J ( stack,) S 60 J ( TEB,) S
2880 3780 P (and) S 60 J ( user) S 60 J ( stack) S 60 J ( in) S 60 J ( the) S 60 J ( address) S 60 J ( space) S 60 J ( of) S 60 J ( the) S 60 J ( process) S 60 J ( to) S 60 J ( which) S 60 J ( the) S 60 J ( thread) S 60 J ( belongs.) S
1920 4100 P () S 512 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 296 J ( For) S 60 J ( a) S 60 J ( kernel-mode) S 60 J ( thread,) S 60 J ( the) S 60 J ( platform-dependent) S 60 J ( register) S 60 J ( state) S 60 J ( and) S 60 J ( kernel) S 60 J ( stack.) S
2880 4420 P (Kernel-mode) S 60 J ( threads) S 60 J ( have) S 60 J ( neither) S 60 J ( a) S 60 J ( TEB) S 60 J ( nor) S 60 J ( a) S 60 J ( user-mode) S 60 J ( context,) S 60 J ( but) S 60 J ( they) S 60 J ( must) S
2880 4680 P (have) S 60 J ( an) S 60 J ( associated) S 60 J ( process.) S 60 J ( See) S 60 J ( also) S 60 J ( process) S 60 J ( object.) S
2880 5000 P (Most) S 60 J ( NT) S 60 J ( device) S 60 J ( drivers) S 60 J ( do) S 60 J ( not) S 60 J ( have) S 60 J ( a) S 60 J ( context) S 60 J ( in) S 60 J ( this) S 60 J ( sense.) S 60 J ( Unless) S 60 J ( a) S 60 J ( driver) S 60 J ( \(such) S 60 J ( as) S
2880 5260 P (an) S 60 J ( FSD\)) S 60 J ( creates) S 60 J ( its) S 60 J ( own) S 60 J ( process) S 60 J ( and/or) S 60 J ( thread\(s\),) S 60 J ( it) S 60 J ( does) S 60 J ( not) S 60 J ( have) S 60 J ( its) S 60 J ( own) S 60 J ( stack) S
2880 5520 P (space) S 60 J ( or) S 60 J ( register) S 60 J ( state.) S 60 J ( For) S 60 J ( each) S 60 J ( driver,) S 60 J ( the) S 60 J ( set) S 60 J ( of) S 60 J ( objects) S 60 J ( it) S 60 J ( owns) S 60 J ( and) S 60 J ( the) S 60 J ( IRPs) S 60 J ( that) S 60 J ( it) S
2880 5780 P (can) S 60 J ( access) S 60 J ( via) S 60 J ( a) S 60 J ( device) S 60 J ( queue) S 60 J ( object) S 60 J ( associated) S 60 J ( with) S 60 J ( its) S 60 J ( device) S 60 J ( object) S 60 J ( can) S 60 J ( be) S
2880 6040 P (considered) S 60 J ( all) S 60 J ( or) S 60 J ( part) S 60 J ( of) S 60 J ( its) S 60 J ( context.) S
1920 6540 P 0 12 F 24 12 F B (context) S 60 J ( record) S E
2400 6860 P 0 12 F 24 12 F (A) S 60 J ( system-defined) S 60 J ( structure,) S 60 J ( containing) S 60 J ( the) S 60 J ( current) S 60 J ( register) S 60 J ( state) S 60 J ( for) S 60 J ( an) S 60 J ( exception) S 60 J ( handler.) S
2400 7120 P (See) S 60 J ( also) S 60 J ( SEH.) S
1920 7620 P 0 12 F 24 12 F B (control) S 60 J ( objects) S E
2400 7940 P 0 12 F 24 12 F (A) S 60 J ( class) S 60 J ( of) S 60 J ( Kernel-defined) S 60 J ( object) S 60 J ( types,) S 60 J ( used) S 60 J ( to) S 60 J ( manage) S 60 J ( all) S 60 J ( kernel-mode) S 60 J ( operations) S 60 J ( except) S
2400 8200 P (dispatching) S 60 J ( and) S 60 J ( synchronization.) S 60 J ( See) S 60 J ( also) S 60 J ( dispatcher) S 60 J ( objects.) S
2880 8520 P (Control) S 60 J ( objects) S 60 J ( include:) S 60 J ( APC,) S 60 J ( DPC,) S 60 J ( device) S 60 J ( queue,) S 60 J ( interrupt) S 60 J ( and) S 60 J ( process) S 60 J ( objects.) S
2880 8780 P (Note) S 60 J ( that) S 60 J ( all) S 60 J ( control) S 60 J ( object) S 60 J ( types) S 60 J ( except) S 60 J ( processes) S 60 J ( are) S 60 J ( kernel-mode-only) S 60 J ( objects,) S
2880 9040 P (invisible) S 60 J ( to) S 60 J ( user-mode) S 60 J ( code.) S 60 J ( User-mode) S 60 J ( APC) S 60 J ( objects) S 60 J ( are) S 60 J ( also) S 60 J ( "invisible") S 60 J ( in) S 60 J ( the) S
2880 9300 P (sense) S 60 J ( that) S 60 J ( they) S 60 J ( look) S 60 J ( more) S 60 J ( like) S 60 J ( user-supplied) S 60 J ( routines) S 60 J ( to) S 60 J ( be) S 60 J ( called) S 60 J ( on) S 60 J ( return) S 60 J ( from) S
2880 9560 P (certain) S 60 J ( system) S 60 J ( services) S 60 J ( \(such) S 60 J ( as) S 60 J ( a) S 60 J ( request) S 60 J ( to) S 60 J ( read) S 60 J ( a) S 60 J ( file\)) S 60 J ( than) S 60 J ( like) S 60 J ( objects.) S
1920 10060 P 0 12 F 24 12 F B (controller) S 60 J ( object) S E
2400 10380 P 0 12 F 24 12 F (A) S 60 J ( kernel-mode-only) S 60 J ( object) S 60 J ( type,) S 60 J ( defined) S 60 J ( by) S 60 J ( the) S 60 J ( I/O) S 60 J ( Manager.) S 60 J ( A) S 60 J ( controller) S 60 J ( object) S
2400 10640 P (represents) S 60 J ( a) S 60 J ( hardware) S 60 J ( controller) S 60 J ( or) S 60 J ( channel.) S 60 J ( The) S 60 J ( driver) S 60 J ( calls) S 60 J ( ) S 0 12 F 24 12 F B (IoAllocateController) S E 0 12 F 24 12 F () S 60 J ( to) S
2400 10900 P (carry) S 60 J ( out) S 60 J ( synchronized) S 60 J ( I/O) S 60 J ( on) S 60 J ( attached) S 60 J ( devices.) S 60 J ( Controller) S 60 J ( objects) S 60 J ( "connect") S 60 J ( a) S 60 J ( set) S 60 J ( of) S
2400 11160 P (similar) S 60 J ( devices) S 60 J ( attached) S 60 J ( to) S 60 J ( a) S 60 J ( controller) S 60 J ( with) S 60 J ( a) S 60 J ( single) S 60 J ( driver.) S
1920 11660 P 0 12 F 24 12 F B (critical) S 60 J ( section) S E
2400 11980 P 0 12 F 24 12 F (A) S 60 J ( piece) S 60 J ( of) S 60 J ( code) S 60 J ( that) S 60 J ( accesses) S 60 J ( a) S 60 J ( nonsharable) S 60 J ( resource,) S 60 J ( such) S 60 J ( as) S 60 J ( device-state) S 60 J ( data) S 60 J ( stored) S 60 J ( in) S 60 J ( a) S
2400 12240 P (device) S 60 J ( extension) S 60 J ( to) S 60 J ( which) S 60 J ( access) S 60 J ( must) S 60 J ( be) S 60 J ( synchronized) S 60 J ( among) S 60 J ( some) S 60 J ( number) S 60 J ( of) S 60 J ( driver) S
2400 12500 P (routines.) S 0 12 F
PE
1200 1220 P 10 12 F B (G-) S E B (8) S E B () S 992 J ( Kernel-mode) S 55 J ( Driver) S 55 J ( Design) S 55 J ( Guide) S E
1200 2060 P 0 12 F 24 12 F B (DACL) S E
1680 2380 P 0 12 F 24 12 F (Discretionary) S 60 J ( access) S 60 J ( control) S 60 J ( list) S
2160 2700 P (A) S 60 J ( discretionary) S 60 J ( ACL) S 60 J ( is) S 60 J ( part) S 60 J ( of) S 60 J ( the) S 60 J ( security) S 60 J ( descriptor) S 60 J ( for) S 60 J ( an) S 60 J ( object.) S 60 J ( It) S 60 J ( can) S 60 J ( be) S 60 J ( applied) S
2160 2960 P (to) S 60 J ( a) S 60 J ( newly) S 60 J ( created) S 60 J ( object) S 60 J ( in) S 60 J ( order) S 60 J ( to) S 60 J ( constrain) S 60 J ( access) S 60 J ( to) S 60 J ( the) S 60 J ( object.) S 60 J ( See) S 60 J ( also) S 60 J ( ACE,) S
2160 3220 P (access) S 60 J ( right,) S 60 J ( ACL) S 60 J ( and) S 60 J ( security) S 60 J ( descriptor.) S
1200 3720 P 0 12 F 24 12 F B (DCB) S E
1680 4040 P 0 12 F 24 12 F (Directory) S 60 J ( control) S 60 J ( block) S
2160 4360 P (An) S 60 J ( internal) S 60 J ( FS) S 60 J ( structure) S 60 J ( in) S 60 J ( which) S 60 J ( a) S 60 J ( file) S 60 J ( system) S 60 J ( maintains) S 60 J ( state) S 60 J ( for) S 60 J ( an) S 60 J ( open) S 60 J ( instance) S
2160 4620 P (of) S 60 J ( a) S 60 J ( directory) S 60 J ( file.) S
1200 5120 P 0 12 F 24 12 F B (deadlock) S E
1680 5440 P 0 12 F 24 12 F (A) S 60 J ( runtime) S 60 J ( error) S 60 J ( condition) S 60 J ( that) S 60 J ( occurs) S 60 J ( when) S 60 J ( two) S 60 J ( threads) S 60 J ( of) S 60 J ( execution) S 60 J ( are) S 60 J ( blocked,) S 60 J ( each) S
1680 5700 P (waiting) S 60 J ( to) S 60 J ( acquire) S 60 J ( a) S 60 J ( resource) S 60 J ( that) S 60 J ( the) S 60 J ( other) S 60 J ( holds,) S 60 J ( and) S 60 J ( both) S 60 J ( unable) S 60 J ( to) S 60 J ( continue) S 60 J ( running.) S
1200 6200 P 0 12 F 24 12 F B (device) S 60 J ( extension) S E
1680 6520 P 0 12 F 24 12 F (A) S 60 J ( part) S 60 J ( of) S 60 J ( a) S 60 J ( device) S 60 J ( object) S 60 J ( whose) S 60 J ( size) S 60 J ( is) S 60 J ( determined) S 60 J ( when) S 60 J ( a) S 60 J ( driver) S 60 J ( creates) S 60 J ( the) S 60 J ( device) S 60 J ( object) S
1680 6780 P (and) S 60 J ( whose) S 60 J ( internal) S 60 J ( structure) S 60 J ( is) S 60 J ( driver-defined.) S 60 J ( For) S 60 J ( many) S 60 J ( NT) S 60 J ( drivers,) S 60 J ( a) S 60 J ( device) S 60 J ( extension) S
1680 7040 P (is) S 60 J ( the) S 60 J ( driver's) S 60 J ( major) S 60 J ( \(and) S 60 J ( only\)) S 60 J ( data) S 60 J ( storage) S 60 J ( area,) S 60 J ( used) S 60 J ( to) S 60 J ( maintain) S 60 J ( device) S 60 J ( state) S 60 J ( and) S 60 J ( to) S
1680 7300 P (contain) S 60 J ( any) S 60 J ( system-defined) S 60 J ( objects) S 60 J ( and) S 60 J ( other) S 60 J ( data) S 60 J ( that) S 60 J ( the) S 60 J ( driver) S 60 J ( writer) S 60 J ( decides) S 60 J ( to) S 60 J ( use.) S
1200 7800 P 0 12 F 24 12 F B (device) S 60 J ( object) S E
1680 8120 P 0 12 F 24 12 F (A) S 60 J ( kernel-mode-only,) S 60 J ( I/O) S 60 J ( Manager-defined) S 60 J ( object) S 60 J ( type,) S 60 J ( used) S 60 J ( to) S 60 J ( represent) S 60 J ( a) S 60 J ( physical,) S
1680 8380 P (logical,) S 60 J ( or) S 60 J ( virtual) S 60 J ( device) S 60 J ( whose) S 60 J ( driver) S 60 J ( has) S 60 J ( been) S 60 J ( loaded) S 60 J ( into) S 60 J ( the) S 60 J ( system.) S 60 J ( Each) S 60 J ( driver) S 60 J ( calls) S
1680 8640 P 0 12 F 24 12 F B (IoCreateDevice) S E 0 12 F 24 12 F () S 60 J ( to) S 60 J ( initialize) S 60 J ( a) S 60 J ( device) S 60 J ( object) S 60 J ( for) S 60 J ( each) S 60 J ( device) S 60 J ( that) S 60 J ( driver) S 60 J ( services.) S 60 J ( See) S 60 J ( also) S
1680 8900 P (driver) S 60 J ( object.) S
1680 9220 P (Devices) S 60 J ( are) S 60 J ( "visible") S 60 J ( to) S 60 J ( end) S 60 J ( users) S 60 J ( as) S 60 J ( named) S 60 J ( file) S 60 J ( objects,) S 60 J ( stored) S 60 J ( in) S 60 J ( a) S 60 J ( directory) S 60 J ( protected) S
1680 9480 P (against) S 60 J ( careless) S 60 J ( or) S 60 J ( malicious) S 60 J ( user-mode) S 60 J ( access.) S 60 J ( User-mode) S 60 J ( code) S 60 J ( \(protected) S 60 J ( subsystems\)) S
1680 9740 P (must) S 60 J ( access) S 60 J ( any) S 60 J ( device) S 60 J ( through) S 60 J ( the) S 60 J ( opaque) S 60 J ( handle) S 60 J ( returned) S 60 J ( by) S 60 J ( the) S 60 J ( system) S 60 J ( service) S 60 J ( that) S
1680 10000 P (opens) S 60 J ( the) S 60 J ( file) S 60 J ( object) S 60 J ( that) S 60 J ( represents) S 60 J ( the) S 60 J ( device) S 60 J ( to) S 60 J ( user-mode) S 60 J ( code.) S 0 12 F
PE
1920 1220 P 10 12 F B () S 3453 J ( Glossary) S 55 J ( of) S 55 J ( Terms) S 55 J ( and) S 55 J ( Acronyms) S 872 J ( G-) S E B (9) S E B () S 720 J ( ) S E
1920 2060 P 0 12 F 24 12 F B (device) S 60 J ( queue) S 60 J ( object) S E
2400 2380 P 0 12 F 24 12 F (A) S 60 J ( kernel-mode-only,) S 60 J ( Kernel-defined) S 60 J ( control) S 60 J ( object) S 60 J ( type,) S 60 J ( used) S 60 J ( to) S 60 J ( record) S 60 J ( the) S 60 J ( Boolean) S 60 J ( state) S
2400 2640 P (\(Busy) S 60 J ( or) S 60 J ( Not_Busy\)) S 60 J ( of) S 60 J ( a) S 60 J ( device) S 60 J ( and) S 60 J ( to) S 60 J ( queue) S 60 J ( I/O) S 60 J ( requests) S 60 J ( for) S 60 J ( subsequent) S 60 J ( processing.) S 60 J ( A) S
2400 2900 P (device) S 60 J ( queue) S 60 J ( object) S 60 J ( has) S 60 J ( an) S 60 J ( associated) S 60 J ( executive) S 60 J ( spin) S 60 J ( lock.) S
2880 3220 P (An) S 60 J ( I/O) S 60 J ( request,) S 60 J ( called) S 60 J ( a) S 60 J ( "queue) S 60 J ( entry,") S 60 J ( is) S 60 J ( not) S 60 J ( actually) S 60 J ( placed) S 60 J ( in) S 60 J ( the) S 60 J ( device) S 60 J ( queue) S
2880 3480 P (unless) S 60 J ( the) S 60 J ( state) S 60 J ( is) S 60 J ( already) S 60 J ( Busy:) S
1920 3800 P () S 928 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 360 J ( On) S 60 J ( the) S 60 J ( transition) S 60 J ( from) S 60 J ( Not_Busy) S 60 J ( to) S 60 J ( Busy,) S 60 J ( the) S 60 J ( driver) S 60 J ( is) S 60 J ( expected) S 60 J ( to) S 60 J ( service) S 60 J ( the) S
3360 4060 P (queue) S 60 J ( entry) S 60 J ( immediately.) S
1920 4380 P () S 928 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 360 J ( Subsequent) S 60 J ( requests) S 60 J ( while) S 60 J ( the) S 60 J ( state) S 60 J ( is) S 60 J ( Busy) S 60 J ( are) S 60 J ( queued) S 60 J ( in) S 60 J ( FIFO) S 60 J ( or) S 60 J ( key-sorted) S
3360 4640 P (order.) S
1920 4960 P () S 928 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 360 J ( An) S 60 J ( attempt) S 60 J ( to) S 60 J ( remove) S 60 J ( a) S 60 J ( queue) S 60 J ( entry) S 60 J ( from) S 60 J ( an) S 60 J ( empty) S 60 J ( queue) S 60 J ( causes) S 60 J ( the) S 60 J ( transition) S
3360 5220 P (from) S 60 J ( Busy) S 60 J ( to) S 60 J ( Not_Busy.) S
1920 5540 P () S 928 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 360 J ( An) S 60 J ( attempt) S 60 J ( to) S 60 J ( remove) S 60 J ( a) S 60 J ( queue) S 60 J ( entry) S 60 J ( from) S 60 J ( an) S 60 J ( empty) S 60 J ( queue) S 60 J ( when) S 60 J ( the) S 60 J ( device) S 60 J ( is) S
3360 5800 P (Not_Busy) S 60 J ( causes) S 60 J ( the) S 60 J ( system) S 60 J ( to) S 60 J ( "bugcheck") S 60 J ( \(i.e.,) S 60 J ( crash\).) S
1920 6300 P 0 12 F 24 12 F B (directory) S 60 J ( file) S E
2400 6620 P 0 12 F 24 12 F (A) S 60 J ( file) S 60 J ( that) S 60 J ( points) S 60 J ( to) S 60 J ( or) S 60 J ( lists) S 60 J ( a) S 60 J ( set) S 60 J ( of) S 60 J ( named) S 60 J ( file) S 60 J ( objects.) S
2880 6940 P (Note) S 60 J ( that) S 60 J ( on-disk) S 60 J ( directory) S 60 J ( files) S 60 J ( are) S 60 J ( represented) S 60 J ( in) S 60 J ( NT) S 60 J ( as) S 60 J ( file) S 60 J ( objects,) S 60 J ( not) S 60 J ( as) S 60 J ( object) S
2880 7200 P (directory) S 60 J ( objects.) S
1920 7700 P 0 12 F 24 12 F B (directory) S 60 J ( object) S E
2400 8020 P 0 12 F 24 12 F (See) S 60 J ( object) S 60 J ( directory) S 60 J ( object.) S
1920 8520 P 0 12 F 24 12 F B (DIRQL) S E
2400 8840 P 0 12 F 24 12 F (Device) S 60 J ( interrupt) S 60 J ( request) S 60 J ( level) S
2880 9160 P (See) S 60 J ( also) S 60 J ( IRQL) S 60 J ( and) S 60 J ( IDT) S 60 J ( -) S 60 J ( This) S 60 J ( particular) S 60 J ( IRQL) S 60 J ( refers) S 60 J ( to) S 60 J ( the) S 60 J ( IRQL) S 60 J ( at) S 60 J ( which) S 60 J ( a) S 60 J ( given) S
2880 9420 P (device) S 60 J ( interrupts.) S
1920 9920 P 0 12 F 24 12 F B (dispatch) S 60 J ( state) S E
2400 10240 P 0 12 F 24 12 F (For) S 60 J ( a) S 60 J ( thread) S 60 J ( at) S 60 J ( any) S 60 J ( given) S 60 J ( moment,) S 60 J ( one) S 60 J ( of) S 60 J ( the) S 60 J ( following:) S
1920 10560 P () S 512 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 296 J ( ) S LU (Initialized.) S LE
1920 10880 P () S 512 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 296 J ( ) S LU (Ready) S LE () S 60 J ( -) S 60 J ( queued) S 60 J ( and) S 60 J ( eligible) S 60 J ( for) S 60 J ( dispatch) S 60 J ( to) S 60 J ( a) S 60 J ( processor.) S
1920 11200 P () S 512 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 296 J ( ) S LU (Standby) S LE () S 60 J ( -) S 60 J ( ready) S 60 J ( and) S 60 J ( selected) S 60 J ( to) S 60 J ( execute,) S 60 J ( but) S 60 J ( a) S 60 J ( context) S 60 J ( switch) S 60 J ( to) S 60 J ( the) S 60 J ( thread) S 60 J ( has) S 60 J ( not) S
2880 11460 P (yet) S 60 J ( occurred.) S
1920 11780 P () S 512 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 296 J ( ) S LU (Running) S LE (.) S
1920 12100 P () S 512 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 296 J ( ) S LU (Waiting) S LE () S 60 J ( -) S 60 J ( suspended) S 60 J ( until) S 60 J ( a) S 60 J ( particular) S 60 J ( dispatcher) S 60 J ( object) S 60 J ( is) S 60 J ( set) S 60 J ( to) S 60 J ( the) S 60 J ( Signaled) S 60 J ( state.) S
1920 12420 P () S 512 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 296 J ( ) S LU (Terminated) S LE (.) S 0 12 F
PE
1200 1220 P 10 12 F B (G-) S E B (10) S E B () S 883 J ( Kernel-mode) S 55 J ( Driver) S 55 J ( Design) S 55 J ( Guide) S E
1200 2060 P 0 12 F 24 12 F B (dispatcher) S 60 J ( objects) S E
1680 2380 P 0 12 F 24 12 F (A) S 60 J ( class) S 60 J ( of) S 60 J ( Kernel-defined) S 60 J ( object) S 60 J ( types,) S 60 J ( used) S 60 J ( to) S 60 J ( manage) S 60 J ( dispatching) S 60 J ( and) S 60 J ( synchronization.) S
1680 2640 P (See) S 60 J ( also) S 60 J ( control) S 60 J ( objects.) S
2160 2960 P (Dispatcher) S 60 J ( objects) S 60 J ( have) S 60 J ( a) S 60 J ( Boolean) S 60 J ( state) S 60 J ( \(Signaled) S 60 J ( or) S 60 J ( Not-Signaled\),) S 60 J ( and) S 60 J ( are) S
2160 3220 P (arguments) S 60 J ( to) S 60 J ( the) S 60 J ( wait) S 60 J ( services) S 60 J ( or) S 60 J ( Kernel) S 60 J ( wait) S 60 J ( routines.) S 60 J ( Dispatcher) S 60 J ( objects) S 60 J ( include:) S
2160 3480 P (events,) S 60 J ( \(kernel-mode-only\)) S 60 J ( mutexes,) S 60 J ( semaphores,) S 60 J ( threads,) S 60 J ( and) S 60 J ( timers.) S
2160 3800 P (Kernel-mode) S 60 J ( threads) S 60 J ( synchronize) S 60 J ( their) S 60 J ( operations) S 60 J ( by) S 60 J ( waiting) S 60 J ( on) S 60 J ( one) S 60 J ( or) S 60 J ( more) S
2160 4060 P (dispatcher) S 60 J ( objects,) S 60 J ( or) S 60 J ( by) S 60 J ( waiting) S 60 J ( on) S 60 J ( other) S 60 J ( objects,) S 60 J ( such) S 60 J ( as) S 60 J ( user-mode) S 60 J ( file) S 60 J ( objects,) S
2160 4320 P (that) S 60 J ( contain) S 60 J ( "hidden") S 60 J ( kernel-mode) S 60 J ( dispatcher) S 60 J ( objects.) S
2160 4640 P (Note) S 60 J ( that) S 60 J ( it) S 60 J ( is) S 60 J ( a) S 60 J ( fatal) S 60 J ( error) S 60 J ( to) S 60 J ( wait) S 60 J ( on) S 60 J ( a) S 60 J ( dispatcher) S 60 J ( object) S 60 J ( at) S 60 J ( IRQL) S 60 J ( >) S 60 J ( APC_LEVEL.) S
1200 5140 P 0 12 F 24 12 F B (DMA) S E
1680 5460 P 0 12 F 24 12 F (Direct) S 60 J ( memory) S 60 J ( access) S
2160 5780 P (\(No) S 60 J ( different) S 60 J ( from) S 60 J ( any) S 60 J ( other) S 60 J ( OS.\)) S
1200 6280 P 0 12 F 24 12 F B (DPC) S E
1680 6600 P 0 12 F 24 12 F (Deferred) S 60 J ( procedure) S 60 J ( call) S
2160 6920 P (A) S 60 J ( DPC) S 60 J ( is) S 60 J ( a) S 60 J ( Kernel-defined) S 60 J ( control) S 60 J ( object) S 60 J ( type,) S 60 J ( representing) S 60 J ( a) S 60 J ( procedure) S 60 J ( that) S 60 J ( is) S 60 J ( to) S 60 J ( be) S
2160 7180 P (called) S 60 J ( later.) S 60 J ( DPCs) S 60 J ( are) S 60 J ( executed) S 60 J ( in) S 60 J ( kernel) S 60 J ( mode) S 60 J ( at) S 60 J ( IRQL) S 60 J ( DISPATCH_LEVEL) S 60 J ( \(see) S
2160 7440 P (IDT) S 60 J ( and) S 60 J ( IRQL\).) S
2160 7760 P (A) S 60 J ( DPC) S 60 J ( is) S 60 J ( primarily) S 60 J ( used) S 60 J ( when) S 60 J ( an) S 60 J ( interrupt) S 60 J ( service) S 60 J ( routine) S 60 J ( \(e.g.,) S 60 J ( device) S 60 J ( driver) S 60 J ( or) S
2160 8020 P (clock) S 60 J ( interrupt) S 60 J ( service) S 60 J ( routine\)) S 60 J ( needs) S 60 J ( to) S 60 J ( perform) S 60 J ( more) S 60 J ( work) S 60 J ( but) S 60 J ( should) S 60 J ( do) S 60 J ( so) S 60 J ( at) S 60 J ( a) S
2160 8280 P (lower) S 60 J ( IRQL) S 60 J ( than) S 60 J ( the) S 60 J ( one) S 60 J ( at) S 60 J ( which) S 60 J ( an) S 60 J ( ISR) S 60 J ( executes.) S 60 J ( \(Note) S 60 J ( that) S 60 J ( getting) S 60 J ( the) S 60 J ( IRQL) S
2160 8540 P (lowered) S 60 J ( back) S 60 J ( down) S 60 J ( quickly) S 60 J ( is) S 60 J ( important) S 60 J ( for) S 60 J ( overall) S 60 J ( system) S 60 J ( response) S 60 J ( time.\)) S 60 J ( The) S 60 J ( ISR,) S
2160 8800 P (then,) S 60 J ( can) S 60 J ( request) S 60 J ( that) S 60 J ( a) S 60 J ( procedure) S 60 J ( be) S 60 J ( executed) S 60 J ( at) S 60 J ( a) S 60 J ( lower) S 60 J ( IRQL) S 60 J ( at) S 60 J ( a) S 60 J ( later) S 60 J ( time.) S
1200 9300 P 0 12 F 24 12 F B (driver) S 60 J ( object) S E
1680 9620 P 0 12 F 24 12 F (A) S 60 J ( kernel-mode-only) S 60 J ( object) S 60 J ( representing) S 60 J ( an) S 60 J ( NT) S 60 J ( driver's) S 60 J ( load) S 60 J ( image,) S 60 J ( used) S 60 J ( by) S 60 J ( the) S 60 J ( I/O) S
1680 9880 P (Manager) S 60 J ( to) S 60 J ( locate) S 60 J ( the) S 60 J ( driver's) S 60 J ( entry) S 60 J ( points.) S
1200 10380 P 0 12 F 24 12 F B (EA) S E
1680 10700 P 0 12 F 24 12 F (Extended) S 60 J ( attribute) S
2160 11020 P (Files) S 60 J ( have) S 60 J ( basically) S 60 J ( four) S 60 J ( different) S 60 J ( parts:) S
1200 11340 P () S 960 J ( 1) S 360 J ( Data) S
1200 11660 P () S 960 J ( 2) S 360 J ( File) S 60 J ( system) S 60 J ( attributes) S 60 J ( \(such) S 60 J ( as) S 60 J ( creation) S 60 J ( time,) S 60 J ( other) S 60 J ( times,) S 60 J ( FAT) S 60 J ( attributes,) S 60 J ( etc.\)) S
1200 11980 P () S 960 J ( 3) S 360 J ( Security) S 60 J ( descriptor) S
1200 12300 P () S 960 J ( 4) S 360 J ( EAs) S
2160 12620 P (EAs) S 60 J ( are) S 60 J ( the) S 60 J ( set) S 60 J ( of) S 60 J ( extended) S 60 J ( information) S 60 J ( about) S 60 J ( a) S 60 J ( file.) S 60 J ( An) S 60 J ( EA) S 60 J ( is) S 60 J ( viewed) S 60 J ( as) S 60 J ( an) S 60 J ( untyped) S
2160 12880 P (name-value) S 60 J ( pair) S 60 J ( that) S 60 J ( is) S 60 J ( defined) S 60 J ( by) S 60 J ( the) S 60 J ( user.) S 60 J ( Typical) S 60 J ( system) S 60 J ( uses) S 60 J ( are) S 60 J ( to) S 60 J ( store) S 60 J ( the) S 60 J ( icon) S
2160 13140 P (for) S 60 J ( an) S 60 J ( image,) S 60 J ( to) S 60 J ( indicate) S 60 J ( that) S 60 J ( the) S 60 J ( file) S 60 J ( is) S 60 J ( a) S 60 J ( symbolic) S 60 J ( link,) S 60 J ( etc.) S 0 12 F
PE
1920 1220 P 10 12 F B () S 3453 J ( Glossary) S 55 J ( of) S 55 J ( Terms) S 55 J ( and) S 55 J ( Acronyms) S 763 J ( G-) S E B (11) S E B () S 720 J ( ) S E
1920 2060 P 0 12 F 24 12 F B (EFU) S E
2400 2380 P 0 12 F 24 12 F (Error) S 60 J ( format) S 60 J ( utility) S
2880 2700 P (A) S 60 J ( utility,) S 60 J ( supplied) S 60 J ( by) S 60 J ( the) S 60 J ( system,) S 60 J ( that) S 60 J ( reads) S 60 J ( error) S 60 J ( entries) S 60 J ( out) S 60 J ( of) S 60 J ( an) S 60 J ( error) S 60 J ( log) S 60 J ( file) S 60 J ( and) S
2880 2960 P (displays) S 60 J ( them.) S 60 J ( Drivers) S 60 J ( call) S 60 J ( ) S 0 12 F 24 12 F B (IoAllocateErrorLogEntry) S E 0 12 F 24 12 F () S 60 J ( and) S
2880 3220 P 0 12 F 24 12 F B (IoWriteErrorLogEntry) S E 0 12 F 24 12 F () S 60 J ( to) S 60 J ( transfer) S 60 J ( errors) S 60 J ( to) S 60 J ( an) S 60 J ( error) S 60 J ( log) S 60 J ( file;) S 60 J ( they) S 60 J ( can) S 60 J ( supply) S 60 J ( error) S
2880 3480 P (buffer) S 60 J ( translation) S 60 J ( routines) S 60 J ( to) S 60 J ( format) S 60 J ( entries) S 60 J ( for) S 60 J ( display) S 60 J ( by) S 60 J ( the) S 60 J ( EFU.) S
1920 3980 P 0 12 F 24 12 F B (EISA) S E
2400 4300 P 0 12 F 24 12 F (Extended) S 60 J ( industry) S 60 J ( standard) S 60 J ( architecture) S
2880 4620 P (Also,) S 60 J ( a) S 60 J ( standard) S 60 J ( that) S 60 J ( defines) S 60 J ( the) S 60 J ( architecture) S 60 J ( of) S 60 J ( \(and) S 60 J ( interface) S 60 J ( to\)) S 60 J ( the) S 60 J ( extended) S 60 J ( PC) S
2880 4880 P (bus.) S 60 J ( See) S 60 J ( also) S 60 J ( ISA.) S
1920 5380 P 0 12 F 24 12 F B (event) S 60 J ( object) S E
2400 5700 P 0 12 F 24 12 F (A) S 60 J ( user-mode) S 60 J ( object) S 60 J ( upon) S 60 J ( which) S 60 J ( one) S 60 J ( or) S 60 J ( more) S 60 J ( threads) S 60 J ( can) S 60 J ( wait) S 60 J ( until) S 60 J ( the) S 60 J ( event) S 60 J ( is) S 60 J ( set) S 60 J ( to) S 60 J ( the) S
2400 5960 P (Signaled) S 60 J ( state.) S 60 J ( Every) S 60 J ( user-mode) S 60 J ( event) S 60 J ( object) S 60 J ( is) S 60 J ( implemented) S 60 J ( through) S 60 J ( the) S 60 J ( use) S 60 J ( of) S 60 J ( a) S 60 J ( kernel-) S
2400 6220 P (mode) S 60 J ( event) S 60 J ( object.) S
2400 6540 P (A) S 60 J ( kernel-mode) S 60 J ( event) S 60 J ( object) S 60 J ( is) S 60 J ( an) S 60 J ( instance) S 60 J ( of) S 60 J ( a) S 60 J ( Kernel-defined) S 60 J ( dispatcher) S 60 J ( object) S 60 J ( type.) S
2400 6800 P (Each) S 60 J ( kernel-mode) S 60 J ( event) S 60 J ( can) S 60 J ( be) S 60 J ( classified) S 60 J ( as) S 60 J ( either) S 60 J ( of) S 60 J ( the) S 60 J ( following:) S
1920 7120 P () S 544 J ( 1) S 296 J ( When) S 60 J ( a) S 60 J ( ) S LU (synchronization) S 60 J ( event) S LE () S 60 J ( \(a.k.a.) S 60 J ( "autoclearing) S 60 J ( event"\)) S 60 J ( is) S 60 J ( set) S 60 J ( to) S 60 J ( the) S 60 J ( Signaled) S
2880 7380 P (state,) S 60 J ( a) S 60 J ( single) S 60 J ( thread) S 60 J ( that) S 60 J ( was) S 60 J ( waiting) S 60 J ( on) S 60 J ( the) S 60 J ( event) S 60 J ( is) S 60 J ( released) S 60 J ( \(its) S 60 J ( dispatch) S 60 J ( state) S
2880 7640 P (transitions) S 60 J ( from) S 60 J ( waiting) S 60 J ( to) S 60 J ( ready,) S 60 J ( standby,) S 60 J ( or) S 60 J ( running\),) S 60 J ( and) S 60 J ( an) S 60 J ( autoreset) S 60 J ( to) S 60 J ( Not-) S
2880 7900 P (Signaled) S 60 J ( occurs.) S
1920 8220 P () S 544 J ( 2) S 296 J ( When) S 60 J ( a) S 60 J ( ) S LU (notification) S 60 J ( event) S LE () S 60 J ( is) S 60 J ( set) S 60 J ( to) S 60 J ( the) S 60 J ( Signaled) S 60 J ( state,) S 60 J ( all) S 60 J ( threads) S 60 J ( that) S 60 J ( were) S 60 J ( waiting) S
2880 8480 P (on) S 60 J ( the) S 60 J ( event) S 60 J ( are) S 60 J ( released,) S 60 J ( and) S 60 J ( the) S 60 J ( event) S 60 J ( remains) S 60 J ( in) S 60 J ( the) S 60 J ( Signaled) S 60 J ( state) S 60 J ( until) S 60 J ( an) S
2880 8740 P (explicit) S 60 J ( reset) S 60 J ( to) S 60 J ( Not-Signaled) S 60 J ( occurs.) S
1920 9240 P 0 12 F 24 12 F B (exception) S E
2400 9560 P 0 12 F 24 12 F (A) S 60 J ( synchronous) S 60 J ( error) S 60 J ( condition,) S 60 J ( resulting) S 60 J ( from) S 60 J ( the) S 60 J ( execution) S 60 J ( of) S 60 J ( a) S 60 J ( particular) S 60 J ( machine) S
2400 9820 P (instruction.) S 60 J ( See) S 60 J ( also) S 60 J ( SEH.) S 0 12 F
PE
1200 1220 P 10 12 F B (G-) S E B (12) S E B () S 883 J ( Kernel-mode) S 55 J ( Driver) S 55 J ( Design) S 55 J ( Guide) S E
1200 2060 P 0 12 F 24 12 F B (executive) S E
1680 2380 P 0 12 F 24 12 F (The) S 60 J ( collection) S 60 J ( of) S 60 J ( components) S 60 J ( that) S 60 J ( form) S 60 J ( the) S 60 J ( base) S 60 J ( NT) S 60 J ( operating) S 60 J ( system.) S 60 J ( Executive) S
1680 2640 P (components) S 60 J ( include) S 60 J ( the) S 60 J ( Executive) S 60 J ( Support,) S 60 J ( Kernel,) S 60 J ( Memory) S 60 J ( Manager,) S 60 J ( Cache) S 60 J ( Manager,) S
1680 2900 P (Process) S 60 J ( Structure,) S 60 J ( Interprocess) S 60 J ( Communication) S 60 J ( \(LPC) S 60 J ( and) S 60 J ( RPC\),) S 60 J ( Object) S 60 J ( Manager,) S 60 J ( I/O) S
1680 3160 P (Manager,) S 60 J ( Configuration) S 60 J ( Manager,) S 60 J ( Hardware) S 60 J ( Abstraction) S 60 J ( Layer,) S 60 J ( and) S 60 J ( Security) S 60 J ( Reference) S
1680 3420 P (Monitor.) S 60 J ( ) S 60 J ( Each) S 60 J ( executive) S 60 J ( component) S 60 J ( except) S 60 J ( the) S 60 J ( Executive) S 60 J ( Support,) S 60 J ( Cache) S 60 J ( Manager,) S 60 J ( and) S
1680 3680 P (Hardware) S 60 J ( Abstraction) S 60 J ( Layer) S 60 J ( supplies) S 60 J ( a) S 60 J ( specialized) S 60 J ( set) S 60 J ( of) S 60 J ( native) S 60 J ( user-mode) S 60 J ( system) S
1680 3940 P (services,) S 60 J ( and) S 60 J ( every) S 60 J ( executive) S 60 J ( component) S 60 J ( exports) S 60 J ( a) S 60 J ( set) S 60 J ( of) S 60 J ( kernel-mode) S 60 J ( functions) S 60 J ( for) S 60 J ( use) S
1680 4200 P (by) S 60 J ( other) S 60 J ( executive) S 60 J ( components.) S
2160 4520 P (NT) S 60 J ( drivers) S 60 J ( also) S 60 J ( call) S 60 J ( kernel-mode) S 60 J ( functions) S 60 J ( supplied) S 60 J ( by) S 60 J ( executive) S 60 J ( components,) S
2160 4780 P (including) S 60 J ( \(but) S 60 J ( not) S 60 J ( limited) S 60 J ( to\)) S 60 J ( functions) S 60 J ( beginning) S 60 J ( with) S 60 J ( the) S 60 J ( prefix) S 60 J ( "Ex") S 60 J ( for) S
2160 5040 P 0 12 F 24 12 F B (Ex) S E 0 12 F 24 12 F (\(ecutive\)) S 60 J ( Support.) S 60 J ( Other) S 60 J ( kernel-mode) S 60 J ( functions) S 60 J ( of) S 60 J ( interest) S 60 J ( to) S 60 J ( drivers) S 60 J ( begin) S 60 J ( with) S
2160 5300 P (the) S 60 J ( prefixes:) S 60 J ( ) S 0 12 F 24 12 F B (Hal) S E 0 12 F 24 12 F (,) S 0 12 F 24 12 F B () S 60 J ( Ke) S E 0 12 F 24 12 F (\(rnel\),) S 60 J ( ) S 0 12 F 24 12 F B (Ps) S E 0 12 F 24 12 F () S 60 J ( \(for) S 60 J ( ) S LU (P) S LE (rocess) S 60 J ( ) S LU (S) S LE (tructure\),) S 60 J ( ) S 0 12 F 24 12 F B (Ob) S E 0 12 F 24 12 F (\(ject\),) S 60 J ( ) S 0 12 F 24 12 F B (Io) S E 0 12 F 24 12 F (,) S 60 J ( ) S 0 12 F 24 12 F B (Mm) S E 0 12 F 24 12 F () S 60 J ( \(for) S
2160 5560 P LU (M) S LE (emory) S 60 J ( ) S LU (M) S LE (anager\),) S 60 J ( ) S 0 12 F 24 12 F B (Cc) S E 0 12 F 24 12 F () S 60 J ( \(for) S 60 J ( ) S LU (C) S LE (a) S LU (c) S LE (he) S 60 J ( Manager\),) S 60 J ( ) S 0 12 F 24 12 F B (Se) S E 0 12 F 24 12 F (\(curity\)) S 60 J ( and) S 60 J ( ) S 0 12 F 24 12 F B (FsRtl) S E 0 12 F 24 12 F () S 60 J ( \(for) S 60 J ( ) S LU (F) S LE (ile) S 60 J ( ) S LU (S) S LE (ystem) S
2160 5820 P LU (R) S LE (un-) S LU (t) S LE (ime) S LU () S 60 J ( L) S LE (ibrary\).) S 60 J ( See) S 60 J ( also) S 60 J ( Zw) S 60 J ( routines.) S
1680 6140 P (Note) S 60 J ( that) S 60 J ( NT) S 60 J ( drivers,) S 60 J ( including) S 60 J ( kernel-mode) S 60 J ( device,) S 60 J ( intermediate,) S 60 J ( and) S 60 J ( file) S 60 J ( system) S
1680 6400 P (drivers,) S 60 J ( are) S 60 J ( considered) S 60 J ( part) S 60 J ( of) S 60 J ( the) S 60 J ( NT) S 60 J ( executive) S 60 J ( after) S 60 J ( they) S 60 J ( are) S 60 J ( loaded.) S 60 J ( The) S 60 J ( "operating) S
1680 6660 P (system") S 60 J ( visible) S 60 J ( to) S 60 J ( end) S 60 J ( users) S 60 J ( is) S 60 J ( actually) S 60 J ( a) S 60 J ( protected) S 60 J ( subsystem) S 60 J ( that) S 60 J ( runs) S 60 J ( in) S 60 J ( user) S 60 J ( mode) S 60 J ( on) S
1680 6920 P (top) S 60 J ( of) S 60 J ( the) S 60 J ( NT) S 60 J ( executive;) S 60 J ( the) S 60 J ( executive) S 60 J ( is) S 60 J ( hidden) S 60 J ( from) S 60 J ( end) S 60 J ( users) S 60 J ( by) S 60 J ( a) S 60 J ( subsystem-supplied) S
1680 7180 P (interface) S 60 J ( that) S 60 J ( emulates) S 60 J ( Windows,) S 60 J ( POSIX,) S 60 J ( or) S 60 J ( some) S 60 J ( other) S 60 J ( operating) S 60 J ( system.) S
1200 7680 P 0 12 F 24 12 F B (FAT) S E
1680 8000 P 0 12 F 24 12 F (File) S 60 J ( allocation) S 60 J ( table) S
2160 8320 P (\(adjective:) S 60 J ( an) S 60 J ( NT-installable) S 60 J ( file) S 60 J ( system) S 60 J ( that) S 60 J ( was) S 60 J ( native) S 60 J ( to) S 60 J ( DOS;) S 60 J ( also,) S 60 J ( a) S 60 J ( type) S 60 J ( of) S 60 J ( disk) S
2160 8580 P (partition\)) S
1200 9080 P 0 12 F 24 12 F B (fault) S 60 J ( tolerance) S E
1680 9400 P 0 12 F 24 12 F (An) S 60 J ( optional) S 60 J ( feature) S 60 J ( of) S 60 J ( the) S 60 J ( Windows) S 60 J ( NT) S 60 J ( operating) S 60 J ( system) S 60 J ( environment,) S 60 J ( which) S 60 J ( includes) S
1680 9660 P (the) S 60 J ( end-user-visible) S 60 J ( Windows) S 60 J ( DiskMan) S 60 J ( utility) S 60 J ( supported) S 60 J ( by) S 60 J ( an) S 60 J ( NT-supplied) S 60 J ( intermediate) S
1680 9920 P (driver) S 60 J ( that) S 60 J ( handles) S 60 J ( disk) S 60 J ( partition) S 60 J ( mirroring,) S 60 J ( striping,) S 60 J ( and) S 60 J ( volume) S 60 J ( set) S 60 J ( management.) S
1200 10420 P 0 12 F 24 12 F B (FCB) S E
1680 10740 P 0 12 F 24 12 F (File) S 60 J ( control) S 60 J ( block) S
2160 11060 P (An) S 60 J ( internal) S 60 J ( FS) S 60 J ( structure) S 60 J ( in) S 60 J ( which) S 60 J ( a) S 60 J ( file) S 60 J ( system) S 60 J ( maintains) S 60 J ( state) S 60 J ( for) S 60 J ( an) S 60 J ( open) S 60 J ( file.) S 0 12 F
PE
1920 1220 P 10 12 F B () S 3453 J ( Glossary) S 55 J ( of) S 55 J ( Terms) S 55 J ( and) S 55 J ( Acronyms) S 763 J ( G-) S E B (13) S E B () S 720 J ( ) S E
1920 2060 P 0 12 F 24 12 F B (file) S 60 J ( object) S E
2400 2380 P 0 12 F 24 12 F (A) S 60 J ( user-mode) S 60 J ( object) S 60 J ( that) S 60 J ( represents) S 60 J ( an) S 60 J ( open) S 60 J ( instance) S 60 J ( of) S 60 J ( a) S 60 J ( file,) S 60 J ( device,) S 60 J ( directory,) S 60 J ( or) S
2400 2640 P (volume) S 60 J ( that) S 60 J ( is) S 60 J ( accessed) S 60 J ( through) S 60 J ( the) S 60 J ( file) S 60 J ( handle) S 60 J ( returned) S 60 J ( by) S 60 J ( a) S 60 J ( protected) S 60 J ( subsystem's) S
2400 2900 P (function) S 60 J ( that) S 60 J ( calls) S 60 J ( down) S 60 J ( to) S 60 J ( a) S 60 J ( system) S 60 J ( service) S 60 J ( that) S 60 J ( opens) S 60 J ( \(or) S 60 J ( creates\)) S 60 J ( a) S 60 J ( file) S 60 J ( object) S 60 J ( .) S 60 J ( Every) S
2400 3160 P (file) S 60 J ( handle) S 60 J ( contains) S 60 J ( a) S 60 J ( "hidden") S 60 J ( kernel-mode) S 60 J ( event) S 60 J ( object,) S 60 J ( so) S 60 J ( that) S 60 J ( callers) S 60 J ( of) S 60 J ( the) S 60 J ( I/O) S 60 J ( system) S
2400 3420 P (services) S 60 J ( can) S 60 J ( wait) S 60 J ( on) S 60 J ( a) S 60 J ( file) S 60 J ( handle.) S
2400 3740 P (At) S 60 J ( any) S 60 J ( given) S 60 J ( moment,) S 60 J ( several) S 60 J ( file) S 60 J ( objects) S 60 J ( can) S 60 J ( be) S 60 J ( associated) S 60 J ( with) S 60 J ( a) S 60 J ( single,) S 60 J ( shared) S 60 J ( data) S
2400 4000 P (file,) S 60 J ( but) S 60 J ( each) S 60 J ( such) S 60 J ( file) S 60 J ( object) S 60 J ( has) S 60 J ( a) S 60 J ( unique) S 60 J ( handle) S 60 J ( and) S 60 J ( maintains) S 60 J ( an) S 60 J ( object-specific) S 60 J ( value) S
2400 4260 P (for) S 60 J ( the) S 60 J ( current) S 60 J ( file) S 60 J ( pointer.) S
2880 4580 P (A) S 60 J ( file) S 60 J ( object) S 60 J ( is) S 60 J ( sometimes) S 60 J ( called) S 60 J ( a) S 60 J ( "persistent) S 60 J ( object") S 60 J ( because) S 60 J ( the) S 60 J ( \(file,) S 60 J ( device,) S
2880 4840 P (directory,) S 60 J ( or) S 60 J ( volume\)) S 60 J ( entity) S 60 J ( that) S 60 J ( backs) S 60 J ( any) S 60 J ( run-time) S 60 J ( set) S 60 J ( of) S 60 J ( file) S 60 J ( objects) S 60 J ( is) S 60 J ( retained) S
2880 5100 P (across) S 60 J ( system) S 60 J ( boots.) S
1920 5600 P 0 12 F 24 12 F B (FS) S E
2400 5920 P 0 12 F 24 12 F (File) S 60 J ( system) S
2880 6240 P (An) S 60 J ( FS) S 60 J ( is) S 60 J ( a) S 60 J ( file) S 60 J ( system) S 60 J ( driver) S 60 J ( that) S 60 J ( registers) S 60 J ( itself) S 60 J ( with) S 60 J ( the) S 60 J ( NT) S 60 J ( I/O) S 60 J ( Manager) S 60 J ( as) S 60 J ( an) S
2880 6500 P (active) S 60 J ( file) S 60 J ( system.) S 60 J ( Unlike) S 60 J ( many) S 60 J ( other) S 60 J ( operating) S 60 J ( systems,) S 60 J ( NT) S 60 J ( does) S 60 J ( not) S 60 J ( have) S 60 J ( a) S
2880 6760 P (particular) S 60 J ( must-be-resident) S 60 J ( file) S 60 J ( system,) S 60 J ( and) S 60 J ( several) S 60 J ( NT) S 60 J ( file) S 60 J ( systems) S 60 J ( can) S 60 J ( be) S 60 J ( active) S 60 J ( at) S
2880 7020 P (the) S 60 J ( same) S 60 J ( time.) S 60 J ( NT) S 60 J ( file) S 60 J ( systems) S 60 J ( are) S 60 J ( dynamically) S 60 J ( located) S 60 J ( when) S 60 J ( a) S 60 J ( volume) S 60 J ( is) S 60 J ( mounted) S
2880 7280 P (or) S 60 J ( when) S 60 J ( a) S 60 J ( remote) S 60 J ( name) S 60 J ( is) S 60 J ( being) S 60 J ( resolved:) S 60 J ( the) S 60 J ( I/O) S 60 J ( Manager) S 60 J ( calls) S 60 J ( the) S 60 J ( registered) S 60 J ( FSs) S
2880 7540 P (in) S 60 J ( turn) S 60 J ( until) S 60 J ( one) S 60 J ( file) S 60 J ( system) S 60 J ( "recognizes") S 60 J ( the) S 60 J ( volume) S 60 J ( structure) S 60 J ( or) S 60 J ( remote) S 60 J ( name.) S
2880 7860 P (Examples) S 60 J ( of) S 60 J ( NT-supplied) S 60 J ( file) S 60 J ( systems) S 60 J ( are) S 60 J ( FAT,) S 60 J ( HPFS,) S 60 J ( NTFS,) S 60 J ( CDFS,) S 60 J ( the) S 60 J ( LAN) S
2880 8120 P (Manager) S 60 J ( redirector,) S 60 J ( NPFS) S 60 J ( \(named) S 60 J ( pipe) S 60 J ( file) S 60 J ( system\),) S 60 J ( and) S 60 J ( RAW.) S
1920 8620 P 0 12 F 24 12 F B (FSD) S E
2400 8940 P 0 12 F 24 12 F (File) S 60 J ( system) S 60 J ( driver) S
2880 9260 P (The) S 60 J ( FSD) S 60 J ( refers) S 60 J ( to) S 60 J ( the) S 60 J ( portion) S 60 J ( of) S 60 J ( a) S 60 J ( driver) S 60 J ( that) S 60 J ( executes) S 60 J ( in) S 60 J ( the) S 60 J ( context) S 60 J ( of) S 60 J ( the) S 60 J ( caller,) S 60 J ( to) S
2880 9520 P (which) S 60 J ( an) S 60 J ( I/O) S 60 J ( request) S 60 J ( is) S 60 J ( dispatched) S 60 J ( when) S 60 J ( the) S 60 J ( request) S 60 J ( is) S 60 J ( originally) S 60 J ( made.) S 60 J ( The) S 60 J ( FSD) S
2880 9780 P (has) S 60 J ( no) S 60 J ( process) S 60 J ( virtual) S 60 J ( address) S 60 J ( space) S 60 J ( and) S 60 J ( no) S 60 J ( particular) S 60 J ( thread) S 60 J ( context) S 60 J ( because) S 60 J ( it) S
2880 10040 P (operates) S 60 J ( in) S 60 J ( the) S 60 J ( context) S 60 J ( of) S 60 J ( whoever) S 60 J ( happens) S 60 J ( to) S 60 J ( call) S 60 J ( it.) S
2880 10360 P (An) S 60 J ( FSD) S 60 J ( also) S 60 J ( executes) S 60 J ( in) S 60 J ( the) S 60 J ( context) S 60 J ( of) S 60 J ( the) S 60 J ( lower-level) S 60 J ( \(intermediate) S 60 J ( or) S 60 J ( mass) S
2880 10620 P (storage) S 60 J ( device\)) S 60 J ( driver's) S 60 J ( DPC) S 60 J ( routine) S 60 J ( when) S 60 J ( the) S 60 J ( I/O) S 60 J ( operation) S 60 J ( is) S 60 J ( being) S 60 J ( completed) S 60 J ( if) S
2880 10880 P (the) S 60 J ( FSD) S 60 J ( indicated) S 60 J ( that) S 60 J ( it) S 60 J ( should) S 60 J ( be) S 60 J ( called) S 60 J ( upon) S 60 J ( completion) S 60 J ( of) S 60 J ( the) S 60 J ( IRP.) S
2880 11200 P (The) S 60 J ( term) S 60 J ( FSD) S 60 J ( normally) S 60 J ( refers) S 60 J ( to) S 60 J ( the) S 60 J ( DD) S 60 J ( \(device) S 60 J ( driver\)) S 60 J ( part) S 60 J ( of) S 60 J ( a) S 60 J ( file) S 60 J ( system) S 60 J ( driver) S
2880 11460 P (only) S 60 J ( when) S 60 J ( the) S 60 J ( driver) S 60 J ( also) S 60 J ( has) S 60 J ( an) S 60 J ( FSP) S 60 J ( associated) S 60 J ( with) S 60 J ( it;) S 60 J ( otherwise,) S 60 J ( it's) S 60 J ( called) S 60 J ( simply) S
2880 11720 P (a) S 60 J ( device) S 60 J ( driver.) S 0 12 F
PE
1200 1220 P 10 12 F B (G-) S E B (14) S E B () S 883 J ( Kernel-mode) S 55 J ( Driver) S 55 J ( Design) S 55 J ( Guide) S E
1200 2060 P 0 12 F 24 12 F B (FSP) S E
1680 2380 P 0 12 F 24 12 F (File) S 60 J ( system) S 60 J ( process) S
2160 2700 P (The) S 60 J ( FSP) S 60 J ( usually) S 60 J ( refers) S 60 J ( to) S 60 J ( a) S 60 J ( set) S 60 J ( of) S 60 J ( device-dedicated) S 60 J ( or) S 60 J ( system) S 60 J ( worker) S 60 J ( threads) S 60 J ( that) S 60 J ( aid) S
2160 2960 P (a) S 60 J ( file) S 60 J ( system) S 60 J ( driver) S 60 J ( \(FSD\)) S 60 J ( in) S 60 J ( getting) S 60 J ( work) S 60 J ( done,) S 60 J ( but) S 60 J ( can) S 60 J ( also) S 60 J ( refer) S 60 J ( to) S 60 J ( a) S 60 J ( kernel-mode) S
2160 3220 P (process) S 60 J ( set) S 60 J ( up) S 60 J ( by) S 60 J ( an) S 60 J ( FSD.) S 60 J ( FSP) S 60 J ( threads) S 60 J ( are) S 60 J ( generally) S 60 J ( used) S 60 J ( when) S 60 J ( a) S 60 J ( file) S 60 J ( system) S 60 J ( driver) S
2160 3480 P (needs) S 60 J ( a) S 60 J ( thread) S 60 J ( context) S 60 J ( in) S 60 J ( which) S 60 J ( to) S 60 J ( work.) S 60 J ( An) S 60 J ( example) S 60 J ( is) S 60 J ( when) S 60 J ( the) S 60 J ( driver) S 60 J ( needs) S 60 J ( to) S 60 J ( be) S
2160 3740 P (able) S 60 J ( to) S 60 J ( wait) S 60 J ( without) S 60 J ( tying) S 60 J ( up) S 60 J ( the) S 60 J ( calling) S 60 J ( thread.) S 60 J ( An) S 60 J ( FSP) S 60 J ( kernel-mode) S 60 J ( process) S 60 J ( is) S 60 J ( used) S
2160 4000 P (only) S 60 J ( when) S 60 J ( an) S 60 J ( FSD) S 60 J ( must) S 60 J ( have) S 60 J ( a) S 60 J ( driver-specific) S 60 J ( process) S 60 J ( address) S 60 J ( space) S 60 J ( in) S 60 J ( which) S 60 J ( its) S
2160 4260 P (device-dedicated) S 60 J ( threads) S 60 J ( execute.) S 60 J ( \(Most) S 60 J ( NT) S 60 J ( file) S 60 J ( system) S 60 J ( drivers) S 60 J ( conserve) S 60 J ( system) S
2160 4520 P (memory) S 60 J ( by) S 60 J ( ) S 0 12 F 24 12 F I (not) S E 0 12 F 24 12 F () S 60 J ( creating) S 60 J ( their) S 60 J ( own) S 60 J ( kernel-mode) S 60 J ( processes.\)) S
2160 4840 P (Communication) S 60 J ( between) S 60 J ( the) S 60 J ( FSD) S 60 J ( and) S 60 J ( the) S 60 J ( FSP) S 60 J ( threads) S 60 J ( is) S 60 J ( performed) S 60 J ( through) S 60 J ( the) S 60 J ( use) S
2160 5100 P (of) S 60 J ( a) S 60 J ( communication) S 60 J ( region.) S 60 J ( This) S 60 J ( region) S 60 J ( is) S 60 J ( generally) S 60 J ( allocated) S 60 J ( in) S 60 J ( a) S 60 J ( device) S 60 J ( object's) S
2160 5360 P (device) S 60 J ( extension) S 60 J ( and) S 60 J ( consists) S 60 J ( of) S 60 J ( an) S 60 J ( interlocked) S 60 J ( queue) S 60 J ( and) S 60 J ( a) S 60 J ( synchronization) S 60 J ( event.) S
2160 5620 P (See) S 60 J ( also) S 60 J ( device) S 60 J ( object,) S 60 J ( device) S 60 J ( extension,) S 60 J ( and) S 60 J ( event) S 60 J ( object.) S
2160 5940 P (Note) S 60 J ( that) S 60 J ( any) S 60 J ( NT) S 60 J ( driver) S 60 J ( \(not) S 60 J ( just) S 60 J ( file) S 60 J ( systems\)) S 60 J ( can) S 60 J ( create) S 60 J ( one) S 60 J ( or) S 60 J ( more) S 60 J ( device-) S
2160 6200 P (dedicated) S 60 J ( threads) S 60 J ( or) S 60 J ( use) S 60 J ( system) S 60 J ( worker) S 60 J ( threads.) S 60 J ( In) S 60 J ( particular,) S 60 J ( an) S 60 J ( NT) S 60 J ( driver) S 60 J ( should) S
2160 6460 P (create) S 60 J ( a) S 60 J ( thread) S 60 J ( for) S 60 J ( I/O) S 60 J ( operations) S 60 J ( that) S 60 J ( use) S 60 J ( synchronization) S 60 J ( mechanisms) S 60 J ( \(such) S 60 J ( as) S
2160 6720 P (events,) S 60 J ( timers,) S 60 J ( semaphores,) S 60 J ( mutexes,) S 60 J ( etc.\)) S 60 J ( other) S 60 J ( than) S 60 J ( spin) S 60 J ( locks.) S 60 J ( Such) S 60 J ( a) S 60 J ( driver's) S
2160 6980 P (thread) S 60 J ( can) S 60 J ( wait) S 60 J ( for) S 60 J ( an) S 60 J ( indefinite,) S 60 J ( nonzero) S 60 J ( interval) S 60 J ( on) S 60 J ( a) S 60 J ( Kernel-defined) S 60 J ( dispatcher) S
2160 7240 P (object,) S 60 J ( but) S 60 J ( context) S 60 J ( switches) S 60 J ( to) S 60 J ( the) S 60 J ( thread) S 60 J ( slow) S 60 J ( down) S 60 J ( the) S 60 J ( driver's) S 60 J ( I/O) S 60 J ( operations.) S
1200 7740 P 0 12 F 24 12 F B (GUID) S E
1680 8060 P 0 12 F 24 12 F (Globally) S 60 J ( unique) S 60 J ( identifier) S
2160 8380 P (See) S 60 J ( SID.) S
1200 8880 P 0 12 F 24 12 F B (HAL) S E
1680 9200 P 0 12 F 24 12 F (Hardware) S 60 J ( abstraction) S 60 J ( layer) S
2160 9520 P (An) S 60 J ( NT) S 60 J ( executive) S 60 J ( component) S 60 J ( that) S 60 J ( provides) S 60 J ( platform-specific) S 60 J ( support) S 60 J ( for) S 60 J ( the) S 60 J ( NT) S
2160 9780 P (Kernel,) S 60 J ( I/O) S 60 J ( Manager,) S 60 J ( kernel-mode) S 60 J ( debuggers,) S 60 J ( and) S 60 J ( lowest-level) S 60 J ( device) S 60 J ( drivers.) S 60 J ( The) S
2160 10040 P (HAL) S 60 J ( exports) S 60 J ( routines) S 60 J ( that) S 60 J ( abstract) S 60 J ( platform-specific) S 60 J ( hardware) S 60 J ( details) S 60 J ( about) S 60 J ( caches,) S
2160 10300 P (I/O) S 60 J ( buses,) S 60 J ( interrupts,) S 60 J ( etc.) S 60 J ( and) S 60 J ( provides) S 60 J ( an) S 60 J ( interface) S 60 J ( between) S 60 J ( the) S 60 J ( platform's) S 60 J ( hardware) S
2160 10560 P (and) S 60 J ( the) S 60 J ( system) S 60 J ( software.) S 60 J ( For) S 60 J ( example,) S 60 J ( the) S 60 J ( HAL) S 60 J ( implements) S 60 J ( a) S 60 J ( routine) S 60 J ( to) S 60 J ( map) S 60 J ( each) S
2160 10820 P (device) S 60 J ( driver's) S 60 J ( bus-relative) S 60 J ( device) S 60 J ( interrupt) S 60 J ( vector) S 60 J ( to) S 60 J ( a) S 60 J ( system-assigned) S 60 J ( vector) S 60 J ( with) S
2160 11080 P (a) S 60 J ( corresponding) S 60 J ( platform-specific) S 60 J ( hardware) S 60 J ( priority) S 60 J ( \(DIRQL\),) S 60 J ( as) S 60 J ( well) S 60 J ( as) S 60 J ( several) S
2160 11340 P (routines) S 60 J ( that) S 60 J ( provide) S 60 J ( DMA-transfer) S 60 J ( support.) S
1200 11840 P 0 12 F 24 12 F B (hardware) S 60 J ( exception) S E
1680 12160 P 0 12 F 24 12 F (See) S 60 J ( SEH.) S 0 12 F
PE
1920 1220 P 10 12 F B () S 3453 J ( Glossary) S 55 J ( of) S 55 J ( Terms) S 55 J ( and) S 55 J ( Acronyms) S 763 J ( G-) S E B (15) S E B () S 720 J ( ) S E
1920 2060 P 0 12 F 24 12 F B (HBA) S E
2400 2380 P 0 12 F 24 12 F (Host) S 60 J ( bus) S 60 J ( adapter) S
2880 2700 P (A) S 60 J ( hardware) S 60 J ( device) S 60 J ( that) S 60 J ( "connects") S 60 J ( NT) S 60 J ( and) S 60 J ( a) S 60 J ( SCSI) S 60 J ( bus.) S 60 J ( A) S 60 J ( SCSI) S 60 J ( HBA) S 60 J ( driver) S 60 J ( usually) S
2880 2960 P (manages) S 60 J ( the) S 60 J ( lower) S 60 J ( layers) S 60 J ( of) S 60 J ( the) S 60 J ( SCSI-II) S 60 J ( protocol.) S 60 J ( See) S 60 J ( miniport) S 60 J ( driver;) S 60 J ( see) S 60 J ( also) S 60 J ( port) S
2880 3220 P (driver,) S 60 J ( class) S 60 J ( driver,) S 60 J ( and) S 60 J ( SCSI.) S
1920 3720 P 0 12 F 24 12 F B (HPFS) S E
2400 4040 P 0 12 F 24 12 F (High) S 60 J ( performance) S 60 J ( file) S 60 J ( system) S
2880 4360 P (An) S 60 J ( NT-supplied) S 60 J ( installable) S 60 J ( file) S 60 J ( system) S
1920 4860 P 0 12 F 24 12 F B (hyperspace) S E
2400 5180 P 0 12 F 24 12 F (A) S 60 J ( block) S 60 J ( of) S 60 J ( virtual) S 60 J ( memory) S 60 J ( somewhere) S 60 J ( in) S 60 J ( kernel) S 60 J ( space,) S 60 J ( dedicated) S 60 J ( to) S 60 J ( the) S 60 J ( use) S 60 J ( of) S 60 J ( the) S 60 J ( NT) S
2400 5440 P (Memory) S 60 J ( Manager.) S 60 J ( Every) S 60 J ( instance) S 60 J ( of) S 60 J ( a) S 60 J ( user-mode) S 60 J ( virtual) S 60 J ( address) S 60 J ( space) S 60 J ( has) S 60 J ( an) S 60 J ( associated) S
2400 5700 P (hyperspace) S 60 J ( area) S 60 J ( where) S 60 J ( the) S 60 J ( Memory) S 60 J ( Manager) S 60 J ( maintains) S 60 J ( internal) S 60 J ( data) S 60 J ( \(such) S 60 J ( as) S 60 J ( page) S 60 J ( table) S
2400 5960 P (pages) S 60 J ( and) S 60 J ( WSLs\)) S 60 J ( for) S 60 J ( the) S 60 J ( current) S 60 J ( process.) S 60 J ( See) S 60 J ( also) S 60 J ( kernel) S 60 J ( space) S 60 J ( and) S 60 J ( user) S 60 J ( space.) S
1920 6460 P 0 12 F 24 12 F B (IDB) S E
2400 6780 P 0 12 F 24 12 F (Interrupt) S 60 J ( dispatch) S 60 J ( block) S
2880 7100 P (An) S 60 J ( internal) S 60 J ( structure) S 60 J ( used) S 60 J ( by) S 60 J ( the) S 60 J ( NT) S 60 J ( Kernel.) S 0 12 F
PE
1200 1220 P 10 12 F B (G-) S E B (16) S E B () S 883 J ( Kernel-mode) S 55 J ( Driver) S 55 J ( Design) S 55 J ( Guide) S E
1200 2060 P 0 12 F 24 12 F B (IDT) S E
1680 2380 P 0 12 F 24 12 F (Interrupt) S 60 J ( dispatch) S 60 J ( table) S
2160 2700 P (A) S 60 J ( Kernel-defined) S 60 J ( call) S 60 J ( table) S 60 J ( with) S 60 J ( a) S 60 J ( platform-dependent) S 60 J ( number) S 60 J ( of) S 60 J ( first-level) S 60 J ( entries) S
2160 2960 P (\(some) S 60 J ( for) S 60 J ( DIRQL) S 60 J ( ISRs\)) S 60 J ( and) S 60 J ( second-level) S 60 J ( entries) S 60 J ( for) S 60 J ( interrupt) S 60 J ( transfer) S 60 J ( routines) S
2160 3220 P (\(dependent) S 60 J ( on) S 60 J ( a) S 60 J ( first-level) S 60 J ( ISR\).) S 60 J ( For) S 60 J ( symmetric) S 60 J ( multiprocessor) S 60 J ( platforms,) S 60 J ( the) S
2160 3480 P (Kernel) S 60 J ( sets) S 60 J ( up) S 60 J ( an) S 60 J ( IDT) S 60 J ( for) S 60 J ( each) S 60 J ( processor.) S 60 J ( See) S 60 J ( also) S 60 J ( multiprocessor) S 60 J ( machine.) S
2160 3800 P (The) S 60 J ( NT) S 60 J ( Kernel) S 60 J ( reserves) S 60 J ( eight) S 60 J ( first-level) S 60 J ( entries) S 60 J ( per) S 60 J ( IDT) S 60 J ( for) S 60 J ( its) S 60 J ( own) S 60 J ( use;) S 60 J ( the) S
2160 4060 P (remaining) S 60 J ( first-level) S 60 J ( entries) S 60 J ( can) S 60 J ( be) S 60 J ( connected) S 60 J ( to) S 60 J ( a) S 60 J ( platform-specific) S 60 J ( bus) S 60 J ( interrupt) S 60 J ( by) S
2160 4320 P (the) S 60 J ( HAL) S 60 J ( or) S 60 J ( to) S 60 J ( a) S 60 J ( device) S 60 J ( interrupt.) S 60 J ( The) S 60 J ( Kernel's) S 60 J ( reserved) S 60 J ( entries) S 60 J ( \(in) S 60 J ( low-to-high) S 60 J ( IRQL) S
2160 4580 P (priority\)) S 60 J ( are) S 60 J ( defined) S 60 J ( by) S 60 J ( the) S 60 J ( following) S 60 J ( constants:) S
1200 4900 P () S 928 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 360 J ( PASSIVE_LEVEL) S 60 J ( -) S 60 J ( execute) S 60 J ( thread.) S
1200 5220 P () S 928 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 360 J ( APC_LEVEL) S 60 J ( -) S 60 J ( execute) S 60 J ( special) S 60 J ( Kernel) S 60 J ( APC.) S
1200 5540 P () S 928 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 360 J ( DISPATCH_LEVEL) S 60 J ( -) S 60 J ( dispatch) S 60 J ( \(execute) S 60 J ( DPC\).) S
1200 5860 P () S 928 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 360 J ( WAKE_LEVEL) S 60 J ( -) S 60 J ( debugger) S 60 J ( execution.) S
1200 6180 P () S 928 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 360 J ( CLOCK2_LEVEL) S 60 J ( -) S 60 J ( interval-timer) S 60 J ( execution.) S
1200 6500 P () S 928 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 360 J ( REQUEST_LEVEL) S 60 J ( -) S 60 J ( interprocessor) S 60 J ( request.) S
1200 6820 P () S 928 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 360 J ( POWER_LEVEL) S 60 J ( -) S 60 J ( power) S 60 J ( failure) S 60 J ( notification.) S
1200 7140 P () S 928 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 360 J ( HIGH_LEVEL) S 60 J ( -) S 60 J ( machine) S 60 J ( checks) S 60 J ( or) S 60 J ( bus) S 60 J ( errors.) S
2160 7460 P (The) S 60 J ( set) S 60 J ( of) S 60 J ( software) S 60 J ( and) S 60 J ( hardware) S 60 J ( interrupt) S 60 J ( vectors) S 60 J ( mapped) S 60 J ( to) S 60 J ( these) S 60 J ( constants) S 60 J ( is) S
2160 7720 P (platform-dependent,) S 60 J ( but) S 60 J ( none) S 60 J ( can) S 60 J ( be) S 60 J ( connected) S 60 J ( to) S 60 J ( a) S 60 J ( driver's) S 60 J ( interrupt) S 60 J ( object.) S 60 J ( Note) S
2160 7980 P (that) S 60 J ( the) S 60 J ( constants) S 60 J ( PASSIVE_LEVEL) S 60 J ( through) S 60 J ( DISPATCH_LEVEL) S 60 J ( and) S
2160 8240 P (WAKE_LEVEL) S 60 J ( correspond) S 60 J ( to) S 60 J ( software) S 60 J ( interrupt) S 60 J ( vectors.) S 60 J ( DIRQLs) S 60 J ( for) S 60 J ( device) S
2160 8500 P (drivers) S 60 J ( usually) S 60 J ( have) S 60 J ( IRQL) S 60 J ( priority) S 60 J ( higher) S 60 J ( than) S 60 J ( DISPATCH_LEVEL) S 60 J ( but) S 60 J ( lower) S 60 J ( than) S
2160 8760 P (CLOCK2_LEVEL.) S
1200 9260 P 0 12 F 24 12 F B (IFS) S E
1680 9580 P 0 12 F 24 12 F (Installable) S 60 J ( file) S 60 J ( system) S
2160 9900 P (See) S 60 J ( FS.) S
1200 10400 P 0 12 F 24 12 F B (integral) S 60 J ( subsystem) S E
1680 10720 P 0 12 F 24 12 F (A) S 60 J ( protected) S 60 J ( subsystem) S 60 J ( \(server\)) S 60 J ( that) S 60 J ( performs) S 60 J ( an) S 60 J ( essential) S 60 J ( operating) S 60 J ( system) S 60 J ( task.) S 60 J ( For) S 60 J ( NT,) S
1680 10980 P (this) S 60 J ( group) S 60 J ( includes) S 60 J ( the) S 60 J ( Local) S 60 J ( Security) S 60 J ( Authority,) S 60 J ( the) S 60 J ( Security) S 60 J ( Accounts) S 60 J ( Manager,) S 60 J ( the) S
1680 11240 P (Session) S 60 J ( Manager,) S 60 J ( and) S 60 J ( the) S 60 J ( network) S 60 J ( server.) S 60 J ( See) S 60 J ( also) S 60 J ( protected) S 60 J ( subsystem.) S 0 12 F
PE
1920 1220 P 10 12 F B () S 3453 J ( Glossary) S 55 J ( of) S 55 J ( Terms) S 55 J ( and) S 55 J ( Acronyms) S 763 J ( G-) S E B (17) S E B () S 720 J ( ) S E
1920 2060 P 0 12 F 24 12 F B (intermediate) S 60 J ( driver) S E
2400 2380 P 0 12 F 24 12 F (An) S 60 J ( intermediate) S 60 J ( driver) S 60 J ( processes) S 60 J ( I/O) S 60 J ( requests) S 60 J ( "between") S 60 J ( the) S 60 J ( highest-level) S 60 J ( driver) S
2400 2640 P (\(frequently) S 60 J ( an) S 60 J ( FS\)) S 60 J ( and) S 60 J ( the) S 60 J ( lowest-level) S 60 J ( driver) S 60 J ( that) S 60 J ( controls) S 60 J ( the) S 60 J ( hardware) S 60 J ( device) S 60 J ( for) S 60 J ( which) S
2400 2900 P (the) S 60 J ( request) S 60 J ( is) S 60 J ( bound.) S 60 J ( See) S 60 J ( also) S 60 J ( layered) S 60 J ( driver.) S
2880 3220 P (Examples) S 60 J ( of) S 60 J ( intermediate) S 60 J ( drivers) S 60 J ( include) S 60 J ( the) S 60 J ( NT) S 60 J ( ftdisk) S 60 J ( driver,) S 60 J ( which) S 60 J ( supports) S 60 J ( fault) S
2880 3480 P (tolerance,) S 60 J ( and) S 60 J ( many) S 60 J ( class) S 60 J ( drivers.) S
1920 3980 P 0 12 F 24 12 F B (interrupt) S E
2400 4300 P 0 12 F 24 12 F (An) S 60 J ( asynchronous) S 60 J ( hardware) S 60 J ( signal,) S 60 J ( usually) S 60 J ( indicating) S 60 J ( that) S 60 J ( a) S 60 J ( peripheral) S 60 J ( device) S 60 J ( needs) S
2400 4560 P (service,) S 60 J ( that) S 60 J ( is) S 60 J ( detected) S 60 J ( by) S 60 J ( the) S 60 J ( processor.) S 60 J ( An) S 60 J ( interrupt) S 60 J ( causes) S 60 J ( the) S 60 J ( processor) S 60 J ( to) S 60 J ( save) S 60 J ( state,) S
2400 4820 P (to) S 60 J ( branch) S 60 J ( to) S 60 J ( a) S 60 J ( fixed) S 60 J ( location,) S 60 J ( and) S 60 J ( to) S 60 J ( resume) S 60 J ( execution) S 60 J ( at) S 60 J ( that) S 60 J ( location.) S 60 J ( See) S 60 J ( also) S 60 J ( IDT.) S
1920 5320 P 0 12 F 24 12 F B (interrupt) S 60 J ( object) S E
2400 5640 P 0 12 F 24 12 F (A) S 60 J ( kernel-mode-only,) S 60 J ( Kernel-defined) S 60 J ( control) S 60 J ( object) S 60 J ( type,) S 60 J ( used) S 60 J ( to) S 60 J ( connect) S 60 J ( a) S 60 J ( hardware) S
2400 5900 P (interrupt) S 60 J ( source) S 60 J ( \(see) S 60 J ( DIRQL\)) S 60 J ( and) S 60 J ( an) S 60 J ( ISR) S 60 J ( to) S 60 J ( an) S 60 J ( IDT) S 60 J ( entry,) S 60 J ( or) S 60 J ( to) S 60 J ( connect) S 60 J ( an) S 60 J ( ISR) S 60 J ( and) S 60 J ( an) S
2400 6160 P (interrupt) S 60 J ( transfer) S 60 J ( routine) S 60 J ( \(dependent) S 60 J ( on) S 60 J ( the) S 60 J ( ISR) S 60 J ( at) S 60 J ( its) S 60 J ( IRQL\)) S 60 J ( to) S 60 J ( a) S 60 J ( second-level) S 60 J ( IDT) S 60 J ( entry.) S
2400 6480 P (Each) S 60 J ( interrupt) S 60 J ( object:) S
1920 6800 P () S 512 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 296 J ( Can) S 60 J ( be) S 60 J ( associated) S 60 J ( with) S 60 J ( a) S 60 J ( single) S 60 J ( IDT) S 60 J ( entry) S 60 J ( \(and,) S 60 J ( therefore,) S 60 J ( with) S 60 J ( a) S 60 J ( single) S 60 J ( processor) S 60 J ( in) S
2880 7060 P (a) S 60 J ( multiprocessor) S 60 J ( machine\).) S
1920 7380 P () S 512 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 296 J ( Is) S 60 J ( either) S 60 J ( LevelSensitive) S 60 J ( or) S 60 J ( Latched,) S 60 J ( depending) S 60 J ( on) S 60 J ( the) S 60 J ( platform) S 60 J ( or) S 60 J ( device.) S
1920 7700 P () S 512 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 296 J ( Can) S 60 J ( be) S 60 J ( one) S 60 J ( of) S 60 J ( several) S 60 J ( interrupt) S 60 J ( objects) S 60 J ( associated) S 60 J ( with) S 60 J ( a) S 60 J ( given) S 60 J ( IDT) S 60 J ( entry) S 60 J ( if) S 60 J ( and) S 60 J ( only) S
2880 7960 P (if) S 60 J ( every) S 60 J ( interrupt) S 60 J ( object) S 60 J ( for) S 60 J ( that) S 60 J ( entry) S 60 J ( is) S 60 J ( of) S 60 J ( a) S 60 J ( single) S 60 J ( type) S 60 J ( \(LevelSensitive) S 60 J ( or) S 60 J ( Latched\).) S
2400 8280 P (For) S 60 J ( a) S 60 J ( second-level) S 60 J ( IDT) S 60 J ( entry,) S 60 J ( an) S 60 J ( ISR) S 60 J ( \(e.g.,) S 60 J ( for) S 60 J ( a) S 60 J ( bus) S 60 J ( adapter\)) S 60 J ( associated) S 60 J ( with) S 60 J ( a) S 60 J ( first-level) S
2400 8540 P (IRQL) S 60 J ( routes) S 60 J ( the) S 60 J ( interrupt) S 60 J ( to) S 60 J ( the) S 60 J ( \(device-specific\)) S 60 J ( interrupt) S 60 J ( transfer) S 60 J ( routine) S 60 J ( for) S 60 J ( service) S 60 J ( via) S
2400 8800 P (its) S 60 J ( entry) S 60 J ( in) S 60 J ( the) S 60 J ( IDT.) S
2400 9120 P (When) S 60 J ( more) S 60 J ( than) S 60 J ( one) S 60 J ( set) S 60 J ( of) S 60 J ( interrupt) S 60 J ( objects) S 60 J ( are) S 60 J ( connected) S 60 J ( to) S 60 J ( the) S 60 J ( same) S 60 J ( first-level) S 60 J ( IDT) S
2400 9380 P (entry,) S 60 J ( the) S 60 J ( corresponding) S 60 J ( ISRs) S 60 J ( are) S 60 J ( called) S 60 J ( in) S 60 J ( the) S 60 J ( same) S 60 J ( order) S 60 J ( in) S 60 J ( which) S 60 J ( they) S 60 J ( were) S 60 J ( connected.) S
1920 9880 P 0 12 F 24 12 F B (invalid) S 60 J ( page) S E
2400 10200 P 0 12 F 24 12 F (A) S 60 J ( page-sized) S 60 J ( range) S 60 J ( of) S 60 J ( virtual) S 60 J ( addresses) S 60 J ( for) S 60 J ( which) S 60 J ( a) S 60 J ( page) S 60 J ( fault) S 60 J ( occurs) S 60 J ( when) S 60 J ( any) S 60 J ( address) S
2400 10460 P (in) S 60 J ( the) S 60 J ( range) S 60 J ( is) S 60 J ( referenced.) S 60 J ( For) S 60 J ( NT) S 60 J ( drivers,) S 60 J ( referencing) S 60 J ( an) S 60 J ( invalid) S 60 J ( page) S 60 J ( causes) S 60 J ( a) S 60 J ( fatal) S 60 J ( page) S
2400 10720 P (fault) S 60 J ( unless) S 60 J ( the) S 60 J ( driver) S 60 J ( is) S 60 J ( running) S 60 J ( at) S 60 J ( an) S 60 J ( IRQL) S 60 J ( <) S 60 J ( DISPATCH_LEVEL) S 60 J ( when) S 60 J ( the) S 60 J ( reference) S
2400 10980 P (occurs.) S 0 12 F
PE
1200 1220 P 10 12 F B (G-) S E B (18) S E B () S 883 J ( Kernel-mode) S 55 J ( Driver) S 55 J ( Design) S 55 J ( Guide) S E
1200 2060 P 0 12 F 24 12 F B (I/O) S 60 J ( stack) S 60 J ( location) S E
1680 2380 P 0 12 F 24 12 F (a.k.a.) S 60 J ( "stack) S 60 J ( location") S
2160 2700 P (An) S 60 J ( I/O) S 60 J ( stack) S 60 J ( location) S 60 J ( refers) S 60 J ( to) S 60 J ( the) S 60 J ( part) S 60 J ( of) S 60 J ( an) S 60 J ( IRP) S 60 J ( that) S 60 J ( is) S 60 J ( allocated) S 60 J ( for) S 60 J ( each) S 60 J ( driver) S 60 J ( in) S 60 J ( a) S
2160 2960 P (chain) S 60 J ( of) S 60 J ( layered) S 60 J ( drivers.) S 60 J ( Each) S 60 J ( driver) S 60 J ( owns) S 60 J ( one) S 60 J ( of) S 60 J ( the) S 60 J ( stack) S 60 J ( locations) S 60 J ( in) S 60 J ( the) S 60 J ( packet) S
2160 3220 P (and) S 60 J ( obtains) S 60 J ( driver-specific) S 60 J ( information) S 60 J ( about) S 60 J ( what) S 60 J ( I/O) S 60 J ( operation) S 60 J ( to) S 60 J ( carry) S 60 J ( out) S 60 J ( on) S 60 J ( the) S
2160 3480 P (target) S 60 J ( device,) S 60 J ( using) S 60 J ( the) S 60 J ( supplied) S 60 J ( arguments.) S 60 J ( It) S 60 J ( is) S 60 J ( also) S 60 J ( used) S 60 J ( to) S 60 J ( store) S 60 J ( context) S 60 J ( about) S 60 J ( the) S
2160 3740 P (driver) S 60 J ( during) S 60 J ( I/O) S 60 J ( completion) S 60 J ( so) S 60 J ( that) S 60 J ( the) S 60 J ( driver's) S 60 J ( I/O) S 60 J ( completion) S 60 J ( routine) S 60 J ( can) S 60 J ( perform) S
2160 4000 P (its) S 60 J ( cleanup) S 60 J ( operations.) S
1200 4500 P 0 12 F 24 12 F B (I/O) S 60 J ( status) S 60 J ( block) S E
1680 4820 P 0 12 F 24 12 F (An) S 60 J ( I/O) S 60 J ( status) S 60 J ( block) S 60 J ( is) S 60 J ( a) S 60 J ( data) S 60 J ( structure) S 60 J ( that) S 60 J ( is) S 60 J ( part) S 60 J ( of) S 60 J ( each) S 60 J ( IRP.) S 60 J ( An) S 60 J ( I/O) S 60 J ( status) S 60 J ( block) S 60 J ( serves) S
1680 5080 P (two) S 60 J ( purposes:) S
1200 5400 P () S 544 J ( 1) S 296 J ( For) S 60 J ( asynchronous) S 60 J ( system) S 60 J ( calls,) S 60 J ( it) S 60 J ( provides) S 60 J ( the) S 60 J ( user) S 60 J ( \(or) S 60 J ( a) S 60 J ( higher-level) S 60 J ( driver's) S
2160 5660 P (IoCompletion) S 60 J ( routine\)) S 60 J ( a) S 60 J ( way) S 60 J ( of) S 60 J ( determining) S 60 J ( whether) S 60 J ( or) S 60 J ( not) S 60 J ( the) S 60 J ( service) S 60 J ( worked) S
2160 5920 P (when) S 60 J ( the) S 60 J ( IRP) S 60 J ( is) S 60 J ( completed.) S
1200 6240 P () S 544 J ( 2) S 296 J ( It) S 60 J ( also) S 60 J ( provides) S 60 J ( more) S 60 J ( information) S 60 J ( about) S 60 J ( why) S 60 J ( the) S 60 J ( service) S 60 J ( either) S 60 J ( worked) S 60 J ( or) S 60 J ( did) S 60 J ( not) S
2160 6500 P (work.) S
1680 6820 P (The) S 60 J ( type) S 60 J ( definition) S 60 J ( of) S 60 J ( an) S 60 J ( I/O) S 60 J ( status) S 60 J ( block) S 60 J ( is) S 60 J ( as) S 60 J ( follows:) S
1680 7340 P 0 12 F 0 12 F (typedef) S 144 J ( struct) S 144 J ( _IO_STATUS_BLOCK) S 144 J ( {) S
1680 7600 P () S 480 J ( NTSTATUS) S 144 J ( Status;) S
1680 7860 P () S 480 J ( ULONG) S 144 J ( Information;) S
1680 8120 P (}) S 144 J ( IO_STATUS_BLOCK,) S 144 J ( *PIO_STATUS_BLOCK;) S
1680 8700 P 0 12 F 24 12 F (Upon) S 60 J ( completion) S 60 J ( of) S 60 J ( a) S 60 J ( system) S 60 J ( service,) S 60 J ( the) S 60 J ( Information) S 60 J ( member) S 60 J ( supplies) S 60 J ( the) S 60 J ( caller) S 60 J ( with) S
1680 8960 P (more) S 60 J ( information) S 60 J ( about) S 60 J ( what) S 60 J ( actually) S 60 J ( occurred.) S 60 J ( For) S 60 J ( example,) S 60 J ( this) S 60 J ( member) S 60 J ( contains) S 60 J ( the) S
1680 9220 P (number) S 60 J ( of) S 60 J ( bytes) S 60 J ( actually) S 60 J ( read) S 60 J ( from) S 60 J ( a) S 60 J ( file) S 60 J ( after) S 60 J ( a) S 60 J ( read) S 60 J ( operation.) S 0 12 F
PE
1920 1220 P 10 12 F B () S 3453 J ( Glossary) S 55 J ( of) S 55 J ( Terms) S 55 J ( and) S 55 J ( Acronyms) S 763 J ( G-) S E B (19) S E B () S 720 J ( ) S E
1920 2060 P 0 12 F 24 12 F B (IPC) S E
2400 2380 P 0 12 F 24 12 F (Interprocess) S 60 J ( communication) S
2880 2700 P (In) S 60 J ( addition) S 60 J ( to) S 60 J ( synchronization) S 60 J ( primitives,) S 60 J ( the) S 60 J ( NT) S 60 J ( system) S 60 J ( has) S 60 J ( two) S 60 J ( defined,) S 60 J ( message-) S
2880 2960 P (passing) S 60 J ( mechanisms) S 60 J ( for) S 60 J ( IPC:) S
1920 3280 P () S 960 J ( 1) S 360 J ( LPC,) S 60 J ( defining) S 60 J ( the) S 60 J ( port) S 60 J ( object) S 60 J ( type) S 60 J ( with) S 60 J ( a) S 60 J ( server) S 60 J ( process) S 60 J ( that) S 60 J ( supplies) S 60 J ( system) S
3360 3540 P (\(port\)) S 60 J ( services) S 60 J ( to) S 60 J ( local) S 60 J ( \(using) S 60 J ( the) S 60 J ( same) S 60 J ( physical) S 60 J ( memory) S 60 J ( on) S 60 J ( a) S 60 J ( single) S 60 J ( system\)) S
3360 3800 P (client) S 60 J ( processes.) S
1920 4120 P () S 960 J ( 2) S 360 J ( RPC,) S 60 J ( with) S 60 J ( an) S 60 J ( NT-supplied) S 60 J ( runtime) S 60 J ( library) S 60 J ( that) S 60 J ( implements) S 60 J ( such) S 60 J ( RPC) S
3360 4380 P (capabilities) S 60 J ( as) S 60 J ( binding) S 60 J ( a) S 60 J ( client) S 60 J ( process) S 60 J ( in) S 60 J ( one) S 60 J ( address) S 60 J ( space) S 60 J ( with) S 60 J ( a) S 60 J ( server) S
3360 4640 P (process) S 60 J ( in) S 60 J ( another) S 60 J ( address) S 60 J ( space) S 60 J ( and) S 60 J ( sending) S 60 J ( necessary) S 60 J ( messages) S 60 J ( to) S 60 J ( make) S 60 J ( a) S
3360 4900 P (remote) S 60 J ( procedure) S 60 J ( call) S 60 J ( possible.) S
2880 5220 P (The) S 60 J ( system-supplied) S 60 J ( named) S 60 J ( pipe) S 60 J ( file) S 60 J ( system) S 60 J ( supports) S 60 J ( LPC.) S 60 J ( The) S 60 J ( NT) S 60 J ( LAN) S 60 J ( Manager) S
2880 5480 P (redirector) S 60 J ( also) S 60 J ( implements) S 60 J ( named) S 60 J ( pipes) S 60 J ( as) S 60 J ( a) S 60 J ( transport) S 60 J ( layer) S 60 J ( to) S 60 J ( connect) S 60 J ( clients) S 60 J ( to) S
2880 5740 P (application) S 60 J ( servers) S 60 J ( \(RPC\).) S
1920 6240 P 0 12 F 24 12 F B (IRP) S E
2400 6560 P 0 12 F 24 12 F (I/O) S 60 J ( request) S 60 J ( packet) S
2880 6880 P (An) S 60 J ( IRP) S 60 J ( is) S 60 J ( the) S 60 J ( basic) S 60 J ( I/O) S 60 J ( Manager) S 60 J ( structure) S 60 J ( used) S 60 J ( to) S 60 J ( communicate) S 60 J ( with) S 60 J ( drivers) S 60 J ( and) S 60 J ( to) S
2880 7140 P (allow) S 60 J ( drivers) S 60 J ( to) S 60 J ( communicate) S 60 J ( with) S 60 J ( each) S 60 J ( other.) S 60 J ( A) S 60 J ( packet) S 60 J ( consists) S 60 J ( of) S 60 J ( two) S 60 J ( different) S
2880 7400 P (parts:) S
1920 7720 P () S 960 J ( 1) S 360 J ( ) S LU (Header) S LE (,) S 60 J ( or) S 60 J ( ) S LU (fixed) S 60 J ( portion) S 60 J ( of) S 60 J ( the) S 60 J ( packet) S LE () S 60 J ( -) S 60 J ( This) S 60 J ( is) S 60 J ( used) S 60 J ( by) S 60 J ( the) S 60 J ( I/O) S 60 J ( Manager) S 60 J ( to) S
3360 7980 P (store) S 60 J ( information) S 60 J ( about) S 60 J ( the) S 60 J ( original) S 60 J ( request,) S 60 J ( such) S 60 J ( as) S 60 J ( the) S 60 J ( caller's) S 60 J ( parameters,) S 60 J ( the) S
3360 8240 P (address) S 60 J ( of) S 60 J ( the) S 60 J ( device) S 60 J ( object) S 60 J ( upon) S 60 J ( which) S 60 J ( the) S 60 J ( file) S 60 J ( is) S 60 J ( open,) S 60 J ( etc.) S 60 J ( It) S 60 J ( is) S 60 J ( also) S 60 J ( used) S 60 J ( by) S
3360 8500 P (drivers) S 60 J ( for) S 60 J ( storing) S 60 J ( such) S 60 J ( information) S 60 J ( as) S 60 J ( the) S 60 J ( final) S 60 J ( status) S 60 J ( of) S 60 J ( the) S 60 J ( request.) S 60 J ( See) S 60 J ( also) S
3360 8760 P (I/O) S 60 J ( status) S 60 J ( block) S 60 J ( and) S 60 J ( device) S 60 J ( object.) S
1920 9080 P () S 960 J ( 2) S 360 J ( ) S LU (I/O) S 60 J ( stack) S 60 J ( locations) S LE () S 60 J ( -) S 60 J ( Following) S 60 J ( the) S 60 J ( header) S 60 J ( is) S 60 J ( a) S 60 J ( set) S 60 J ( of) S 60 J ( I/O) S 60 J ( stack) S 60 J ( locations,) S 60 J ( one) S
3360 9340 P (per) S 60 J ( driver) S 60 J ( in) S 60 J ( the) S 60 J ( chain) S 60 J ( of) S 60 J ( layered) S 60 J ( drivers) S 60 J ( for) S 60 J ( which) S 60 J ( the) S 60 J ( request) S 60 J ( is) S 60 J ( bound.) S 60 J ( Each) S
3360 9600 P (stack) S 60 J ( location) S 60 J ( contains) S 60 J ( the) S 60 J ( parameters,) S 60 J ( function) S 60 J ( codes,) S 60 J ( and) S 60 J ( context) S 60 J ( used) S 60 J ( by) S 60 J ( the) S
3360 9860 P (corresponding) S 60 J ( driver) S 60 J ( to) S 60 J ( determine) S 60 J ( what) S 60 J ( it) S 60 J ( is) S 60 J ( supposed) S 60 J ( to) S 60 J ( be) S 60 J ( doing.) S
1920 10360 P 0 12 F 24 12 F B (IRQ) S E
2400 10680 P 0 12 F 24 12 F (A) S 60 J ( hardware) S 60 J ( line) S 60 J ( over) S 60 J ( which) S 60 J ( a) S 60 J ( peripheral) S 60 J ( device,) S 60 J ( bus) S 60 J ( controller,) S 60 J ( other) S 60 J ( processor,) S 60 J ( or) S 60 J ( the) S
2400 10940 P (Kernel) S 60 J ( signals) S 60 J ( a) S 60 J ( request) S 60 J ( for) S 60 J ( service) S 60 J ( to) S 60 J ( the) S 60 J ( microprocessor.) S 60 J ( \(IRQ) S 60 J ( is) S 60 J ( a) S 60 J ( common) S
2400 11200 P (abbreviation) S 60 J ( for) S 60 J ( "interrupt) S 60 J ( request) S 60 J ( lines."\)) S 60 J ( See) S 60 J ( interrupt.) S 0 12 F
PE
1200 1220 P 10 12 F B (G-) S E B (20) S E B () S 883 J ( Kernel-mode) S 55 J ( Driver) S 55 J ( Design) S 55 J ( Guide) S E
1200 2060 P 0 12 F 24 12 F B (IRQL) S E
1680 2380 P 0 12 F 24 12 F (Interrupt) S 60 J ( request) S 60 J ( level) S
2160 2700 P (The) S 60 J ( hardware) S 60 J ( priority) S 60 J ( level) S 60 J ( at) S 60 J ( which) S 60 J ( a) S 60 J ( given) S 60 J ( kernel-mode) S 60 J ( routine) S 60 J ( runs,) S 60 J ( thereby) S
2160 2960 P ("masking) S 60 J ( off") S 60 J ( interrupts) S 60 J ( with) S 60 J ( equivalent) S 60 J ( and) S 60 J ( lower) S 60 J ( IRQL) S 60 J ( on) S 60 J ( the) S 60 J ( processor.) S 60 J ( Note) S 60 J ( that) S
2160 3220 P (such) S 60 J ( a) S 60 J ( routine) S 60 J ( can) S 60 J ( be) S 60 J ( preempted) S 60 J ( by) S 60 J ( any) S 60 J ( interrupt) S 60 J ( with) S 60 J ( a) S 60 J ( higher) S 60 J ( IRQL.) S 60 J ( Note) S 60 J ( also) S 60 J ( that) S
2160 3480 P (running) S 60 J ( at) S 60 J ( IRQL) S 60 J ( DISPATCH_LEVEL) S 60 J ( or) S 60 J ( higher) S 60 J ( prevents) S 60 J ( threads) S 60 J ( \(even) S 60 J ( those) S 60 J ( with) S
2160 3740 P (the) S 60 J ( highest) S 60 J ( real-time) S 60 J ( priority) S 60 J ( level\)) S 60 J ( from) S 60 J ( running) S 60 J ( on) S 60 J ( the) S 60 J ( same) S 60 J ( processor) S 60 J ( until) S 60 J ( the) S
2160 4000 P (current) S 60 J ( kernel-mode) S 60 J ( routine) S 60 J ( lowers) S 60 J ( IRQL.) S 60 J ( However,) S 60 J ( running) S 60 J ( at) S 60 J ( raised) S 60 J ( IRQL) S 60 J ( on) S 60 J ( a) S
2160 4260 P (given) S 60 J ( processor) S 60 J ( has) S 60 J ( no) S 60 J ( effect) S 60 J ( on) S 60 J ( the) S 60 J ( IRQL) S 60 J ( priority) S 60 J ( of) S 60 J ( any) S 60 J ( other) S 60 J ( processor) S 60 J ( in) S 60 J ( a) S
2160 4520 P (symmetric) S 60 J ( multiprocessor) S 60 J ( machine.) S 60 J ( See) S 60 J ( also) S 60 J ( IDT,) S 60 J ( interrupt) S 60 J ( object,) S 60 J ( IRQ,) S 60 J ( ISR,) S
2160 4780 P (multiprocessor) S 60 J ( machine,) S 60 J ( and) S 60 J ( priority.) S
1200 5280 P 0 12 F 24 12 F B (ISA) S E
1680 5600 P 0 12 F 24 12 F (Industry) S 60 J ( standard) S 60 J ( architecture) S
2160 5920 P (Also,) S 60 J ( a) S 60 J ( standard) S 60 J ( defining) S 60 J ( the) S 60 J ( architecture) S 60 J ( of) S 60 J ( the) S 60 J ( PC) S 60 J ( bus) S 60 J ( \(a.k.a.) S 60 J ( "AT) S 60 J ( bus) S 60 J ( standard"\).) S
1200 6420 P 0 12 F 24 12 F B (ISR) S E
1680 6740 P 0 12 F 24 12 F (Interrupt) S 60 J ( service) S 60 J ( routine) S
2160 7060 P (A) S 60 J ( routine) S 60 J ( whose) S 60 J ( function) S 60 J ( is) S 60 J ( to) S 60 J ( service) S 60 J ( a) S 60 J ( device) S 60 J ( when) S 60 J ( it) S 60 J ( generates) S 60 J ( an) S 60 J ( interrupt.) S
2160 7380 P (An) S 60 J ( NT) S 60 J ( driver's) S 60 J ( ISR) S 60 J ( executes) S 60 J ( at) S 60 J ( raised) S 60 J ( IRQL,) S 60 J ( usually) S 60 J ( at) S 60 J ( the) S 60 J ( DIRQL) S 60 J ( of) S 60 J ( the) S 60 J ( interrupt) S
2160 7640 P (object\(s\)) S 60 J ( set) S 60 J ( up) S 60 J ( for) S 60 J ( its) S 60 J ( device) S 60 J ( \(i.e.,) S 60 J ( drivers) S 60 J ( connected) S 60 J ( to) S 60 J ( second-level) S 60 J ( IDT) S 60 J ( entries) S
2160 7900 P (execute) S 60 J ( at) S 60 J ( the) S 60 J ( IRQL) S 60 J ( of) S 60 J ( the) S 60 J ( first-level) S 60 J ( entry) S 60 J ( they) S 60 J ( connect) S 60 J ( to\).) S 60 J ( Every) S 60 J ( NT) S 60 J ( driver's) S 60 J ( ISR) S
2160 8160 P (should) S 60 J ( execute) S 60 J ( as) S 60 J ( quickly) S 60 J ( as) S 60 J ( possible,) S 60 J ( doing) S 60 J ( only) S 60 J ( what) S 60 J ( is) S 60 J ( necessary) S 60 J ( to) S 60 J ( save) S
2160 8420 P (sufficient) S 60 J ( state,) S 60 J ( to) S 60 J ( make) S 60 J ( the) S 60 J ( device) S 60 J ( stop) S 60 J ( generating) S 60 J ( interrupts,) S 60 J ( and) S 60 J ( to) S 60 J ( queue) S 60 J ( a) S 60 J ( DPC) S
2160 8680 P (that) S 60 J ( completes) S 60 J ( interrupt) S 60 J ( processing) S 60 J ( at) S 60 J ( a) S 60 J ( lower) S 60 J ( IRQL.) S
1200 9180 P 0 12 F 24 12 F B (kernel) S 60 J ( mode) S E
1680 9500 P 0 12 F 24 12 F (The) S 60 J ( privileged) S 60 J ( processor) S 60 J ( mode) S 60 J ( in) S 60 J ( which) S 60 J ( NT) S 60 J ( executive) S 60 J ( code) S 60 J ( runs.) S 60 J ( A) S 60 J ( driver) S 60 J ( or) S 60 J ( thread) S
1680 9760 P (running) S 60 J ( in) S 60 J ( kernel) S 60 J ( mode) S 60 J ( has) S 60 J ( access) S 60 J ( to) S 60 J ( system) S 60 J ( memory) S 60 J ( and) S 60 J ( hardware.) S 60 J ( See) S 60 J ( also) S 60 J ( user) S 60 J ( mode.) S
1200 10260 P 0 12 F 24 12 F B (kernel) S 60 J ( space) S E
1680 10580 P 0 12 F 24 12 F (\(a.k.a.) S 60 J ( "system) S 60 J ( space"\)) S
2160 10900 P (A) S 60 J ( block) S 60 J ( of) S 60 J ( virtual) S 60 J ( memory,) S 60 J ( dedicated) S 60 J ( to) S 60 J ( the) S 60 J ( use) S 60 J ( of) S 60 J ( kernel-mode) S 60 J ( code.) S 60 J ( Generally,) S 60 J ( the) S
2160 11160 P (NT) S 60 J ( kernel) S 60 J ( space) S 60 J ( is) S 60 J ( a) S 60 J ( range) S 60 J ( of) S 60 J ( high-order) S 60 J ( virtual) S 60 J ( addresses) S 60 J ( around) S 60 J ( one) S 60 J ( gigabyte) S 60 J ( in) S
2160 11420 P (size.) S 60 J ( See) S 60 J ( also) S 60 J ( hyperspace,) S 60 J ( pool) S 60 J ( memory,) S 60 J ( and) S 60 J ( user) S 60 J ( space.) S 0 12 F
PE
1920 1220 P 10 12 F B () S 3453 J ( Glossary) S 55 J ( of) S 55 J ( Terms) S 55 J ( and) S 55 J ( Acronyms) S 763 J ( G-) S E B (21) S E B () S 720 J ( ) S E
1920 2060 P 0 12 F 24 12 F B (key) S 60 J ( object) S E
2400 2380 P 0 12 F 24 12 F (A) S 60 J ( NT) S 60 J ( object) S 60 J ( type) S 60 J ( defined) S 60 J ( by) S 60 J ( the) S 60 J ( Configuration) S 60 J ( Manager) S 60 J ( that) S 60 J ( represents) S 60 J ( an) S 60 J ( entry) S 60 J ( in) S 60 J ( the) S
2400 2640 P (configuration) S 60 J ( registry) S 60 J ( database.) S 60 J ( See) S 60 J ( also) S 60 J ( Registry.) S
1920 3140 P 0 12 F 24 12 F B (latched) S 60 J ( interrupt) S E
2400 3460 P 0 12 F 24 12 F (\(a.k.a.) S 60 J ( "edge-triggered) S 60 J ( interrupt"\)) S
2880 3780 P (An) S 60 J ( interrupt) S 60 J ( that) S 60 J ( occurs) S 60 J ( at) S 60 J ( the) S 60 J ( transition) S 60 J ( from) S 60 J ( deasserted) S 60 J ( to) S 60 J ( asserted) S 60 J ( on) S 60 J ( the) S 60 J ( IRQ) S 60 J ( line.) S
1920 4280 P 0 12 F 24 12 F B (layered) S 60 J ( driver) S E
2400 4600 P 0 12 F 24 12 F (One) S 60 J ( of) S 60 J ( a) S 60 J ( collection) S 60 J ( of) S 60 J ( drivers) S 60 J ( that) S 60 J ( respond) S 60 J ( to) S 60 J ( the) S 60 J ( same) S 60 J ( IRPs.) S 60 J ( See) S 60 J ( also) S 60 J ( I/O) S 60 J ( stack) S 60 J ( location.) S
2880 4920 P (The) S 60 J ( term) S 60 J ( "layered) S 60 J ( driver") S 60 J ( describes) S 60 J ( the) S 60 J ( highest-level) S 60 J ( and) S 60 J ( lowest-level) S 60 J ( drivers) S 60 J ( in) S 60 J ( a) S
2880 5180 P (chain) S 60 J ( of) S 60 J ( layered) S 60 J ( drivers) S 60 J ( that) S 60 J ( process) S 60 J ( the) S 60 J ( same) S 60 J ( IRPs,) S 60 J ( along) S 60 J ( with) S 60 J ( all) S 60 J ( intermediate) S
2880 5440 P (drivers) S 60 J ( in) S 60 J ( the) S 60 J ( chain.) S
1920 5940 P 0 12 F 24 12 F B (LBN) S E
2400 6260 P 0 12 F 24 12 F (Logical) S 60 J ( block) S 60 J ( number) S
2880 6580 P (A) S 60 J ( logical) S 60 J ( block) S 60 J ( number) S 60 J ( identifies) S 60 J ( a) S 60 J ( physical) S 60 J ( block) S 60 J ( on) S 60 J ( a) S 60 J ( disk,) S 60 J ( using) S 60 J ( a) S 60 J ( logical) S 60 J ( address) S
2880 6840 P (rather) S 60 J ( than) S 60 J ( physical) S 60 J ( disk) S 60 J ( values) S 60 J ( \(for) S 60 J ( cylinder,) S 60 J ( track,) S 60 J ( and) S 60 J ( sector\).) S 60 J ( For) S 60 J ( a) S 60 J ( disk) S 60 J ( with) S 60 J ( N) S
2880 7100 P (blocks) S 60 J ( \(a.k.a.) S 60 J ( "sectors"\),) S 60 J ( the) S 60 J ( corresponding) S 60 J ( LBNs) S 60 J ( are) S 60 J ( 0) S 60 J ( through) S 60 J ( \(N) S 60 J ( -) S 60 J ( 1\).) S 60 J ( See) S 60 J ( also) S
2880 7360 P (MCB) S 60 J ( and) S 60 J ( VBN.) S
1920 7860 P 0 12 F 24 12 F B (level-sensitive) S 60 J ( interrupt) S E
2400 8180 P 0 12 F 24 12 F (An) S 60 J ( interrupt) S 60 J ( that) S 60 J ( occurs) S 60 J ( when) S 60 J ( the) S 60 J ( signal) S 60 J ( is) S 60 J ( asserted) S 60 J ( on) S 60 J ( the) S 60 J ( IRQ) S 60 J ( line.) S
1920 8680 P 0 12 F 24 12 F B (LPC) S E
2400 9000 P 0 12 F 24 12 F (Local) S 60 J ( procedure) S 60 J ( call) S
2880 9320 P (See) S 60 J ( also) S 60 J ( IPC) S 60 J ( and) S 60 J ( port) S 60 J ( object.) S 0 12 F
PE
1200 1220 P 10 12 F B (G-) S E B (22) S E B () S 883 J ( Kernel-mode) S 55 J ( Driver) S 55 J ( Design) S 55 J ( Guide) S E
1200 2060 P 0 12 F 24 12 F B (little-endian) S E
1680 2380 P 0 12 F 24 12 F (Refers) S 60 J ( to) S 60 J ( a) S 60 J ( memory) S 60 J ( architecture) S 60 J ( in) S 60 J ( which) S 60 J ( the) S 60 J ( byte) S 60 J ( layout) S 60 J ( is) S 60 J ( as) S 60 J ( follows:) S
1200 2700 P () S 512 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 296 J ( Byte) S 60 J ( N) S 60 J ( is) S 60 J ( the) S 60 J ( least) S 60 J ( significant) S 60 J ( \(and,) S 60 J ( in) S 60 J ( conventional) S 60 J ( layout) S 60 J ( diagrams,) S 60 J ( the) S
2160 2960 P ("rightmost"\)) S 60 J ( byte) S 60 J ( of:) S
1200 3280 P () S 928 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 360 J ( A) S 60 J ( word) S 60 J ( composed) S 60 J ( of) S 60 J ( bytes) S 60 J ( N) S 60 J ( and) S 60 J ( \(N) S 60 J ( +) S 60 J ( 1\).) S
1200 3600 P () S 928 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 360 J ( A) S 60 J ( double) S 60 J ( word) S 60 J ( composed) S 60 J ( of) S 60 J ( bytes) S 60 J ( N,) S 60 J ( \(N) S 60 J ( +) S 60 J ( 1\),) S 60 J ( \(N) S 60 J ( +) S 60 J ( 2\),) S 60 J ( and) S 60 J ( \(N) S 60 J ( +) S 60 J ( 3\).) S
1200 3920 P () S 928 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 360 J ( A) S 60 J ( K-byte) S 60 J ( memory) S 60 J ( entity) S 60 J ( composed) S 60 J ( of) S 60 J ( bytes) S 60 J ( N,) S 60 J ( \(N) S 60 J ( +) S 60 J ( 1\),...,\(N) S 60 J ( +) S 60 J ( K) S 60 J ( -) S 60 J ( 1\).) S
1200 4240 P () S 512 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 296 J ( The) S 60 J ( address) S 60 J ( of) S 60 J ( the) S 60 J ( preceding) S 60 J ( word,) S 60 J ( double) S 60 J ( word,) S 60 J ( or) S 60 J ( K-byte) S 60 J ( entity) S 60 J ( is) S 60 J ( its) S 60 J ( least) S
2160 4500 P (significant) S 60 J ( byte,) S 60 J ( N.) S
1680 4820 P (Intel) S 60 J ( microprocessors) S 60 J ( always) S 60 J ( support) S 60 J ( little-endian) S 60 J ( addressing.) S 60 J ( ) S 60 J ( A) S 60 J ( MIPS-based) S 60 J ( machine) S
1680 5080 P (can) S 60 J ( be) S 60 J ( configured) S 60 J ( for) S 60 J ( either) S 60 J ( big-endian) S 60 J ( or) S 60 J ( little-endian) S 60 J ( addressing.) S 60 J ( For) S 60 J ( a) S 60 J ( little-endian) S
1680 5340 P (configuration,) S 60 J ( the) S 60 J ( least) S 60 J ( significant) S 60 J ( bit) S 60 J ( of) S 60 J ( a) S 60 J ( 16-bit) S 60 J ( ) S 0 12 F 24 12 F B (short) S E 0 12 F 24 12 F () S 60 J ( value) S 60 J ( is) S 60 J ( the) S 60 J ( "rightmost") S 60 J ( bit) S 60 J ( at) S 60 J ( byte) S
1680 5600 P (N,) S 60 J ( while) S 60 J ( the) S 60 J ( most) S 60 J ( significant) S 60 J ( bit) S 60 J ( is) S 60 J ( the) S 60 J ( "leftmost") S 60 J ( bit) S 60 J ( of) S 60 J ( byte) S 60 J ( \(N) S 60 J ( +) S 60 J ( 1\).) S 60 J ( See) S 60 J ( also) S 60 J ( big-endian.) S
1200 6100 P 0 12 F 24 12 F B (LSA) S E
1680 6420 P 0 12 F 24 12 F (Local) S 60 J ( Security) S 60 J ( Authority) S
1200 6920 P 0 12 F 24 12 F B (LU) S E
1680 7240 P 0 12 F 24 12 F (Logical) S 60 J ( unit) S
2160 7560 P (From) S 60 J ( a) S 60 J ( SCSI-II) S 60 J ( HBA) S 60 J ( driver's) S 60 J ( point) S 60 J ( of) S 60 J ( view,) S 60 J ( a) S 60 J ( physical) S 60 J ( or) S 60 J ( virtual) S 60 J ( peripheral) S 60 J ( device,) S
2160 7820 P (addressable) S 60 J ( through) S 60 J ( a) S 60 J ( TID,) S 60 J ( attached) S 60 J ( to) S 60 J ( a) S 60 J ( SCSI) S 60 J ( bus.) S
1200 8320 P 0 12 F 24 12 F B (LUID) S E
1680 8640 P 0 12 F 24 12 F (Locally) S 60 J ( unique) S 60 J ( identifier) S
2160 8960 P (See) S 60 J ( SID.) S
1200 9460 P 0 12 F 24 12 F B (MACL) S E
1680 9780 P 0 12 F 24 12 F (Mandatory) S 60 J ( access) S 60 J ( control) S 60 J ( list) S
2160 10100 P (A) S 60 J ( part) S 60 J ( of) S 60 J ( the) S 60 J ( security) S 60 J ( descriptor) S 60 J ( for) S 60 J ( each) S 60 J ( object) S 60 J ( in) S 60 J ( a) S 60 J ( system) S 60 J ( with) S 60 J ( a) S 60 J ( B1) S 60 J ( or) S 60 J ( higher) S
2160 10360 P (security) S 60 J ( rating) S 60 J ( from) S 60 J ( the) S 60 J ( U.S.) S 60 J ( National) S 60 J ( Computer) S 60 J ( Security) S 60 J ( Center.) S
1200 10860 P 0 12 F 24 12 F B (map) S E
1680 11180 P 0 12 F 24 12 F (\(1\)) S 60 J ( To) S 60 J ( translate) S 60 J ( a) S 60 J ( virtual) S 60 J ( or) S 60 J ( logical) S 60 J ( address) S 60 J ( into) S 60 J ( a) S 60 J ( physical) S 60 J ( address.) S 60 J ( See) S 60 J ( also) S 60 J ( MDL.) S
1680 11500 P (\(2\)) S 60 J ( To) S 60 J ( alias) S 60 J ( a) S 60 J ( bus-relative) S 60 J ( interrupt) S 60 J ( vector) S 60 J ( to) S 60 J ( a) S 60 J ( system-assigned) S 60 J ( interrupt) S 60 J ( vector.) S 60 J ( See) S 60 J ( also) S
1680 11760 P (HAL.) S 0 12 F
PE
1920 1220 P 10 12 F B () S 3453 J ( Glossary) S 55 J ( of) S 55 J ( Terms) S 55 J ( and) S 55 J ( Acronyms) S 763 J ( G-) S E B (23) S E B () S 720 J ( ) S E
1920 2060 P 0 12 F 24 12 F B (MCB) S E
2400 2380 P 0 12 F 24 12 F (Map) S 60 J ( control) S 60 J ( block) S
2880 2700 P (An) S 60 J ( MCB) S 60 J ( is) S 60 J ( a) S 60 J ( structure) S 60 J ( provided) S 60 J ( by) S 60 J ( the) S 60 J ( ) S 0 12 F 24 12 F B (FsRtl) S E 0 12 F 24 12 F () S 60 J ( \() S LU (F) S LE (ile) S 60 J ( ) S LU (S) S LE (ystem) S 60 J ( ) S LU (R) S LE (un-) S LU (t) S LE (ime) S 60 J ( ) S LU (L) S LE (ibrary\)) S
2880 2960 P (package) S 60 J ( to) S 60 J ( aid) S 60 J ( NT) S 60 J ( file) S 60 J ( systems) S 60 J ( in) S 60 J ( mapping) S 60 J ( the) S 60 J ( VBNs) S 60 J ( for) S 60 J ( a) S 60 J ( file) S 60 J ( to) S 60 J ( the) S 60 J ( corresponding) S
2880 3220 P (LBNs) S 60 J ( on) S 60 J ( the) S 60 J ( disk.) S
1920 3720 P 0 12 F 24 12 F B (MDL) S E
2400 4040 P 0 12 F 24 12 F (Memory) S 60 J ( descriptor) S 60 J ( list) S
2880 4360 P (A) S 60 J ( memory) S 60 J ( descriptor) S 60 J ( list) S 60 J ( uses) S 60 J ( an) S 60 J ( array) S 60 J ( of) S 60 J ( physical) S 60 J ( page) S 60 J ( frame) S 60 J ( numbers) S 60 J ( \(PFNs\)) S 60 J ( to) S
2880 4620 P (describe) S 60 J ( the) S 60 J ( pages) S 60 J ( that) S 60 J ( back) S 60 J ( a) S 60 J ( virtual) S 60 J ( memory) S 60 J ( range.) S
1920 5120 P 0 12 F 24 12 F B (method) S E
2400 5440 P 0 12 F 24 12 F (A) S 60 J ( routine) S 60 J ( supplied) S 60 J ( with) S 60 J ( an) S 60 J ( NT) S 60 J ( object) S 60 J ( type) S 60 J ( that) S 60 J ( handles) S 60 J ( standard) S 60 J ( operations) S 60 J ( \(such) S 60 J ( as) S
2400 5700 P (open,) S 60 J ( close,) S 60 J ( delete,) S 60 J ( parse,) S 60 J ( dump,) S 60 J ( and) S 60 J ( read) S 60 J ( or) S 60 J ( reset) S 60 J ( security) S 60 J ( attributes\)) S 60 J ( on) S 60 J ( every) S 60 J ( instance) S
2400 5960 P (of) S 60 J ( the) S 60 J ( object) S 60 J ( type.) S
1920 6460 P 0 12 F 24 12 F B (MIDI) S E
2400 6780 P 0 12 F 24 12 F (Musical) S 60 J ( instrument) S 60 J ( digital) S 60 J ( interface) S
1920 7280 P 0 12 F 24 12 F B (miniport) S 60 J ( driver) S E
2400 7600 P 0 12 F 24 12 F (\(1\)) S 60 J ( An) S 60 J ( HBA-specific) S 60 J ( driver,) S 60 J ( linked) S 60 J ( against) S 60 J ( the) S 60 J ( NT-supplied) S 60 J ( SCSI) S 60 J ( port) S 60 J ( driver,) S 60 J ( that) S 60 J ( drives) S
2400 7860 P (a) S 60 J ( SCSI) S 60 J ( bus.) S
2400 8180 P (\(2\)) S 60 J ( A) S 60 J ( video-adapter-specific) S 60 J ( driver,) S 60 J ( linked) S 60 J ( against) S 60 J ( the) S 60 J ( NT-supplied) S 60 J ( video) S 60 J ( port) S 60 J ( driver.) S
1920 8680 P 0 12 F 24 12 F B (mirror) S 60 J ( driver) S E
2400 9000 P 0 12 F 24 12 F (a.k.a.) S 60 J ( "shadow) S 60 J ( driver") S
2880 9320 P (An) S 60 J ( intermediate) S 60 J ( \(layered) S 60 J ( somewhere) S 60 J ( between) S 60 J ( an) S 60 J ( FSD) S 60 J ( and) S 60 J ( a) S 60 J ( disk) S 60 J ( DD\)) S 60 J ( device) S 60 J ( driver) S
2880 9580 P (whose) S 60 J ( responsibility) S 60 J ( is) S 60 J ( to) S 60 J ( keep) S 60 J ( a) S 60 J ( duplicate) S 60 J ( of) S 60 J ( a) S 60 J ( disk) S 60 J ( partition.) S
1920 10080 P 0 12 F 24 12 F B (mount) S E
2400 10400 P 0 12 F 24 12 F (Operation) S 60 J ( that) S 60 J ( requests) S 60 J ( a) S 60 J ( file) S 60 J ( system) S 60 J ( to) S 60 J ( make) S 60 J ( a) S 60 J ( volume) S 60 J ( useable) S 60 J ( by) S 60 J ( the) S 60 J ( I/O) S 60 J ( Manager.) S 60 J ( This) S
2400 10660 P (is) S 60 J ( done) S 60 J ( by) S 60 J ( filling) S 60 J ( in) S 60 J ( the) S 60 J ( information) S 60 J ( in) S 60 J ( a) S 60 J ( VPB) S 60 J ( which) S 60 J ( indicates) S 60 J ( the) S 60 J ( serial) S 60 J ( number) S 60 J ( and) S 60 J ( label) S
2400 10920 P (of) S 60 J ( the) S 60 J ( volume,) S 60 J ( as) S 60 J ( well) S 60 J ( as) S 60 J ( by) S 60 J ( filling) S 60 J ( in) S 60 J ( the) S 60 J ( pointer) S 60 J ( to) S 60 J ( the) S 60 J ( file) S 60 J ( system's) S 60 J ( device) S 60 J ( object) S 60 J ( that) S
2400 11180 P (represents) S 60 J ( the) S 60 J ( "volume") S 60 J ( mounted) S 60 J ( on) S 60 J ( the) S 60 J ( real) S 60 J ( device.) S 0 12 F
PE
1200 1220 P 10 12 F B (G-) S E B (24) S E B () S 883 J ( Kernel-mode) S 55 J ( Driver) S 55 J ( Design) S 55 J ( Guide) S E
1200 2060 P 0 12 F 24 12 F B (multiprocessor) S 60 J ( machine) S E
1680 2380 P 0 12 F 24 12 F (A) S 60 J ( platform) S 60 J ( with) S 60 J ( more) S 60 J ( than) S 60 J ( one) S 60 J ( CPU.) S 60 J ( NT) S 60 J ( is) S 60 J ( designed) S 60 J ( to) S 60 J ( run) S 60 J ( on) S 60 J ( multiprocessor) S 60 J ( machines,) S
1680 2640 P (usually) S 60 J ( configured) S 60 J ( to) S 60 J ( be:) S
1200 2960 P () S 512 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 296 J ( ) S LU (Homogenous) S LE () S 60 J ( -) S 60 J ( all) S 60 J ( CPUs) S 60 J ( are) S 60 J ( identical,) S 60 J ( and) S 60 J ( either) S 60 J ( all) S 60 J ( have) S 60 J ( identical) S 60 J ( coprocessors) S 60 J ( or) S
2160 3220 P (none) S 60 J ( has) S 60 J ( a) S 60 J ( coprocessor.) S
1200 3540 P () S 512 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 296 J ( ) S LU (Closely) S 60 J ( coupled) S LE () S 60 J ( -) S 60 J ( all) S 60 J ( CPUs) S 60 J ( share) S 60 J ( memory) S 60 J ( and) S 60 J ( have) S 60 J ( uniform) S 60 J ( access) S 60 J ( to) S 60 J ( memory.) S
1200 3860 P () S 512 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 296 J ( ) S LU (Symmetric) S LE () S 60 J ( -) S 60 J ( every) S 60 J ( CPU) S 60 J ( can) S 60 J ( access) S 60 J ( memory,) S 60 J ( handle) S 60 J ( any) S 60 J ( interrupt,) S 60 J ( and) S 60 J ( access) S 60 J ( I/O) S
2160 4120 P (control) S 60 J ( registers) S 60 J ( just) S 60 J ( like) S 60 J ( every) S 60 J ( other) S 60 J ( CPU) S 60 J ( in) S 60 J ( the) S 60 J ( system.) S 60 J ( Note) S 60 J ( that) S 60 J ( any) S 60 J ( version) S 60 J ( of) S
2160 4380 P (NT) S 60 J ( that) S 60 J ( runs) S 60 J ( on) S 60 J ( a) S 60 J ( symmetric) S 60 J ( multiprocessor) S 60 J ( machine) S 60 J ( also) S 60 J ( runs) S 60 J ( ) S 0 12 F 24 12 F I (unchanged) S E 0 12 F 24 12 F () S 60 J ( on) S 60 J ( a) S
2160 4640 P (uniprocessor) S 60 J ( machine) S 60 J ( based) S 60 J ( on) S 60 J ( the) S 60 J ( same) S 60 J ( CPU.) S
2160 4960 P (While) S 60 J ( NT) S 60 J ( can) S 60 J ( run) S 60 J ( on) S 60 J ( ) S LU (asymmetric) S LE () S 60 J ( platforms,) S 60 J ( configured) S 60 J ( with) S 60 J ( a) S 60 J ( master) S 60 J ( CPU) S 60 J ( that) S
2160 5220 P (handles) S 60 J ( all) S 60 J ( IRQs) S 60 J ( and) S 60 J ( one) S 60 J ( or) S 60 J ( more) S 60 J ( slave) S 60 J ( CPUs) S 60 J ( as) S 60 J ( long) S 60 J ( as) S 60 J ( the) S 60 J ( platform) S 60 J ( is) S 60 J ( both) S
2160 5480 P (homogenous) S 60 J ( and) S 60 J ( closely) S 60 J ( coupled,) S 60 J ( the) S 60 J ( system) S 60 J ( has) S 60 J ( been) S 60 J ( designed) S 60 J ( to) S 60 J ( run) S 60 J ( primarily) S 60 J ( on) S
2160 5740 P (symmetric) S 60 J ( multiprocessor) S 60 J ( platforms) S 60 J ( because) S 60 J ( SMP) S 60 J ( machines) S 60 J ( have) S 60 J ( better) S
2160 6000 P (performance) S 60 J ( characteristics,) S 60 J ( particularly) S 60 J ( for) S 60 J ( I/O.) S
1200 6500 P 0 12 F 24 12 F B (mutex) S 60 J ( object) S E
1680 6820 P 0 12 F 24 12 F (A) S 60 J ( kernel-mode-only,) S 60 J ( Kernel-defined) S 60 J ( dispatcher) S 60 J ( object) S 60 J ( type,) S 60 J ( used) S 60 J ( to) S 60 J ( provide) S 60 J ( mutually-) S
1680 7080 P (exclusive,) S 60 J ( deadlock-free) S 60 J ( access) S 60 J ( to) S 60 J ( a) S 60 J ( resource.) S
2160 7400 P (A) S 60 J ( mutex) S 60 J ( owner) S 60 J ( \(thread\)) S 60 J ( must) S 60 J ( run) S 60 J ( exclusively) S 60 J ( in) S 60 J ( kernel) S 60 J ( mode) S 60 J ( while) S 60 J ( it) S 60 J ( retains) S
2160 7660 P (ownership;) S 60 J ( an) S 60 J ( attempt) S 60 J ( to) S 60 J ( switch) S 60 J ( to) S 60 J ( user) S 60 J ( mode) S 60 J ( while) S 60 J ( holding) S 60 J ( a) S 60 J ( mutex) S 60 J ( causes) S 60 J ( a) S
2160 7920 P (system) S 60 J ( crash.) S
2160 8240 P (Ownership) S 60 J ( of) S 60 J ( a) S 60 J ( mutex) S 60 J ( by) S 60 J ( a) S 60 J ( given) S 60 J ( thread) S 60 J ( has) S 60 J ( the) S 60 J ( following) S 60 J ( effects:) S
1200 8560 P () S 928 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 360 J ( Prevents) S 60 J ( the) S 60 J ( owning) S 60 J ( thread's) S 60 J ( process) S 60 J ( from) S 60 J ( leaving) S 60 J ( the) S 60 J ( balance) S 60 J ( set.) S
1200 8880 P () S 928 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 360 J ( Raises) S 60 J ( the) S 60 J ( owning) S 60 J ( thread's) S 60 J ( priority) S 60 J ( to) S 60 J ( the) S 60 J ( the) S 60 J ( lowest) S 60 J ( real-time) S 60 J ( priority) S 60 J ( value) S 60 J ( if) S
2640 9140 P (the) S 60 J ( owning) S 60 J ( thread's) S 60 J ( priority) S 60 J ( is) S 60 J ( not) S 60 J ( already) S 60 J ( higher.) S
1200 9460 P () S 928 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 360 J ( Prevents) S 60 J ( the) S 60 J ( delivery) S 60 J ( of) S 60 J ( normal) S 60 J ( kernel-mode) S 60 J ( APCs.) S
2160 9780 P (Each) S 60 J ( mutex) S 60 J ( object) S 60 J ( has) S 60 J ( an) S 60 J ( associated) S 60 J ( level) S 60 J ( value,) S 60 J ( and) S 60 J ( a) S 60 J ( given) S 60 J ( thread) S 60 J ( may) S 60 J ( acquire) S
2160 10040 P (ownership) S 60 J ( of) S 60 J ( a) S 60 J ( mutex) S 60 J ( if) S 60 J ( and) S 60 J ( only) S 60 J ( if:) S
1200 10360 P () S 928 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 360 J ( The) S 60 J ( requested) S 60 J ( mutex) S 60 J ( is) S 60 J ( currently) S 60 J ( unowned.) S
1200 10680 P () S 928 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 360 J ( The) S 60 J ( requesting) S 60 J ( thread) S 60 J ( does) S 60 J ( ) S 0 12 F 24 12 F I (not) S E 0 12 F 24 12 F () S 60 J ( already) S 60 J ( own) S 60 J ( a) S 60 J ( mutex) S 60 J ( of) S 60 J ( a) S 60 J ( \(numerically\)) S 60 J ( higher) S
2640 10940 P (level.) S
2160 11260 P (These) S 60 J ( requirements,) S 60 J ( and) S 60 J ( the) S 60 J ( requirement) S 60 J ( that) S 60 J ( a) S 60 J ( mutex) S 60 J ( owner) S 60 J ( run) S 60 J ( exclusively) S 60 J ( in) S
2160 11520 P (kernel) S 60 J ( mode,) S 60 J ( prevent) S 60 J ( deadlocks.) S
2160 11840 P (Note) S 60 J ( that) S 60 J ( recursive) S 60 J ( ownership) S 60 J ( of) S 60 J ( a) S 60 J ( mutex) S 60 J ( is) S 60 J ( possible.) S 60 J ( However,) S 60 J ( any) S 60 J ( thread) S 60 J ( that) S
2160 12100 P (claims) S 60 J ( a) S 60 J ( mutex) S 60 J ( N) S 60 J ( times) S 60 J ( must) S 60 J ( explicitly) S 60 J ( release) S 60 J ( that) S 60 J ( mutex) S 60 J ( N) S 60 J ( times) S 60 J ( in) S 60 J ( order) S 60 J ( to) S 60 J ( set) S 60 J ( the) S
2160 12360 P (mutex) S 60 J ( to) S 60 J ( the) S 60 J ( Signaled) S 60 J ( state.) S 0 12 F
PE
1920 1220 P 10 12 F B () S 3453 J ( Glossary) S 55 J ( of) S 55 J ( Terms) S 55 J ( and) S 55 J ( Acronyms) S 763 J ( G-) S E B (25) S E B () S 720 J ( ) S E
1920 2060 P 0 12 F 24 12 F B (native) S 60 J ( services) S E
2400 2380 P 0 12 F 24 12 F (See) S 60 J ( system) S 60 J ( services.) S
1920 2880 P 0 12 F 24 12 F B (NLS) S E
2400 3200 P 0 12 F 24 12 F (National) S 60 J ( language) S 60 J ( support) S
2880 3520 P (A) S 60 J ( set) S 60 J ( of) S 60 J ( routines) S 60 J ( that) S 60 J ( give) S 60 J ( applications) S 60 J ( access) S 60 J ( to) S 60 J ( locale-specific) S 60 J ( information.) S 60 J ( See) S
2880 3780 P (also) S 60 J ( Unicode.) S
1920 4280 P 0 12 F 24 12 F B (nonpaged) S 60 J ( pool) S E
2400 4600 P 0 12 F 24 12 F (See) S 60 J ( pool) S 60 J ( memory.) S
1920 5100 P 0 12 F 24 12 F B (NTFS) S E
2400 5420 P 0 12 F 24 12 F (NT) S 60 J ( file) S 60 J ( system) S
2880 5740 P (A) S 60 J ( file) S 60 J ( system,) S 60 J ( native) S 60 J ( to) S 60 J ( NT,) S 60 J ( that) S 60 J ( supports) S 60 J ( file) S 60 J ( system) S 60 J ( and) S 60 J ( file) S 60 J ( data) S 60 J ( recovery,) S
2880 6000 P (extremely) S 60 J ( large) S 60 J ( storage) S 60 J ( media,) S 60 J ( and) S 60 J ( various) S 60 J ( other) S 60 J ( features.) S
1920 6500 P 0 12 F 24 12 F B (object) S E
2400 6820 P 0 12 F 24 12 F (A) S 60 J ( single,) S 60 J ( run-time) S 60 J ( instance) S 60 J ( of) S 60 J ( a) S 60 J ( system-defined) S 60 J ( object) S 60 J ( type.) S 60 J ( Objects) S 60 J ( visible) S 60 J ( in) S 60 J ( user) S 60 J ( mode) S
2400 7080 P (include) S 60 J ( process,) S 60 J ( thread,) S 60 J ( section,) S 60 J ( file,) S 60 J ( event,) S 60 J ( semaphore,) S 60 J ( key,) S 60 J ( timer,) S 60 J ( port,) S 60 J ( object) S 60 J ( directory,) S
2400 7340 P (symbolic) S 60 J ( link,) S 60 J ( and) S 60 J ( token) S 60 J ( objects.) S
2400 7660 P (Many) S 60 J ( user-mode) S 60 J ( objects) S 60 J ( are) S 60 J ( implemented) S 60 J ( through) S 60 J ( the) S 60 J ( use) S 60 J ( of) S 60 J ( a) S 60 J ( corresponding) S 60 J ( kernel-) S
2400 7920 P (mode) S 60 J ( object,) S 60 J ( including) S 60 J ( processes,) S 60 J ( threads,) S 60 J ( events,) S 60 J ( semaphores,) S 60 J ( and) S 60 J ( timers.) S 60 J ( Other) S 60 J ( user-) S
2400 8180 P (mode) S 60 J ( objects) S 60 J ( contain) S 60 J ( "hidden") S 60 J ( kernel-mode) S 60 J ( objects,) S 60 J ( such) S 60 J ( as) S 60 J ( the) S 60 J ( event) S 60 J ( associated) S 60 J ( with) S
2400 8440 P (each) S 60 J ( file) S 60 J ( object.) S
2880 8760 P (Kernel-mode-only) S 60 J ( objects) S 60 J ( include) S 60 J ( APC,) S 60 J ( DPC,) S 60 J ( device) S 60 J ( queue,) S 60 J ( interrupt,) S 60 J ( mutex,) S
2880 9020 P (driver,) S 60 J ( device,) S 60 J ( adapter,) S 60 J ( controller,) S 60 J ( and) S 60 J ( stream) S 60 J ( file) S 60 J ( objects.) S
1920 9520 P 0 12 F 24 12 F B (object) S 60 J ( directory) S 60 J ( object) S E
2400 9840 P 0 12 F 24 12 F (A) S 60 J ( type) S 60 J ( defined) S 60 J ( by) S 60 J ( the) S 60 J ( Object) S 60 J ( Manager) S 60 J ( and) S 60 J ( used) S 60 J ( to) S 60 J ( implement) S 60 J ( hierarchical) S 60 J ( object) S 60 J ( names.) S
2880 10160 P (Note) S 60 J ( that) S 60 J ( file) S 60 J ( system) S 60 J ( directories) S 60 J ( are) S 60 J ( implemented) S 60 J ( as) S 60 J ( NT) S 60 J ( file) S 60 J ( objects,) S 60 J ( not) S 60 J ( as) S 60 J ( object) S
2880 10420 P (directory) S 60 J ( objects.) S 0 12 F
PE
1200 1220 P 10 12 F B (G-) S E B (26) S E B () S 883 J ( Kernel-mode) S 55 J ( Driver) S 55 J ( Design) S 55 J ( Guide) S E
1200 2060 P 0 12 F 24 12 F B (object) S 60 J ( type) S E
1680 2380 P 0 12 F 24 12 F (An) S 60 J ( opaque) S 60 J ( data) S 60 J ( structure) S 60 J ( that) S 60 J ( defines) S 60 J ( a) S 60 J ( protected) S 60 J ( entity) S 60 J ( implemented) S 60 J ( and) S 60 J ( manipulated) S 60 J ( by) S
1680 2640 P (the) S 60 J ( operating) S 60 J ( system.) S 60 J ( See) S 60 J ( also) S 60 J ( opaque.) S
2160 2960 P (Every) S 60 J ( user-visible) S 60 J ( object) S 60 J ( has:) S
1200 3280 P () S 928 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 360 J ( A) S 60 J ( type) S 60 J ( \(whose) S 60 J ( name) S 60 J ( must) S 60 J ( be) S 60 J ( unique\).) S
1200 3600 P () S 928 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 360 J ( Two) S 60 J ( parts:) S
1200 3920 P 0 12 F 26 12 F () S 1504 J ( 1) S 296 J ( A) S 60 J ( ) S 0 12 F 24 12 F LU (header) S LE 0 12 F 26 12 F () S 60 J ( operated) S 60 J ( on) S 60 J ( by) S 60 J ( the) S 60 J ( NT) S 60 J ( Object) S 60 J ( Manager.) S
1200 4240 P () S 1504 J ( 2) S 296 J ( A) S 60 J ( ) S 0 12 F 24 12 F LU (body) S LE 0 12 F 26 12 F () S 60 J ( operated) S 60 J ( on) S 60 J ( by) S 60 J ( type-specific) S 60 J ( system) S 60 J ( services.) S 60 J ( For) S 60 J ( example,) S
3120 4500 P (the) S 60 J ( system) S 60 J ( service) S 60 J ( that) S 60 J ( reads) S 60 J ( a) S 60 J ( file) S 60 J ( operates) S 60 J ( on) S 60 J ( an) S 60 J ( open) S 60 J ( file) S 60 J ( object.) S
1200 4820 P 0 12 F 24 12 F () S 928 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 360 J ( A) S 60 J ( set) S 60 J ( of) S 60 J ( standardized) S 60 J ( rules) S 60 J ( for) S 60 J ( object) S 60 J ( creation,) S 60 J ( deletion,) S 60 J ( protection,) S 60 J ( access,) S
2640 5080 P (management,) S 60 J ( and) S 60 J ( naming.) S
2160 5400 P (User-visible) S 60 J ( objects) S 60 J ( can) S 60 J ( contain) S 60 J ( "hidden") S 60 J ( kernel-mode) S 60 J ( objects.) S 60 J ( For) S 60 J ( example,) S 60 J ( a) S 60 J ( user-) S
2160 5660 P (mode) S 60 J ( thread) S 60 J ( can) S 60 J ( wait) S 60 J ( on) S 60 J ( a) S 60 J ( file) S 60 J ( handle) S 60 J ( because) S 60 J ( it) S 60 J ( contains) S 60 J ( a) S 60 J ( hidden,) S 60 J ( kernel-mode) S
2160 5920 P (event) S 60 J ( object.) S
2160 6240 P (Kernel-mode) S 60 J ( objects) S 60 J ( are) S 60 J ( visible) S 60 J ( to) S 60 J ( \(and) S 60 J ( directly) S 60 J ( accessible) S 60 J ( only) S 60 J ( by\)) S 60 J ( the) S 60 J ( executive) S
2160 6500 P (component) S 60 J ( that) S 60 J ( defined) S 60 J ( a) S 60 J ( given) S 60 J ( object) S 60 J ( type.) S 60 J ( They) S 60 J ( are) S 60 J ( are) S 60 J ( indirectly) S 60 J ( accessible) S 60 J ( to) S
2160 6760 P (other) S 60 J ( kernel-mode) S 60 J ( code) S 60 J ( through) S 60 J ( the) S 60 J ( type-specific) S 60 J ( functions) S 60 J ( exported) S 60 J ( by) S 60 J ( the) S 60 J ( defining) S
2160 7020 P (component) S 60 J ( \(e.g.,) S 60 J ( ) S 0 12 F 24 12 F B (KeInitializeDeviceQueue) S E 0 12 F 24 12 F () S 60 J ( operates) S 60 J ( on) S 60 J ( device) S 60 J ( queue) S 60 J ( objects\).) S
1200 7520 P 0 12 F 24 12 F B (opaque) S E
1680 7840 P 0 12 F 24 12 F (Pertains) S 60 J ( to) S 60 J ( any) S 60 J ( data) S 60 J ( structure) S 60 J ( \(including) S 60 J ( NT) S 60 J ( objects\)) S 60 J ( defined) S 60 J ( with) S 60 J ( a) S 60 J ( deliberately) S 60 J ( hidden) S
1680 8100 P (internal) S 60 J ( structure) S 60 J ( that) S 60 J ( is) S 60 J ( known) S 60 J ( only) S 60 J ( to) S 60 J ( the) S 60 J ( executive) S 60 J ( component) S 60 J ( that) S 60 J ( defined) S 60 J ( the) S 60 J ( type.) S
1680 8360 P (However,) S 60 J ( the) S 60 J ( defining) S 60 J ( component) S 60 J ( supplies) S 60 J ( system) S 60 J ( services) S 60 J ( and,) S 60 J ( usually,) S 60 J ( kernel-mode) S
1680 8620 P (functions) S 60 J ( to) S 60 J ( manipulate) S 60 J ( opaque) S 60 J ( objects.) S 60 J ( User-mode) S 60 J ( data) S 60 J ( types) S 60 J ( can) S 60 J ( also) S 60 J ( be) S 60 J ( opaque.) S
1200 9120 P 0 12 F 24 12 F B (paging) S 60 J ( file) S E
1680 9440 P 0 12 F 24 12 F (A) S 60 J ( system) S 60 J ( file) S 60 J ( containing) S 60 J ( the) S 60 J ( contents) S 60 J ( of) S 60 J ( virtual) S 60 J ( pages) S 60 J ( that) S 60 J ( have) S 60 J ( been) S 60 J ( paged) S 60 J ( out) S 60 J ( of) S
1680 9700 P (memory.) S 60 J ( See) S 60 J ( also) S 60 J ( backing) S 60 J ( store.) S
1200 10200 P 0 12 F 24 12 F B (page) S 60 J ( frame) S E
1680 10520 P 0 12 F 24 12 F (A) S 60 J ( block) S 60 J ( of) S 60 J ( contiguous) S 60 J ( physical) S 60 J ( addresses) S 60 J ( used) S 60 J ( to) S 60 J ( store) S 60 J ( the) S 60 J ( contents) S 60 J ( of) S 60 J ( a) S 60 J ( virtual) S 60 J ( page.) S
1680 10780 P (Note) S 60 J ( that) S 60 J ( the) S 60 J ( virtual) S 60 J ( page) S 60 J ( size) S 60 J ( and) S 60 J ( page) S 60 J ( frame) S 60 J ( size) S 60 J ( are) S 60 J ( usually) S 60 J ( identical,) S 60 J ( but) S 60 J ( that) S 60 J ( a) S 60 J ( page) S
1680 11040 P (frame) S 60 J ( size) S 60 J ( is) S 60 J ( actually) S 60 J ( microprocessor-dependent.) S
1200 11540 P 0 12 F 24 12 F B (paged) S 60 J ( pool) S E
1680 11860 P 0 12 F 24 12 F (See) S 60 J ( pool) S 60 J ( memory.) S 0 12 F
PE
1920 1220 P 10 12 F B () S 3453 J ( Glossary) S 55 J ( of) S 55 J ( Terms) S 55 J ( and) S 55 J ( Acronyms) S 763 J ( G-) S E B (27) S E B () S 720 J ( ) S E
1920 2060 P 0 12 F 24 12 F B (PCR) S E
2400 2380 P 0 12 F 24 12 F (Processor) S 60 J ( control) S 60 J ( registers) S
2880 2700 P (An) S 60 J ( internal) S 60 J ( data) S 60 J ( structure) S 60 J ( in) S 60 J ( which) S 60 J ( the) S 60 J ( Kernel) S 60 J ( stores) S 60 J ( per-processor) S 60 J ( information.) S
1920 3200 P 0 12 F 24 12 F B (PEB) S E
2400 3520 P 0 12 F 24 12 F (Process) S 60 J ( environment) S 60 J ( block) S
1920 4020 P 0 12 F 24 12 F B (PFN) S E
2400 4340 P 0 12 F 24 12 F (Page) S 60 J ( frame) S 60 J ( number) S
2880 4660 P (Also,) S 60 J ( the) S 60 J ( database) S 60 J ( in) S 60 J ( which) S 60 J ( the) S 60 J ( NT) S 60 J ( Memory) S 60 J ( Manager) S 60 J ( maintains) S 60 J ( information) S 60 J ( about) S
2880 4920 P (every) S 60 J ( physical) S 60 J ( page) S 60 J ( in) S 60 J ( the) S 60 J ( system.) S 60 J ( Each) S 60 J ( PFN) S 60 J ( is) S 60 J ( an) S 60 J ( index) S 60 J ( for) S 60 J ( a) S 60 J ( physical) S 60 J ( page) S 60 J ( in) S 60 J ( the) S
2880 5180 P (array) S 60 J ( of) S 60 J ( records) S 60 J ( that) S 60 J ( makes) S 60 J ( up) S 60 J ( the) S 60 J ( PFN) S 60 J ( database.) S 60 J ( See) S 60 J ( also) S 60 J ( PTE.) S
1920 5680 P 0 12 F 24 12 F B (PIO) S E
2400 6000 P 0 12 F 24 12 F (Programmed) S 60 J ( I/O) S
1920 6500 P 0 12 F 24 12 F B (polling) S E
2400 6820 P 0 12 F 24 12 F (A) S 60 J ( pernicious,) S 60 J ( but) S 60 J ( sometimes) S 60 J ( necessary,) S 60 J ( coding) S 60 J ( technique) S 60 J ( that) S 60 J ( wastes) S 60 J ( CPU) S 60 J ( cycles) S 60 J ( in) S 60 J ( a) S
2400 7080 P (driver) S 60 J ( until) S 60 J ( the) S 60 J ( physical) S 60 J ( device) S 60 J ( updates) S 60 J ( its) S 60 J ( registers.) S 60 J ( NT) S 60 J ( device) S 60 J ( drivers) S 60 J ( should) S 60 J ( never) S
2400 7340 P (implement) S 60 J ( polling) S 60 J ( loops) S 60 J ( and) S 60 J ( should) S 60 J ( minimize) S 60 J ( the) S 60 J ( interval) S 60 J ( they) S 60 J ( specify) S 60 J ( in) S 60 J ( calls) S 60 J ( to) S
2400 7600 P 0 12 F 24 12 F B (KeStallExecutionProcessor) S E 0 12 F 24 12 F () S 60 J ( \(no) S 60 J ( longer) S 60 J ( than) S 60 J ( 50) S 60 J ( microseconds\)) S 60 J ( if) S 60 J ( they) S 60 J ( must) S 60 J ( poll) S 60 J ( their) S
2400 7860 P (devices.) S 0 12 F
PE
1200 1220 P 10 12 F B (G-) S E B (28) S E B () S 883 J ( Kernel-mode) S 55 J ( Driver) S 55 J ( Design) S 55 J ( Guide) S E
1200 2060 P 0 12 F 24 12 F B (pool) S 60 J ( memory) S E
1680 2380 P 0 12 F 24 12 F (Regions) S 60 J ( located) S 60 J ( in) S 60 J ( kernel) S 60 J ( space) S 60 J ( from) S 60 J ( which) S 60 J ( memory) S 60 J ( blocks) S 60 J ( can) S 60 J ( be) S 60 J ( allocated) S 60 J ( and) S
1680 2640 P (deallocated) S 60 J ( dynamically) S 60 J ( \(some) S 60 J ( other) S 60 J ( systems) S 60 J ( call) S 60 J ( this) S 60 J ( "heap) S 60 J ( memory"\).) S 60 J ( The) S 60 J ( NT) S 60 J ( Memory) S
1680 2900 P (Manager) S 60 J ( creates) S 60 J ( two) S 60 J ( kinds) S 60 J ( of) S 60 J ( pools) S 60 J ( for) S 60 J ( system) S 60 J ( use) S 60 J ( and) S 60 J ( for) S 60 J ( use) S 60 J ( by) S 60 J ( drivers) S 60 J ( via) S 60 J ( ) S 0 12 F 24 12 F B (Ex) S E 0 12 F 24 12 F (\(ecutive\)) S
1680 3160 P (Support) S 60 J ( function) S 60 J ( calls:) S
1200 3480 P () S 544 J ( 1) S 296 J ( ) S LU (Paged) S 60 J ( pool) S LE () S 60 J ( is) S 60 J ( a) S 60 J ( based) S 60 J ( region) S 60 J ( that) S 60 J ( can) S 60 J ( be) S 60 J ( paged) S 60 J ( in) S 60 J ( and) S 60 J ( out) S 60 J ( of) S 60 J ( a) S 60 J ( process's) S 60 J ( working) S 60 J ( set.) S
2160 3740 P (Each) S 60 J ( process) S 60 J ( has) S 60 J ( its) S 60 J ( own) S 60 J ( set) S 60 J ( of) S 60 J ( PTEs) S 60 J ( that) S 60 J ( map) S 60 J ( paged) S 60 J ( pool) S 60 J ( into) S 60 J ( its) S 60 J ( address) S 60 J ( space.) S
2160 4000 P (Touching) S 60 J ( a) S 60 J ( page) S 60 J ( in) S 60 J ( this) S 60 J ( pool) S 60 J ( can) S 60 J ( cause) S 60 J ( a) S 60 J ( page) S 60 J ( fault) S 60 J ( at) S 60 J ( any) S 60 J ( time,) S 60 J ( so) S 60 J ( drivers) S 60 J ( should) S
2160 4260 P (allocate) S 60 J ( only) S 60 J ( those) S 60 J ( data) S 60 J ( structures) S 60 J ( accessed) S 60 J ( exclusively) S 60 J ( at) S 60 J ( IRQL) S 60 J ( PASSIVE_LEVEL) S
2160 4520 P (or) S 60 J ( APC_LEVEL) S 60 J ( \(see) S 60 J ( IDT\)) S 60 J ( from) S 60 J ( paged) S 60 J ( pool.) S
1200 4840 P () S 544 J ( 2) S 296 J ( ) S LU (Nonpaged) S 60 J ( pool) S LE () S 60 J ( is) S 60 J ( a) S 60 J ( based) S 60 J ( region) S 60 J ( for) S 60 J ( which) S 60 J ( all) S 60 J ( processes) S 60 J ( share) S 60 J ( a) S 60 J ( set) S 60 J ( of) S 60 J ( PTEs.) S 60 J ( The) S
2160 5100 P (NT) S 60 J ( Memory) S 60 J ( Manager) S 60 J ( guarantees) S 60 J ( that) S 60 J ( nonpaged) S 60 J ( pool) S 60 J ( is) S 60 J ( resident) S 60 J ( in) S 60 J ( physical) S 60 J ( memory) S
2160 5360 P (at) S 60 J ( all) S 60 J ( times;) S 60 J ( therefore,) S 60 J ( this) S 60 J ( region) S 60 J ( can) S 60 J ( be) S 60 J ( accessed) S 60 J ( from) S 60 J ( any) S 60 J ( process's) S 60 J ( address) S 60 J ( space) S
2160 5620 P (without) S 60 J ( causing) S 60 J ( a) S 60 J ( page) S 60 J ( fault.) S 60 J ( However,) S 60 J ( nonpaged) S 60 J ( pool) S 60 J ( is) S 60 J ( a) S 60 J ( limited) S 60 J ( system) S 60 J ( resource.) S
1680 5940 P (Drivers) S 60 J ( should) S 60 J ( allocate) S 60 J ( from) S 60 J ( paged) S 60 J ( pool) S 60 J ( for) S 60 J ( entities) S 60 J ( that) S 60 J ( are) S 60 J ( accessed) S 60 J ( exclusively) S 60 J ( at) S 60 J ( or) S
1680 6200 P (below) S 60 J ( IRQL) S 60 J ( APC_LEVEL.) S 60 J ( They) S 60 J ( should) S 60 J ( minimize) S 60 J ( their) S 60 J ( usage) S 60 J ( of) S 60 J ( nonpaged) S 60 J ( pool) S 60 J ( by) S
1680 6460 P ("saving") S 60 J ( it) S 60 J ( for) S 60 J ( data) S 60 J ( that) S 60 J ( must) S 60 J ( be) S 60 J ( accessed) S 60 J ( at) S 60 J ( or) S 60 J ( above) S 60 J ( IRQL) S 60 J ( DISPATCH_LEVEL.) S
1680 6720 P (Allocations) S 60 J ( of) S 60 J ( contiguous) S 60 J ( or) S 60 J ( noncached) S 60 J ( memory) S 60 J ( come) S 60 J ( from) S 60 J ( nonpaged) S 60 J ( pool.) S
1680 7040 P (The) S 60 J ( Memory) S 60 J ( Manager) S 60 J ( allocates) S 60 J ( entities) S 60 J ( from) S 60 J ( both) S 60 J ( pools) S 60 J ( using) S 60 J ( a) S 60 J ( buddy) S 60 J ( scheme.) S 60 J ( See) S 60 J ( also) S
1680 7300 P (kernel) S 60 J ( space.) S
1200 7800 P 0 12 F 24 12 F B (port) S 60 J ( object) S E
1680 8120 P 0 12 F 24 12 F (An) S 60 J ( instance) S 60 J ( of) S 60 J ( an) S 60 J ( object) S 60 J ( type) S 60 J ( representing) S 60 J ( a) S 60 J ( conduit) S 60 J ( for) S 60 J ( messages) S 60 J ( between) S 60 J ( local) S
1680 8380 P (\(server/client\)) S 60 J ( processes.) S 60 J ( It) S 60 J ( is) S 60 J ( used) S 60 J ( in) S 60 J ( the) S 60 J ( LPC) S 60 J ( \() S LU (L) S LE (ocal) S 60 J ( ) S LU (P) S LE (rocedure) S 60 J ( ) S LU (C) S LE (all\)) S 60 J ( model) S 60 J ( of) S 60 J ( NT) S 60 J ( as) S 60 J ( an) S
1680 8640 P (object) S 60 J ( accessible) S 60 J ( to) S 60 J ( user-mode) S 60 J ( processes) S 60 J ( through) S 60 J ( system) S 60 J ( services.) S 60 J ( The) S 60 J ( server) S 60 J ( \(callee\)) S
1680 8900 P (process) S 60 J ( defines) S 60 J ( a) S 60 J ( named) S 60 J ( connection) S 60 J ( port) S 60 J ( object) S 60 J ( and) S 60 J ( sets) S 60 J ( up) S 60 J ( two) S 60 J ( \(unnamed\)) S
1680 9160 P (communication) S 60 J ( port) S 60 J ( objects) S 60 J ( when) S 60 J ( a) S 60 J ( client) S 60 J ( \(caller\)) S 60 J ( process) S 60 J ( connects) S 60 J ( to) S 60 J ( the) S 60 J ( named) S 60 J ( port.) S 0 12 F
PE
1920 1220 P 10 12 F B () S 3453 J ( Glossary) S 55 J ( of) S 55 J ( Terms) S 55 J ( and) S 55 J ( Acronyms) S 763 J ( G-) S E B (29) S E B () S 720 J ( ) S E
1920 2060 P 0 12 F 24 12 F B (port) S 60 J ( driver) S E
2400 2380 P 0 12 F 24 12 F (\(1\)) S 60 J ( An) S 60 J ( NT-supplied) S 60 J ( SCSI) S 60 J ( driver) S 60 J ( that) S 60 J ( supports) S 60 J ( a) S 60 J ( set) S 60 J ( of) S 60 J ( class) S 60 J ( drivers) S 60 J ( above) S 60 J ( it) S 60 J ( and) S 60 J ( one) S 60 J ( or) S
2400 2640 P (more) S 60 J ( HBA-specific) S 60 J ( miniport) S 60 J ( drivers,) S 60 J ( which) S 60 J ( link) S 60 J ( themselves) S 60 J ( to) S 60 J ( the) S 60 J ( NT-dependent) S 60 J ( port) S
2400 2900 P (driver) S 60 J ( \(implemented) S 60 J ( as) S 60 J ( a) S 60 J ( dynamic-link) S 60 J ( library\)) S 60 J ( and) S 60 J ( call) S 60 J ( its) S 60 J ( ) S 0 12 F 24 12 F B (ScsiPort) S E 0 12 F 24 12 F I (Xxx) S E 0 12 F 24 12 F () S 60 J ( routines.) S
2400 3220 P (\(2\)) S 60 J ( An) S 60 J ( NT-supplied) S 60 J ( video) S 60 J ( adapter) S 60 J ( driver) S 60 J ( that) S 60 J ( supports) S 60 J ( a) S 60 J ( user-level) S 60 J ( display) S 60 J ( driver) S 60 J ( and) S 60 J ( one) S
2400 3480 P (or) S 60 J ( more) S 60 J ( adapter-specific) S 60 J ( miniport) S 60 J ( drivers,) S 60 J ( which) S 60 J ( link) S 60 J ( themselves) S 60 J ( to) S 60 J ( the) S 60 J ( OS-dependent) S
2400 3740 P (port) S 60 J ( driver) S 60 J ( \(implemented) S 60 J ( as) S 60 J ( a) S 60 J ( dynamic-link) S 60 J ( library\)) S 60 J ( and) S 60 J ( call) S 60 J ( its) S 60 J ( ) S 0 12 F 24 12 F B (VideoPort) S E 0 12 F 24 12 F I (Xxx) S E 0 12 F 24 12 F () S 60 J ( routines.) S
2400 4060 P (\(3\)) S 60 J ( A) S 60 J ( lowest-level) S 60 J ( device) S 60 J ( driver) S 60 J ( whose) S 60 J ( device) S 60 J ( is) S 60 J ( a) S 60 J ( so-called) S 60 J ( "intelligent) S 60 J ( controller") S 60 J ( or) S 60 J ( a) S
2400 4320 P (bus) S 60 J ( adapter.) S 60 J ( A) S 60 J ( port) S 60 J ( driver) S 60 J ( communicates) S 60 J ( with) S 60 J ( one) S 60 J ( or) S 60 J ( more) S 60 J ( class) S 60 J ( drivers) S 60 J ( according) S 60 J ( to) S 60 J ( an) S
2400 4580 P (established) S 60 J ( protocol) S 60 J ( and) S 60 J ( synchronizes) S 60 J ( access) S 60 J ( to) S 60 J ( the) S 60 J ( controller) S 60 J ( or) S 60 J ( bus.) S
2400 4900 P (\(4\)) S 60 J ( A) S 60 J ( lowest-level) S 60 J ( physical) S 60 J ( device) S 60 J ( driver) S 60 J ( that) S 60 J ( responds) S 60 J ( to) S 60 J ( a) S 60 J ( set) S 60 J ( of) S 60 J ( system-defined) S 60 J ( device) S
2400 5160 P (I/O) S 60 J ( control) S 60 J ( requests) S 60 J ( \(and,) S 60 J ( possibly) S 60 J ( an) S 60 J ( additional) S 60 J ( set) S 60 J ( of) S 60 J ( driver-defined) S 60 J ( internal) S 60 J ( I/O) S 60 J ( control) S
2400 5420 P (requests\)) S 60 J ( sent) S 60 J ( down) S 60 J ( by) S 60 J ( a) S 60 J ( corresponding) S 60 J ( class) S 60 J ( driver.) S
2400 5740 P (See) S 60 J ( also) S 60 J ( class) S 60 J ( driver) S 60 J ( and) S 60 J ( miniport) S 60 J ( driver.) S
1920 6240 P 0 12 F 24 12 F B (POSIX) S E
2400 6560 P 0 12 F 24 12 F (Portable) S 60 J ( operating) S 60 J ( system) S 60 J ( for) S 60 J ( \(UN\)IX) S
1920 7060 P 0 12 F 24 12 F B (PRCB) S E
2400 7380 P 0 12 F 24 12 F LU (Pr) S LE (ocessor) S 60 J ( ) S LU (c) S LE (ontrol) S 60 J ( ) S LU (b) S LE (lock) S
2880 7700 P (An) S 60 J ( extension) S 60 J ( of) S 60 J ( the) S 60 J ( PCR.) S
1920 8200 P 0 12 F 24 12 F B (priority) S E
2400 8520 P 0 12 F 24 12 F (An) S 60 J ( attribute) S 60 J ( of) S 60 J ( a) S 60 J ( thread) S 60 J ( that) S 60 J ( determines) S 60 J ( when) S 60 J ( and) S 60 J ( how) S 60 J ( often) S 60 J ( it) S 60 J ( is) S 60 J ( scheduled) S 60 J ( to) S 60 J ( run.) S 60 J ( For) S 60 J ( a) S
2400 8780 P (running) S 60 J ( thread,) S 60 J ( its) S 60 J ( priority) S 60 J ( falls) S 60 J ( into) S 60 J ( either) S 60 J ( of) S 60 J ( two) S 60 J ( classes,) S 60 J ( each) S 60 J ( class) S 60 J ( with) S 60 J ( 16) S 60 J ( levels:) S
1920 9100 P () S 544 J ( 1) S 296 J ( ) S LU (Variable) S LE () S 60 J ( ) S LU (priority) S 60 J ( class) S LE () S 60 J ( has) S 60 J ( values) S 60 J ( in) S 60 J ( the) S 60 J ( range) S 60 J ( 0) S 60 J ( to) S 60 J ( 15.) S 60 J ( This) S 60 J ( class) S 60 J ( is) S 60 J ( used) S 60 J ( by) S 60 J ( most) S
2880 9360 P (threads.) S
2880 9680 P (Threads) S 60 J ( with) S 60 J ( variable) S 60 J ( priority) S 60 J ( are) S 60 J ( always) S 60 J ( preemptible) S 60 J ( \(scheduled) S 60 J ( to) S 60 J ( run) S 60 J ( round-robin) S
2880 9940 P (with) S 60 J ( other) S 60 J ( threads) S 60 J ( at) S 60 J ( the) S 60 J ( same) S 60 J ( level\).) S 60 J ( In) S 60 J ( general,) S 60 J ( the) S 60 J ( Kernel) S 60 J ( manages) S 60 J ( a) S 60 J ( variable-) S
2880 10200 P (priority) S 60 J ( thread) S 60 J ( as) S 60 J ( follows:) S 60 J ( when) S 60 J ( the) S 60 J ( thread) S 60 J ( is) S 60 J ( interactive) S 60 J ( with) S 60 J ( a) S 60 J ( user,) S 60 J ( its) S 60 J ( priority) S 60 J ( is) S
2880 10460 P (high) S 60 J ( \(given) S 60 J ( a) S 60 J ( boost\);) S 60 J ( otherwise,) S 60 J ( its) S 60 J ( priority) S 60 J ( decays) S 60 J ( \(by) S 60 J ( one) S 60 J ( level) S 60 J ( per) S 60 J ( quantum) S 60 J ( the) S
2880 10720 P (thread) S 60 J ( runs\)) S 60 J ( until) S 60 J ( it) S 60 J ( reaches) S 60 J ( its) S 60 J ( original) S 60 J ( \(programmer-defined\)) S 60 J ( base) S 60 J ( level.) S
1920 11040 P () S 544 J ( 2) S 296 J ( ) S LU (Real-time) S 60 J ( priority) S 60 J ( class) S LE () S 60 J ( has) S 60 J ( values) S 60 J ( in) S 60 J ( the) S 60 J ( range) S 60 J ( 16) S 60 J ( to) S 60 J ( 31.) S 60 J ( This) S 60 J ( class) S 60 J ( is) S 60 J ( used) S 60 J ( by) S 60 J ( time-) S
2880 11300 P (critical) S 60 J ( threads,) S 60 J ( making) S 60 J ( such) S 60 J ( a) S 60 J ( thread) S 60 J ( preemptible) S 60 J ( only) S 60 J ( by) S 60 J ( a) S 60 J ( thread) S 60 J ( with) S 60 J ( higher) S
2880 11560 P (priority.) S 60 J ( Note) S 60 J ( that) S 60 J ( a) S 60 J ( thread) S 60 J ( running) S 60 J ( at) S 60 J ( the) S 60 J ( highest) S 60 J ( real-time) S 60 J ( priority) S 60 J ( level) S 60 J ( could) S 60 J ( be) S
2880 11820 P (preempted) S 60 J ( by) S 60 J ( a) S 60 J ( special) S 60 J ( Kernel) S 60 J ( APC) S 60 J ( if) S 60 J ( an) S 60 J ( APC_LEVEL) S 60 J ( interrupt) S 60 J ( occurs.) S 0 12 F
PE
1200 1220 P 10 12 F B (G-) S E B (30) S E B () S 883 J ( Kernel-mode) S 55 J ( Driver) S 55 J ( Design) S 55 J ( Guide) S E
1200 2060 P 0 12 F 24 12 F B (priority) S 60 J ( boosts) S E
1680 2380 P 0 12 F 24 12 F (A) S 60 J ( set) S 60 J ( of) S 60 J ( system-defined) S 60 J ( constant) S 60 J ( values,) S 60 J ( supplied) S 60 J ( when) S 60 J ( certain) S 60 J ( device) S 60 J ( drivers) S 60 J ( complete) S
1680 2640 P (an) S 60 J ( IRP.) S 60 J ( In) S 60 J ( general,) S 60 J ( drivers) S 60 J ( for) S 60 J ( interactive) S 60 J ( devices) S 60 J ( call) S 60 J ( ) S 0 12 F 24 12 F B (IoCompleteRequest) S E 0 12 F 24 12 F () S 60 J ( with) S 60 J ( a) S
1680 2900 P (device-type-specific) S 60 J ( priority) S 60 J ( boost) S 60 J ( value.) S 60 J ( The) S 60 J ( boost) S 60 J ( is) S 60 J ( added) S 60 J ( to) S 60 J ( the) S 60 J ( priority) S 60 J ( of) S 60 J ( the) S 60 J ( user-) S
1680 3160 P (mode) S 60 J ( thread) S 60 J ( that) S 60 J ( originally) S 60 J ( requested) S 60 J ( the) S 60 J ( I/O) S 60 J ( operation,) S 60 J ( in) S 60 J ( order) S 60 J ( to) S 60 J ( compensate) S 60 J ( for) S 60 J ( that) S
1680 3420 P (thread's) S 60 J ( assumed) S 60 J ( wait) S 60 J ( on) S 60 J ( the) S 60 J ( I/O.) S
1200 3920 P 0 12 F 24 12 F B (probe) S E
1680 4240 P 0 12 F 24 12 F (To) S 60 J ( check) S 60 J ( whether) S 60 J ( a) S 60 J ( memory) S 60 J ( access) S 60 J ( of) S 60 J ( a) S 60 J ( particular) S 60 J ( kind) S 60 J ( \(e.g.,) S 60 J ( read\)) S 60 J ( to) S 60 J ( data) S 60 J ( \(e.g.,) S 60 J ( a) S 60 J ( handle) S
1680 4500 P (for) S 60 J ( an) S 60 J ( object) S 60 J ( or) S 60 J ( a) S 60 J ( buffer\)) S 60 J ( is) S 60 J ( allowed) S 60 J ( without) S 60 J ( causing) S 60 J ( an) S 60 J ( access) S 60 J ( violation.) S 60 J ( Note) S 60 J ( that) S 60 J ( user-) S
1680 4760 P (supplied) S 60 J ( argument) S 60 J ( values) S 60 J ( are) S 60 J ( always) S 60 J ( probed) S 60 J ( and) S 60 J ( captured) S 60 J ( \(on) S 60 J ( the) S 60 J ( system) S 60 J ( stack\)) S 60 J ( before) S 60 J ( an) S
1680 5020 P (NT) S 60 J ( system) S 60 J ( service) S 60 J ( gets) S 60 J ( control) S 60 J ( in) S 60 J ( kernel) S 60 J ( mode.) S 60 J ( The) S 60 J ( system) S 60 J ( service) S 60 J ( is) S 60 J ( responsible) S 60 J ( for) S
1680 5280 P (probing) S 60 J ( whatever) S 60 J ( a) S 60 J ( captured) S 60 J ( pointer) S 60 J ( accesses.) S
1200 5780 P 0 12 F 24 12 F B (process) S 60 J ( object) S E
1680 6100 P 0 12 F 24 12 F (A) S 60 J ( Kernel-defined) S 60 J ( control) S 60 J ( object) S 60 J ( type,) S 60 J ( representing) S 60 J ( the) S 60 J ( virtual) S 60 J ( address) S 60 J ( space) S 60 J ( and) S 60 J ( control) S
1680 6360 P (information) S 60 J ( necessary) S 60 J ( for) S 60 J ( the) S 60 J ( execution) S 60 J ( of) S 60 J ( a) S 60 J ( set) S 60 J ( of) S 60 J ( thread) S 60 J ( objects.) S 60 J ( A) S 60 J ( user-mode) S 60 J ( process) S
1680 6620 P (object) S 60 J ( defines) S 60 J ( the) S 60 J ( base) S 60 J ( priority,) S 60 J ( default) S 60 J ( affinity,) S 60 J ( and) S 60 J ( directory) S 60 J ( table) S 60 J ( base) S 60 J ( value) S 60 J ( for) S 60 J ( its) S
1680 6880 P (threads) S 60 J ( and) S 60 J ( for) S 60 J ( any) S 60 J ( child) S 60 J ( processes) S 60 J ( it) S 60 J ( creates.) S 60 J ( Every) S 60 J ( user-visible) S 60 J ( process) S 60 J ( object) S 60 J ( is) S
1680 7140 P (implemented) S 60 J ( through) S 60 J ( the) S 60 J ( use) S 60 J ( of) S 60 J ( an) S 60 J ( embedded) S 60 J ( kernel-mode) S 60 J ( process) S 60 J ( object.) S
2160 7460 P (A) S 60 J ( kernel-mode-only) S 60 J ( process) S 60 J ( object) S 60 J ( must) S 60 J ( be) S 60 J ( initialized) S 60 J ( before) S 60 J ( any) S 60 J ( thread) S 60 J ( objects) S 60 J ( that) S
2160 7720 P (belong) S 60 J ( to) S 60 J ( the) S 60 J ( process.) S
2160 8040 P (At) S 60 J ( any) S 60 J ( given) S 60 J ( moment,) S 60 J ( a) S 60 J ( process) S 60 J ( is) S 60 J ( either) S 60 J ( part) S 60 J ( of) S 60 J ( the) S 60 J ( balance) S 60 J ( set) S 60 J ( \(Included\)) S 60 J ( or) S 60 J ( not) S
2160 8300 P (\(Excluded\).) S 60 J ( A) S 60 J ( kernel-mode) S 60 J ( process) S 60 J ( must) S 60 J ( remain) S 60 J ( in) S 60 J ( the) S 60 J ( balance) S 60 J ( set) S 60 J ( as) S 60 J ( long) S 60 J ( as) S 60 J ( any) S 60 J ( of) S
2160 8560 P (its) S 60 J ( threads) S 60 J ( owns) S 60 J ( a) S 60 J ( mutex) S 60 J ( object.) S 60 J ( Each) S 60 J ( thread) S 60 J ( owning) S 60 J ( one) S 60 J ( or) S 60 J ( more) S 60 J ( mutexes) S 60 J ( continues) S
2160 8820 P (to) S 60 J ( run) S 60 J ( until) S 60 J ( it) S 60 J ( releases) S 60 J ( its) S 60 J ( last) S 60 J ( mutex,) S 60 J ( when) S 60 J ( the) S 60 J ( thread) S 60 J ( is) S 60 J ( suspended.) S 60 J ( The) S 60 J ( process) S 60 J ( is) S
2160 9080 P 0 12 F 24 12 F I (not) S E 0 12 F 24 12 F () S 60 J ( removed) S 60 J ( from) S 60 J ( the) S 60 J ( balance) S 60 J ( set) S 60 J ( until) S 60 J ( every) S 60 J ( thread) S 60 J ( has) S 60 J ( released) S 60 J ( all) S 60 J ( mutexes.) S
1200 9580 P 0 12 F 24 12 F B (protected) S 60 J ( subsystem) S E
1680 9900 P 0 12 F 24 12 F (A) S 60 J ( server) S 60 J ( that) S 60 J ( performs) S 60 J ( operating) S 60 J ( system) S 60 J ( functions) S 60 J ( or) S 60 J ( that) S 60 J ( emulates) S 60 J ( another) S 60 J ( operating) S
1680 10107 P 0 12 F 24 8 F 2467 J ( ) S (TM) S
1680 10160 P 0 12 F 24 12 F (system,) S 60 J ( such) S 60 J ( as) S 60 J ( Windows) S 240 J ( ) S () S 60 J ( or) S 60 J ( POSIX,) S 60 J ( on) S 60 J ( top) S 60 J ( of) S 60 J ( the) S 60 J ( NT) S 60 J ( executive.) S 60 J ( See) S 60 J ( also) S 60 J ( integral) S
1680 10420 P (subsystem.) S
1200 10920 P 0 12 F 24 12 F B (PTE) S E
1680 11240 P 0 12 F 24 12 F (Page) S 60 J ( table) S 60 J ( entry) S
2160 11560 P (The) S 60 J ( Memory) S 60 J ( Manager) S 60 J ( uses) S 60 J ( a) S 60 J ( PTE) S 60 J ( to) S 60 J ( represent) S 60 J ( the) S 60 J ( state) S 60 J ( of) S 60 J ( a) S 60 J ( virtual) S 60 J ( page.) S 0 12 F
PE
1920 1220 P 10 12 F B () S 3453 J ( Glossary) S 55 J ( of) S 55 J ( Terms) S 55 J ( and) S 55 J ( Acronyms) S 763 J ( G-) S E B (31) S E B () S 720 J ( ) S E
1920 2060 P 0 12 F 24 12 F B (pulse) S E
2400 2380 P 0 12 F 24 12 F (To) S 60 J ( set) S 60 J ( an) S 60 J ( event) S 60 J ( to) S 60 J ( the) S 60 J ( Signaled) S 60 J ( state,) S 60 J ( satisfy) S 60 J ( as) S 60 J ( many) S 60 J ( waiters) S 60 J ( on) S 60 J ( the) S 60 J ( event) S 60 J ( as) S 60 J ( possible,) S 60 J ( and) S
2400 2640 P (to) S 60 J ( reset) S 60 J ( the) S 60 J ( event) S 60 J ( to) S 60 J ( the) S 60 J ( Not-Signaled) S 60 J ( state.) S
1920 3140 P 0 12 F 24 12 F B (quantum) S E
2400 3460 P 0 12 F 24 12 F (a.k.a.) S 60 J ( "time) S 60 J ( slice") S
2880 3780 P (A) S 60 J ( brief) S 60 J ( period) S 60 J ( of) S 60 J ( time) S 60 J ( during) S 60 J ( which) S 60 J ( a) S 60 J ( given) S 60 J ( thread) S 60 J ( executes) S 60 J ( in) S 60 J ( a) S 60 J ( multitasking) S
2880 4040 P (operating) S 60 J ( system.) S
1920 4540 P 0 12 F 24 12 F B (quota) S E
2400 4860 P 0 12 F 24 12 F (For) S 60 J ( each) S 60 J ( process,) S 60 J ( NT) S 60 J ( sets) S 60 J ( a) S 60 J ( limit) S 60 J ( on) S 60 J ( certain) S 60 J ( system) S 60 J ( resources) S 60 J ( the) S 60 J ( process's) S 60 J ( threads) S 60 J ( can) S
2400 5120 P (use,) S 60 J ( including) S 60 J ( quotas) S 60 J ( for) S 60 J ( paging-file,) S 60 J ( paged-pool,) S 60 J ( and) S 60 J ( nonpaged-pool) S 60 J ( usage,) S 60 J ( as) S 60 J ( well) S 60 J ( as) S
2400 5380 P (for) S 60 J ( CPU) S 60 J ( time.) S 60 J ( As) S 60 J ( the) S 60 J ( process's) S 60 J ( threads) S 60 J ( run,) S 60 J ( the) S 60 J ( Kernel) S 60 J ( subtracts) S 60 J ( the) S 60 J ( CPU) S 60 J ( time) S 60 J ( used) S 60 J ( from) S
2400 5640 P (the) S 60 J ( quota.) S 60 J ( The) S 60 J ( Memory) S 60 J ( Manager) S 60 J ( "charges) S 60 J ( quota") S 60 J ( against) S 60 J ( the) S 60 J ( process) S 60 J ( as) S 60 J ( its) S 60 J ( threads) S 60 J ( use) S
2400 5900 P (page-file,) S 60 J ( paged-pool,) S 60 J ( or) S 60 J ( nonpaged-pool) S 60 J ( memory;) S 60 J ( it) S 60 J ( also) S 60 J ( updates) S 60 J ( these) S 60 J ( values) S 60 J ( when) S
2400 6160 P (threads) S 60 J ( release) S 60 J ( memory.) S
1920 6660 P 0 12 F 24 12 F B (raise) S 60 J ( an) S 60 J ( exception) S E
2400 6980 P 0 12 F 24 12 F (A) S 60 J ( deliberate) S 60 J ( transfer) S 60 J ( of) S 60 J ( control) S 60 J ( to) S 60 J ( an) S 60 J ( exception) S 60 J ( handler) S 60 J ( when) S 60 J ( an) S 60 J ( exception) S 60 J ( occurs.) S 60 J ( A) S
2400 7240 P (kernel-mode) S 60 J ( component,) S 60 J ( including) S 60 J ( any) S 60 J ( NT) S 60 J ( driver,) S 60 J ( cannot) S 60 J ( raise) S 60 J ( an) S 60 J ( exeception) S 60 J ( while) S
2400 7500 P (running) S 60 J ( at) S 60 J ( IRQL) S 60 J ( >) S 60 J ( APC_LEVEL) S 60 J ( without) S 60 J ( bringing) S 60 J ( down) S 60 J ( the) S 60 J ( system.) S 60 J ( See) S 60 J ( also) S 60 J ( SEH.) S
1920 8000 P 0 12 F 24 12 F B (range) S E
2400 8320 P 0 12 F 24 12 F (A) S 60 J ( finite) S 60 J ( and) S 60 J ( discrete) S 60 J ( sequence) S 60 J ( of) S 60 J ( values.) S 60 J ( Note) S 60 J ( that) S 60 J ( a) S 60 J ( virtual) S 60 J ( address) S 60 J ( range) S 60 J ( can) S 60 J ( be) S 60 J ( backed) S
2400 8580 P (by) S 60 J ( a) S 60 J ( set) S 60 J ( of) S 60 J ( discontiguous) S 60 J ( physical) S 60 J ( pages) S 60 J ( or) S 60 J ( by) S 60 J ( a) S 60 J ( file) S 60 J ( stored) S 60 J ( in) S 60 J ( discontiguous) S 60 J ( sectors) S 60 J ( on) S
2400 8840 P (disk.) S
1920 9340 P 0 12 F 24 12 F B (RAW) S E
2400 9660 P 0 12 F 24 12 F (An) S 60 J ( NT-supplied) S 60 J ( file) S 60 J ( system) S 60 J ( that) S 60 J ( is) S 60 J ( the) S 60 J ( "last) S 60 J ( resort") S 60 J ( for) S 60 J ( all) S 60 J ( NT) S 60 J ( I/O) S 60 J ( requests) S 60 J ( requiring) S 60 J ( file) S
2400 9920 P (system) S 60 J ( support.) S 60 J ( When) S 60 J ( the) S 60 J ( I/O) S 60 J ( Manager) S 60 J ( calls) S 60 J ( active) S 60 J ( NT) S 60 J ( file) S 60 J ( systems) S 60 J ( to) S 60 J ( mount) S 60 J ( a) S 60 J ( volume,) S
2400 10180 P (RAW) S 60 J ( file) S 60 J ( system) S 60 J ( driver) S 60 J ( is) S 60 J ( always) S 60 J ( called) S 60 J ( last,) S 60 J ( because) S 60 J ( it) S 60 J ( recognizes) S 60 J ( all) S 60 J ( disk) S 60 J ( and) S 60 J ( tape) S
2400 10440 P (media.) S 60 J ( However,) S 60 J ( RAW) S 60 J ( supplies) S 60 J ( very) S 60 J ( primitive) S 60 J ( file) S 60 J ( handling) S 60 J ( capabilities.) S 60 J ( For) S 60 J ( example,) S 60 J ( it) S
2400 10700 P (treats) S 60 J ( the) S 60 J ( whole) S 60 J ( disk) S 60 J ( as) S 60 J ( a) S 60 J ( single) S 60 J ( file) S 60 J ( and) S 60 J ( supplies) S 60 J ( physical-disk-level) S 60 J ( VBN) S 60 J ( access) S 60 J ( to) S 60 J ( the) S
2400 10960 P (disk.) S
2880 11280 P (RAW) S 60 J ( is) S 60 J ( not) S 60 J ( an) S 60 J ( acronym.) S
1920 11780 P 0 12 F 24 12 F B (redirector) S E
2400 12100 P 0 12 F 24 12 F (An) S 60 J ( NT) S 60 J ( \(network\)) S 60 J ( file) S 60 J ( system) S 60 J ( driver) S 60 J ( that) S 60 J ( provides) S 60 J ( access) S 60 J ( to) S 60 J ( files) S 60 J ( on) S 60 J ( remote) S 60 J ( machines.) S 0 12 F
PE
1200 1220 P 10 12 F B (G-) S E B (32) S E B () S 883 J ( Kernel-mode) S 55 J ( Driver) S 55 J ( Design) S 55 J ( Guide) S E
1200 2060 P 0 12 F 24 12 F B (region) S E
1680 2380 P 0 12 F 24 12 F (A) S 60 J ( range) S 60 J ( of) S 60 J ( virtual) S 60 J ( addresses.) S
2160 2700 P (When) S 60 J ( a) S 60 J ( user-mode) S 60 J ( caller) S 60 J ( creates) S 60 J ( a) S 60 J ( section) S 60 J ( or) S 60 J ( maps) S 60 J ( a) S 60 J ( view,) S 60 J ( it) S 60 J ( must) S 60 J ( specify) S 60 J ( a) S 60 J ( region.) S
2160 2960 P (The) S 60 J ( NT) S 60 J ( Memory) S 60 J ( Manager) S 60 J ( rounds) S 60 J ( the) S 60 J ( specified) S 60 J ( region's) S 60 J ( starting) S 60 J ( address) S 60 J ( down) S 60 J ( to) S 60 J ( the) S
2160 3220 P (nearest) S 60 J ( host-alignment) S 60 J ( boundary) S 60 J ( and) S 60 J ( rounds) S 60 J ( its) S 60 J ( size) S 60 J ( in) S 60 J ( bytes) S 60 J ( up) S 60 J ( to) S 60 J ( the) S 60 J ( next) S 60 J ( host-) S
2160 3480 P (page-size) S 60 J ( boundary.) S
1200 3980 P 0 12 F 24 12 F B (registry) S E
1680 4300 P 0 12 F 24 12 F (a.k.a.) S 60 J ( "configuration) S 60 J ( registry") S
2160 4620 P (A) S 60 J ( database) S 60 J ( containing) S 60 J ( configuration) S 60 J ( and) S 60 J ( control) S 60 J ( data) S 60 J ( for) S 60 J ( the) S 60 J ( system,) S 60 J ( including) S
2160 4880 P (which) S 60 J ( file) S 60 J ( systems) S 60 J ( and) S 60 J ( drivers) S 60 J ( to) S 60 J ( load) S 60 J ( at) S 60 J ( system) S 60 J ( boot.) S 60 J ( The) S 60 J ( NT) S 60 J ( Configuration) S
2160 5140 P (Manager) S 60 J ( exports) S 60 J ( system) S 60 J ( services) S 60 J ( to) S 60 J ( manipulate) S 60 J ( registry) S 60 J ( key) S 60 J ( objects) S 60 J ( contained) S 60 J ( in) S 60 J ( the) S
2160 5400 P (database.) S
1200 5900 P 0 12 F 24 12 F B (resource) S E
1680 6220 P 0 12 F 24 12 F (An) S 60 J ( entity) S 60 J ( \(such) S 60 J ( as) S 60 J ( a) S 60 J ( device) S 60 J ( object,) S 60 J ( file) S 60 J ( object,) S 60 J ( section) S 60 J ( object,) S 60 J ( variable,) S 60 J ( structure,) S 60 J ( or) S
1680 6480 P (buffer\)) S 60 J ( visible) S 60 J ( to) S 60 J ( one) S 60 J ( or) S 60 J ( more) S 60 J ( processes.) S
2160 6800 P (In) S 60 J ( kernel) S 60 J ( mode,) S 60 J ( a) S 60 J ( shared) S 60 J ( resource) S 60 J ( is) S 60 J ( a) S 60 J ( multiprocessor-safe) S 60 J ( synchronization) S
2160 7060 P (mechanism,) S 60 J ( rather) S 60 J ( like) S 60 J ( a) S 60 J ( gating) S 60 J ( semaphore) S 60 J ( with) S 60 J ( a) S 60 J ( dynamic) S 60 J ( limit) S 60 J ( value.) S 60 J ( Drivers) S 60 J ( can) S
2160 7320 P (use) S 60 J ( system-supplied) S 60 J ( ) S 0 12 F 24 12 F B (Ex) S E 0 12 F 24 12 F (\(ecutive\)) S 60 J ( Support) S 60 J ( and/or) S 60 J ( ) S 0 12 F 24 12 F B (Rtl) S E 0 12 F 24 12 F () S 60 J ( \() S LU (R) S LE (un) S LU (t) S LE (ime) S 60 J ( ) S LU (L) S LE (ibrary\)) S 60 J ( functions) S 60 J ( to) S
2160 7580 P (control) S 60 J ( access) S 60 J ( to) S 60 J ( a) S 60 J ( memory) S 60 J ( entity,) S 60 J ( such) S 60 J ( as) S 60 J ( a) S 60 J ( file) S 60 J ( or) S 60 J ( database,) S 60 J ( on) S 60 J ( a) S 60 J ( multiple-reader) S
2160 7840 P (\(shared) S 60 J ( access\),) S 60 J ( single-writer) S 60 J ( \(exclusive) S 60 J ( access\)) S 60 J ( basis.) S
1200 8340 P 0 12 F 24 12 F B (RPC) S E
1680 8660 P 0 12 F 24 12 F (Remote) S 60 J ( procedure) S 60 J ( call) S
2160 8980 P (A) S 60 J ( call) S 60 J ( from) S 60 J ( one) S 60 J ( process's) S 60 J ( thread) S 60 J ( \(client\)) S 60 J ( to) S 60 J ( another's) S 60 J ( \(server\)) S 60 J ( that) S 60 J ( exists) S 60 J ( in) S 60 J ( a) S 60 J ( different) S
2160 9240 P (address) S 60 J ( space,) S 60 J ( usually) S 60 J ( on) S 60 J ( another) S 60 J ( \(networked\)) S 60 J ( machine.) S 60 J ( See) S 60 J ( also) S 60 J ( IPC.) S
1200 9740 P 0 12 F 24 12 F B (Rtl) S 60 J ( functions) S E
1680 10060 P 0 12 F 24 12 F (There) S 60 J ( are) S 60 J ( two) S 60 J ( general) S 60 J ( sets) S 60 J ( of) S 60 J ( \(C\)) S 60 J ( ) S LU (R) S LE (un) S LU (t) S LE (ime) S 60 J ( ) S LU (L) S LE (ibrary) S 60 J ( functions) S 60 J ( supplied) S 60 J ( with) S 60 J ( the) S 60 J ( NT) S
1680 10320 P (system,) S 60 J ( one) S 60 J ( each) S 60 J ( for) S 60 J ( user) S 60 J ( mode) S 60 J ( and) S 60 J ( for) S 60 J ( kernel) S 60 J ( mode.) S 60 J ( All) S 60 J ( NT) S 60 J ( drivers) S 60 J ( can) S 60 J ( call) S 60 J ( the) S 60 J ( kernel-) S
1680 10580 P (mode) S 60 J ( ) S 0 12 F 24 12 F B (Rtl) S E 0 12 F 24 12 F () S 60 J ( functions.) S 60 J ( An) S 60 J ( NT) S 60 J ( \(highest-level\)) S 60 J ( driver) S 60 J ( cannot) S 60 J ( call) S 60 J ( a) S 60 J ( user-mode) S 60 J ( ) S 0 12 F 24 12 F B (Rtl) S E 0 12 F 24 12 F () S 60 J ( function) S
1680 10840 P (unless) S 60 J ( it) S 60 J ( is) S 60 J ( executing) S 60 J ( in) S 60 J ( the) S 60 J ( context) S 60 J ( of) S 60 J ( the) S 60 J ( user-mode) S 60 J ( thread) S 60 J ( that) S 60 J ( requested) S 60 J ( the) S 60 J ( driver's) S
1680 11100 P (current) S 60 J ( I/O) S 60 J ( operation.) S 0 12 F
PE
1920 1220 P 10 12 F B () S 3453 J ( Glossary) S 55 J ( of) S 55 J ( Terms) S 55 J ( and) S 55 J ( Acronyms) S 763 J ( G-) S E B (33) S E B () S 720 J ( ) S E
1920 2060 P 0 12 F 24 12 F B (run) S E
2400 2380 P 0 12 F 24 12 F (verb:) S 60 J ( to) S 60 J ( execute) S 60 J ( on) S 60 J ( a) S 60 J ( processor.) S
2400 2700 P (noun:) S 60 J ( \(1\)) S 60 J ( within) S 60 J ( an) S 60 J ( MCB,) S 60 J ( a) S 60 J ( contiguous) S 60 J ( range) S 60 J ( of) S 60 J ( VBNs) S 60 J ( mapped) S 60 J ( to) S 60 J ( a) S 60 J ( contiguous) S 60 J ( range) S 60 J ( of) S
2400 2960 P (LBNs) S 60 J ( \(a.k.a.) S 60 J ( "extent"\);) S 60 J ( \(2\)) S 60 J ( slang) S 60 J ( for) S 60 J ( a) S 60 J ( quantum,) S 60 J ( as) S 60 J ( in) S 60 J ( "when) S 60 J ( the) S 60 J ( thread) S 60 J ( is) S 60 J ( given) S 60 J ( the) S 60 J ( run...") S
1920 3460 P 0 12 F 24 12 F B (runtime) S 60 J ( priority) S 60 J ( inversion) S E
2400 3780 P 0 12 F 24 12 F (A) S 60 J ( condition) S 60 J ( that) S 60 J ( can) S 60 J ( occur) S 60 J ( when) S 60 J ( threads) S 60 J ( with) S 60 J ( mismatched) S 60 J ( priority) S 60 J ( attributes) S 60 J ( share) S
2400 4040 P (resources) S 60 J ( or) S 60 J ( when) S 60 J ( a) S 60 J ( higher) S 60 J ( priority) S 60 J ( thread) S 60 J ( waits) S 60 J ( for) S 60 J ( a) S 60 J ( lower) S 60 J ( priority) S 60 J ( thread) S 60 J ( to) S 60 J ( complete) S
2400 4300 P (some) S 60 J ( action.) S 60 J ( Such) S 60 J ( an) S 60 J ( inversion) S 60 J ( occurs) S 60 J ( whenever:) S
1920 4620 P () S 512 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 296 J ( A) S 60 J ( high) S 60 J ( priority) S 60 J ( thread) S 60 J ( is) S 60 J ( blocked,) S 60 J ( waiting) S 60 J ( for) S 60 J ( a) S 60 J ( lower) S 60 J ( priority) S 60 J ( thread) S 60 J ( to) S 60 J ( release) S 60 J ( a) S
2880 4880 P (shared) S 60 J ( resource) S 60 J ( or) S 60 J ( to) S 60 J ( complete) S 60 J ( an) S 60 J ( action) S 60 J ( \(and) S 60 J ( probably) S 60 J ( to) S 60 J ( set) S 60 J ( a) S 60 J ( dispatcher) S 60 J ( object) S 60 J ( to) S
2880 5140 P (the) S 60 J ( Signaled) S 60 J ( state\).) S
1920 5460 P () S 512 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 296 J ( This) S 60 J ( lower) S 60 J ( priority) S 60 J ( thread) S 60 J ( is) S 60 J ( also) S 60 J ( blocked,) S 60 J ( because) S 60 J ( many) S 60 J ( other) S 60 J ( higher) S 60 J ( priority) S
2880 5720 P (threads) S 60 J ( are) S 60 J ( ready) S 60 J ( for) S 60 J ( execution,) S 60 J ( so) S 60 J ( they) S 60 J ( will) S 60 J ( be) S 60 J ( run) S 60 J ( first.) S
2400 6040 P (Under) S 60 J ( these) S 60 J ( circumstances,) S 60 J ( the) S 60 J ( waiting) S 60 J ( high) S 60 J ( priority) S 60 J ( thread) S 60 J ( undergoes) S 60 J ( a) S 60 J ( runtime) S 60 J ( priority) S
2400 6300 P (inversion,) S 60 J ( because) S 60 J ( one) S 60 J ( or) S 60 J ( more) S 60 J ( lower) S 60 J ( priority) S 60 J ( threads) S 60 J ( will) S 60 J ( run) S 60 J ( before) S 60 J ( it) S 60 J ( does.) S 60 J ( Note) S 60 J ( that) S
2400 6560 P (two) S 60 J ( threads) S 60 J ( with) S 60 J ( mismatched) S 60 J ( priorities) S 60 J ( must) S 60 J ( be) S 60 J ( very) S 60 J ( careful) S 60 J ( to) S 60 J ( avoid) S 60 J ( deadlocks) S 60 J ( if) S 60 J ( they) S
2400 6820 P ("share") S 60 J ( a) S 60 J ( resource) S 60 J ( in) S 60 J ( a) S 60 J ( mutually) S 60 J ( exclusive) S 60 J ( manner) S 60 J ( \(that) S 60 J ( is,) S 60 J ( only) S 60 J ( one) S 60 J ( thread) S 60 J ( at) S 60 J ( a) S 60 J ( given) S
2400 7080 P (time) S 60 J ( can) S 60 J ( access) S 60 J ( the) S 60 J ( resource\).) S 60 J ( Such) S 60 J ( a) S 60 J ( pair) S 60 J ( of) S 60 J ( threads) S 60 J ( should) S 60 J ( not) S 60 J ( attempt) S 60 J ( to) S 60 J ( use) S 60 J ( a) S 60 J ( spin) S
2400 7340 P (lock.) S 60 J ( See) S 60 J ( also) S 60 J ( thread) S 60 J ( object,) S 60 J ( priority,) S 60 J ( resource,) S 60 J ( and) S 60 J ( deadlock.) S
1920 7840 P 0 12 F 24 12 F B (SACL) S E
2400 8160 P 0 12 F 24 12 F (System) S 60 J ( access) S 60 J ( control) S 60 J ( list) S
2880 8480 P (A) S 60 J ( part) S 60 J ( of) S 60 J ( the) S 60 J ( NT) S 60 J ( security) S 60 J ( descriptor) S 60 J ( for) S 60 J ( an) S 60 J ( object,) S 60 J ( used) S 60 J ( to) S 60 J ( maintain) S 60 J ( per) S 60 J ( object) S
2880 8740 P (auditing) S 60 J ( information.) S 60 J ( See) S 60 J ( also) S 60 J ( security) S 60 J ( descriptor,) S 60 J ( ACE,) S 60 J ( and) S 60 J ( ACL.) S
1920 9240 P 0 12 F 24 12 F B (SAM) S E
2400 9560 P 0 12 F 24 12 F (Security) S 60 J ( Account) S 60 J ( Manager) S
2880 9880 P (An) S 60 J ( integral) S 60 J ( subsystem) S 60 J ( that) S 60 J ( maintains) S 60 J ( a) S 60 J ( database) S 60 J ( of) S 60 J ( information) S 60 J ( on) S 60 J ( user) S 60 J ( accounts,) S
2880 10140 P (including) S 60 J ( passwords,) S 60 J ( any) S 60 J ( account) S 60 J ( groups) S 60 J ( a) S 60 J ( given) S 60 J ( user) S 60 J ( belongs) S 60 J ( to,) S 60 J ( the) S 60 J ( access) S 60 J ( rights) S
2880 10400 P (each) S 60 J ( user) S 60 J ( is) S 60 J ( allowed,) S 60 J ( and) S 60 J ( any) S 60 J ( special) S 60 J ( privileges) S 60 J ( a) S 60 J ( given) S 60 J ( user) S 60 J ( has.) S
1920 10900 P 0 12 F 24 12 F B (SCSI) S E
2400 11220 P 0 12 F 24 12 F (Small) S 60 J ( computer) S 60 J ( standard) S 60 J ( interface) S 60 J ( \(pronunciation:) S 60 J ( "scuzzy"\)) S
2880 11540 P (NT) S 60 J ( SCSI) S 60 J ( drivers) S 60 J ( are) S 60 J ( assumed) S 60 J ( to) S 60 J ( comply) S 60 J ( with) S 60 J ( the) S 60 J ( ANSI) S 60 J ( SCSI-II) S 60 J ( standard.) S 60 J ( In) S
2880 11800 P (addition,) S 60 J ( NT) S 60 J ( supplies) S 60 J ( an) S 60 J ( OS-dependent) S 60 J ( SCSI) S 60 J ( port) S 60 J ( driver,) S 60 J ( implemented) S 60 J ( as) S 60 J ( a) S
2880 12060 P (dynamic-link) S 60 J ( library,) S 60 J ( and) S 60 J ( several) S 60 J ( device-type-specific) S 60 J ( class) S 60 J ( drivers,) S 60 J ( together) S 60 J ( with) S
2880 12320 P (system-defined) S 60 J ( interfaces) S 60 J ( to) S 60 J ( HBA-specific) S 60 J ( SCSI) S 60 J ( miniport) S 60 J ( drivers) S 60 J ( and) S 60 J ( additional) S
2880 12580 P (class) S 60 J ( drivers.) S 0 12 F
PE
1200 1220 P 10 12 F B (G-) S E B (34) S E B () S 883 J ( Kernel-mode) S 55 J ( Driver) S 55 J ( Design) S 55 J ( Guide) S E
1200 2060 P 0 12 F 24 12 F B (section) S 60 J ( object) S E
1680 2380 P 0 12 F 24 12 F (A) S 60 J ( user-mode) S 60 J ( object) S 60 J ( type,) S 60 J ( representing) S 60 J ( a) S 60 J ( memory) S 60 J ( entity) S 60 J ( that) S 60 J ( can) S 60 J ( be) S 60 J ( mapped) S 60 J ( onto) S 60 J ( a) S 60 J ( range) S
1680 2640 P (of) S 60 J ( virtual) S 60 J ( addresses) S 60 J ( in) S 60 J ( a) S 60 J ( process's) S 60 J ( address) S 60 J ( space.) S 60 J ( Note) S 60 J ( that) S 60 J ( creating) S 60 J ( or) S 60 J ( opening) S 60 J ( a) S 60 J ( section) S
1680 2900 P (object) S 60 J ( does) S 60 J ( not) S 60 J ( allocate) S 60 J ( physical) S 60 J ( memory.) S 60 J ( See) S 60 J ( also) S 60 J ( view.) S
1680 3220 P (An) S 60 J ( opened) S 60 J ( section) S 60 J ( object) S 60 J ( can) S 60 J ( be) S 60 J ( either:) S
1200 3540 P () S 544 J ( 1) S 296 J ( ) S LU (File-backed) S LE () S 60 J ( -) S 60 J ( The) S 60 J ( original) S 60 J ( entity) S 60 J ( resides) S 60 J ( as) S 60 J ( a) S 60 J ( file) S 60 J ( on) S 60 J ( a) S 60 J ( disk.) S
1200 3860 P () S 544 J ( 2) S 296 J ( ) S LU (Page-backed) S LE () S 60 J ( -) S 60 J ( The) S 60 J ( original) S 60 J ( entity) S 60 J ( resides) S 60 J ( either) S 60 J ( in) S 60 J ( a) S 60 J ( paging) S 60 J ( file) S 60 J ( controlled) S 60 J ( by) S 60 J ( the) S
2160 4120 P (Memory) S 60 J ( Manager) S 60 J ( or) S 60 J ( \(wholly) S 60 J ( or) S 60 J ( partially\)) S 60 J ( in) S 60 J ( physical) S 60 J ( memory) S 60 J ( where) S 60 J ( storage) S 60 J ( is) S
2160 4380 P (page-granular) S 60 J ( and) S 60 J ( the) S 60 J ( page) S 60 J ( size) S 60 J ( is) S 60 J ( microprocessor-dependent.) S
2160 4700 P (Unnamed) S 60 J ( sections) S 60 J ( are) S 60 J ( not) S 60 J ( sharable,) S 60 J ( but) S 60 J ( a) S 60 J ( view) S 60 J ( into) S 60 J ( an) S 60 J ( unnamed) S 60 J ( section) S 60 J ( can) S 60 J ( be) S
2160 4960 P (mapped) S 60 J ( through) S 60 J ( the) S 60 J ( creating) S 60 J ( process's) S 60 J ( handle.) S 60 J ( Named) S 60 J ( sections) S 60 J ( are) S 60 J ( shareable.) S 60 J ( All) S
2160 5220 P (sections) S 60 J ( are) S 60 J ( inheritable) S 60 J ( by) S 60 J ( child) S 60 J ( processes.) S
1200 5720 P 0 12 F 24 12 F B (security) S 60 J ( descriptor) S E
1680 6040 P 0 12 F 24 12 F (A) S 60 J ( data) S 60 J ( structure) S 60 J ( used) S 60 J ( to) S 60 J ( hold) S 60 J ( per-object) S 60 J ( security) S 60 J ( information,) S 60 J ( including) S 60 J ( the) S 60 J ( object's) S
1680 6300 P (owner,) S 60 J ( group,) S 60 J ( protection) S 60 J ( attributes,) S 60 J ( and) S 60 J ( audit) S 60 J ( information.) S 60 J ( See) S 60 J ( also) S 60 J ( ACE,) S 60 J ( ACL,) S 60 J ( SACL) S
1680 6560 P (and) S 60 J ( SID.) S
1200 7060 P 0 12 F 24 12 F B (security) S 60 J ( violation) S E
1680 7380 P 0 12 F 24 12 F (A) S 60 J ( user-mode) S 60 J ( attempt) S 60 J ( to) S 60 J ( access) S 60 J ( an) S 60 J ( object) S 60 J ( \(by) S 60 J ( passing) S 60 J ( its) S 60 J ( handle) S 60 J ( to) S 60 J ( a) S 60 J ( system) S 60 J ( service\)) S
1680 7640 P (without) S 60 J ( having) S 60 J ( the) S 60 J ( correct,) S 60 J ( granted) S 60 J ( access) S 60 J ( rights) S 60 J ( for) S 60 J ( the) S 60 J ( requested) S 60 J ( operation.) S 60 J ( See) S 60 J ( also) S
1680 7900 P (ACE) S 60 J ( and) S 60 J ( ACL.) S
2160 8220 P (Note) S 60 J ( that) S 60 J ( the) S 60 J ( Security) S 60 J ( component) S 60 J ( does) S 60 J ( not) S 60 J ( check) S 60 J ( the) S 60 J ( access) S 60 J ( rights) S 60 J ( on) S 60 J ( object) S 60 J ( handles) S
2160 8480 P (used) S 60 J ( by) S 60 J ( kernel-mode) S 60 J ( code.) S 60 J ( However,) S 60 J ( the) S 60 J ( I/O) S 60 J ( Manager) S 60 J ( and) S 60 J ( network) S 60 J ( server) S 60 J ( driver) S
2160 8740 P (can) S 60 J ( force) S 60 J ( a) S 60 J ( security) S 60 J ( access) S 60 J ( check) S 60 J ( on) S 60 J ( object) S 60 J ( handles.) S 0 12 F
PE
1920 1220 P 10 12 F B () S 3453 J ( Glossary) S 55 J ( of) S 55 J ( Terms) S 55 J ( and) S 55 J ( Acronyms) S 763 J ( G-) S E B (35) S E B () S 720 J ( ) S E
1920 2060 P 0 12 F 24 12 F B (SEH) S E
2400 2380 P 0 12 F 24 12 F (Structured) S 60 J ( exception) S 60 J ( handling) S
2880 2700 P (A) S 60 J ( feature) S 60 J ( of) S 60 J ( the) S 60 J ( NT) S 60 J ( system,) S 60 J ( which) S 60 J ( supports) S 60 J ( control) S 60 J ( transfers) S 60 J ( to) S 60 J ( exception) S 60 J ( handlers) S
2880 2960 P (when) S 60 J ( certain) S 60 J ( runtime) S 60 J ( exceptions) S 60 J ( occur.) S 60 J ( The) S 60 J ( system) S 60 J ( traps) S 60 J ( the) S 60 J ( following) S 60 J ( general) S
2880 3220 P (kinds) S 60 J ( of) S 60 J ( exceptions:) S
1920 3540 P () S 960 J ( 1) S 360 J ( Hardware-defined) S 60 J ( faults) S 60 J ( or) S 60 J ( traps,) S 60 J ( such) S 60 J ( as,) S
1920 3860 P 0 12 F 26 12 F () S 1472 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 26 12 F () S 296 J ( Access) S 60 J ( violations) S 60 J ( \(see) S 60 J ( also) S 60 J ( access) S 60 J ( violation\).) S
1920 4180 P () S 1472 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 26 12 F () S 296 J ( Data-type) S 60 J ( misalignments) S 60 J ( \(such) S 60 J ( as) S 60 J ( a) S 60 J ( 16-bit) S 60 J ( entity) S 60 J ( aligned) S 60 J ( on) S 60 J ( an) S 60 J ( odd-) S
3840 4440 P (byte) S 60 J ( boundary\).) S
1920 4760 P () S 1472 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 26 12 F () S 296 J ( Illegal) S 60 J ( and) S 60 J ( privileged) S 60 J ( instructions.) S
1920 5080 P () S 1472 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 26 12 F () S 296 J ( Invalid) S 60 J ( lock) S 60 J ( sequences) S 60 J ( \(attempting) S 60 J ( to) S 60 J ( execute) S 60 J ( an) S 60 J ( invalid) S 60 J ( sequence) S
3840 5340 P (of) S 60 J ( instructions) S 60 J ( within) S 60 J ( an) S 60 J ( interlocked) S 60 J ( section) S 60 J ( of) S 60 J ( code\).) S
1920 5660 P () S 1472 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 26 12 F () S 296 J ( Integer) S 60 J ( divides) S 60 J ( by) S 60 J ( zero) S 60 J ( and) S 60 J ( overflows.) S
1920 5980 P () S 1472 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 26 12 F () S 296 J ( Floating-point) S 60 J ( divides) S 60 J ( by) S 60 J ( zero,) S 60 J ( overflows,) S 60 J ( underflows,) S 60 J ( and) S
3840 6240 P (reserved) S 60 J ( operands.) S
1920 6560 P () S 1472 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 26 12 F () S 296 J ( Breakpoints) S 60 J ( and) S 60 J ( single) S 60 J ( steps) S 60 J ( \(to) S 60 J ( support) S 60 J ( debuggers\).) S
1920 6880 P 0 12 F 24 12 F () S 960 J ( 2) S 360 J ( System) S 60 J ( software-defined) S 60 J ( exceptions,) S 60 J ( such) S 60 J ( as,) S
1920 7200 P 0 12 F 26 12 F () S 1472 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 26 12 F () S 296 J ( Guard-page) S 60 J ( violations) S 60 J ( \(attempting) S 60 J ( to) S 60 J ( load) S 60 J ( or) S 60 J ( store) S 60 J ( data) S 60 J ( from) S 60 J ( or) S 60 J ( to) S 60 J ( a) S
3840 7460 P (location) S 60 J ( within) S 60 J ( a) S 60 J ( guard) S 60 J ( page\).) S
1920 7780 P () S 1472 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 26 12 F () S 296 J ( Page) S 60 J ( read) S 60 J ( errors) S 60 J ( \(attempting) S 60 J ( to) S 60 J ( read) S 60 J ( a) S 60 J ( page) S 60 J ( into) S 60 J ( memory) S 60 J ( and) S
3840 8040 P (encountering) S 60 J ( a) S 60 J ( concurrent) S 60 J ( I/O) S 60 J ( error\).) S
1920 8360 P () S 1472 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 26 12 F () S 296 J ( Paging) S 60 J ( file) S 60 J ( quota) S 60 J ( exceeded) S 60 J ( \(attempting) S 60 J ( to) S 60 J ( commit) S 60 J ( backing) S 60 J ( store) S 60 J ( for) S
3840 8620 P (a) S 60 J ( page) S 60 J ( currently) S 60 J ( being) S 60 J ( removed) S 60 J ( from) S 60 J ( a) S 60 J ( process's) S 60 J ( working) S 60 J ( set\).) S
2880 8940 P 0 12 F 24 12 F (NT) S 60 J ( supplies) S 60 J ( standard) S 60 J ( exception) S 60 J ( handlers) S 60 J ( for) S 60 J ( data-type) S 60 J ( alignment) S 60 J ( faults) S 60 J ( and) S 60 J ( for) S
2880 9200 P (ANSI/IEEE) S 60 J ( Std) S 60 J ( 754-1985) S 60 J ( floating-point) S 60 J ( faults.) S
2880 9520 P (Both) S 60 J ( user-mode) S 60 J ( and) S 60 J ( kernel-mode) S 60 J ( code) S 60 J ( can) S 60 J ( set) S 60 J ( up) S 60 J ( custom) S 60 J ( exception) S 60 J ( handlers) S 60 J ( using) S
2880 9780 P (the) S 60 J ( ) S 0 12 F 24 12 F B (except) S E 0 12 F 24 12 F (,) S 60 J ( ) S 0 12 F 24 12 F B (try) S E 0 12 F 24 12 F (,) S 60 J ( and) S 60 J ( ) S 0 12 F 24 12 F B (finally) S E 0 12 F 24 12 F () S 60 J ( constructs) S 60 J ( currently) S 60 J ( supplied) S 60 J ( by) S 60 J ( NT-compatible) S 60 J ( C) S
2880 10040 P (compilers) S 60 J ( and) S 60 J ( supported) S 60 J ( by) S 60 J ( NT-supplied) S 60 J ( ) S 0 12 F 24 12 F B (Rtl) S E 0 12 F 24 12 F () S 60 J ( \() S LU (R) S LE (un-) S LU (t) S LE (ime) S 60 J ( ) S LU (L) S LE (ibrary\)) S 60 J ( functions.) S 60 J ( An) S
2880 10300 P (exception) S 60 J ( handler) S 60 J ( can) S 60 J ( be) S 60 J ( associated) S 60 J ( with) S 60 J ( each) S 60 J ( call) S 60 J ( frame) S 60 J ( in) S 60 J ( the) S 60 J ( function-call) S
2880 10560 P (hierarchy) S 60 J ( of) S 60 J ( a) S 60 J ( program.) S 60 J ( A) S 60 J ( CONTEXT) S 60 J ( record) S 60 J ( contains) S 60 J ( the) S 60 J ( register) S 60 J ( state) S 60 J ( for) S 60 J ( each) S
2880 10820 P (exception) S 60 J ( handler.) S 0 12 F
PE
1200 1220 P 10 12 F B (G-) S E B (36) S E B () S 883 J ( Kernel-mode) S 55 J ( Driver) S 55 J ( Design) S 55 J ( Guide) S E
1200 2060 P 0 12 F 24 12 F B (semaphore) S 60 J ( object) S E
1680 2380 P 0 12 F 24 12 F (A) S 60 J ( user-mode) S 60 J ( semaphore) S 60 J ( gates) S 60 J ( access) S 60 J ( to) S 60 J ( resources,) S 60 J ( allowing) S 60 J ( some) S 60 J ( maximum) S 60 J ( number) S 60 J ( of) S
1680 2640 P (threads) S 60 J ( \(as) S 60 J ( specified) S 60 J ( when) S 60 J ( the) S 60 J ( semaphore) S 60 J ( object) S 60 J ( was) S 60 J ( created\)) S 60 J ( to) S 60 J ( access) S 60 J ( the) S 60 J ( resources) S
1680 2900 P (protected) S 60 J ( by) S 60 J ( the) S 60 J ( semaphore.) S
1680 3220 P (Each) S 60 J ( user-mode) S 60 J ( semaphore) S 60 J ( also) S 60 J ( has) S 60 J ( an) S 60 J ( associated) S 60 J ( current) S 60 J ( count,) S 60 J ( representing) S 60 J ( how) S 60 J ( many) S
1680 3480 P (additional) S 60 J ( threads) S 60 J ( can) S 60 J ( acquire) S 60 J ( the) S 60 J ( semaphore.) S 60 J ( When) S 60 J ( the) S 60 J ( current) S 60 J ( count) S 60 J ( is) S 60 J ( zero,) S 60 J ( a) S 60 J ( thread) S
1680 3740 P (attempting) S 60 J ( to) S 60 J ( acquire) S 60 J ( the) S 60 J ( semaphore) S 60 J ( waits) S 60 J ( \(i.e.,) S 60 J ( blocks\)) S 60 J ( until) S 60 J ( the) S 60 J ( count) S 60 J ( is) S 60 J ( incremented) S
1680 4000 P (\(another) S 60 J ( thread) S 60 J ( has) S 60 J ( released) S 60 J ( that) S 60 J ( semaphore\).) S 60 J ( Every) S 60 J ( user-mode) S 60 J ( semaphore) S 60 J ( object) S 60 J ( is) S
1680 4260 P (implemented) S 60 J ( through) S 60 J ( the) S 60 J ( use) S 60 J ( of) S 60 J ( a) S 60 J ( kernel-mode) S 60 J ( semaphore) S 60 J ( object.) S
1680 4580 P (A) S 60 J ( kernel-mode) S 60 J ( semaphore) S 60 J ( is) S 60 J ( an) S 60 J ( instance) S 60 J ( of) S 60 J ( a) S 60 J ( Kernel-defined) S 60 J ( dispatcher) S 60 J ( object) S 60 J ( type.) S 60 J ( It) S
1680 4840 P (has) S 60 J ( either) S 60 J ( of) S 60 J ( two) S 60 J ( uses:) S
1200 5160 P () S 544 J ( 1) S 296 J ( A) S 60 J ( ) S LU (counting) S 60 J ( semaphore) S LE () S 60 J ( gates) S 60 J ( access) S 60 J ( to) S 60 J ( a) S 60 J ( resource) S 60 J ( by) S 60 J ( allowing) S 60 J ( some) S 60 J ( number) S 60 J ( of) S
2160 5420 P (threads) S 60 J ( \(up) S 60 J ( to) S 60 J ( a) S 60 J ( specified) S 60 J ( limit\)) S 60 J ( to) S 60 J ( access) S 60 J ( the) S 60 J ( resource) S 60 J ( while) S 60 J ( the) S 60 J ( semaphore) S 60 J ( is) S 60 J ( set) S 60 J ( to) S
2160 5680 P (the) S 60 J ( Signaled) S 60 J ( state) S 60 J ( \(semaphore) S 60 J ( count) S 60 J ( is) S 60 J ( nonzero\).) S
1200 6000 P () S 544 J ( 2) S 296 J ( A) S 60 J ( ) S LU (binary) S 60 J ( semaphore) S LE () S 60 J ( gates) S 60 J ( access) S 60 J ( to) S 60 J ( a) S 60 J ( single) S 60 J ( resource,) S 60 J ( if) S 60 J ( and) S 60 J ( only) S 60 J ( if) S 60 J ( the) S 60 J ( limit) S 60 J ( is) S 60 J ( set) S 60 J ( to) S
2160 6260 P (1) S 60 J ( and) S 60 J ( it) S 60 J ( is) S 60 J ( not) S 60 J ( possible) S 60 J ( for) S 60 J ( the) S 60 J ( semaphore) S 60 J ( to) S 60 J ( be) S 60 J ( over-Signaled) S 60 J ( \(set) S 60 J ( to) S 60 J ( the) S 60 J ( Signaled) S
2160 6520 P (state) S 60 J ( when) S 60 J ( it) S 60 J ( is) S 60 J ( already) S 60 J ( in) S 60 J ( the) S 60 J ( Signaled) S 60 J ( state\).) S 60 J ( A) S 60 J ( binary) S 60 J ( semaphore) S 60 J ( gates) S 60 J ( exclusive) S
2160 6780 P (access) S 60 J ( to) S 60 J ( a) S 60 J ( resource.) S
2160 7100 P (However,) S 60 J ( using) S 60 J ( a) S 60 J ( semaphore) S 60 J ( with) S 60 J ( a) S 60 J ( limit) S 60 J ( of) S 60 J ( 1) S 60 J ( to) S 60 J ( gate) S 60 J ( access) S 60 J ( is) S 60 J ( ) S 0 12 F 24 12 F I (not) S E 0 12 F 24 12 F () S 60 J ( the) S 60 J ( same) S 60 J ( thing) S 60 J ( as) S
2160 7360 P (using) S 60 J ( a) S 60 J ( mutex:) S 60 J ( ) S 60 J ( semaphores) S 60 J ( have) S 60 J ( no) S 60 J ( ownership,) S 60 J ( deadlocks) S 60 J ( are) S 60 J ( possible,) S 60 J ( and) S 60 J ( the) S
2160 7620 P (owner's) S 60 J ( priority) S 60 J ( is) S 60 J ( unaffected.) S
1200 8120 P 0 12 F 24 12 F B (server) S E
1680 8440 P 0 12 F 24 12 F (\(1\)) S 60 J ( A) S 60 J ( process) S 60 J ( with) S 60 J ( one) S 60 J ( or) S 60 J ( more) S 60 J ( threads) S 60 J ( that) S 60 J ( accept) S 60 J ( requests) S 60 J ( from) S 60 J ( client) S 60 J ( processes.) S 60 J ( See) S
1680 8700 P (also) S 60 J ( client/server.) S
1680 9020 P (\(2\)) S 60 J ( An) S 60 J ( NT-supplied) S 60 J ( file) S 60 J ( system) S 60 J ( driver) S 60 J ( that) S 60 J ( provides) S 60 J ( remote) S 60 J ( access) S 60 J ( to) S 60 J ( files,) S 60 J ( named) S 60 J ( pipes,) S
1680 9280 P (comm) S 60 J ( devices,) S 60 J ( and) S 60 J ( print) S 60 J ( devices.) S 60 J ( It) S 60 J ( implements) S 60 J ( the) S 60 J ( LAN) S 60 J ( Manager) S 60 J ( 2.1) S 60 J ( SMB) S 60 J ( \(server) S
1680 9540 P (message) S 60 J ( block\)) S 60 J ( protocol,) S 60 J ( along) S 60 J ( with) S 60 J ( NT-specific) S 60 J ( extensions.) S
1200 10040 P 0 12 F 24 12 F B (Session) S 60 J ( Manager) S E
1680 10360 P 0 12 F 24 12 F (An) S 60 J ( integral) S 60 J ( subsystem) S 60 J ( that) S 60 J ( starts) S 60 J ( and) S 60 J ( keeps) S 60 J ( track) S 60 J ( of) S 60 J ( NT) S 60 J ( logon) S 60 J ( sessions) S 60 J ( and) S 60 J ( serves) S 60 J ( as) S 60 J ( an) S
1680 10620 P (intermediary) S 60 J ( between) S 60 J ( the) S 60 J ( Windows) S 60 J ( NT) S 60 J ( and) S 60 J ( other) S 60 J ( protected) S 60 J ( subsystems.) S 0 12 F
PE
1920 1220 P 10 12 F B () S 3453 J ( Glossary) S 55 J ( of) S 55 J ( Terms) S 55 J ( and) S 55 J ( Acronyms) S 763 J ( G-) S E B (37) S E B () S 720 J ( ) S E
1920 2060 P 0 12 F 24 12 F B (SFD) S E
2400 2380 P 0 12 F 24 12 F (SCSI) S 60 J ( filter) S 60 J ( driver) S
2880 2700 P (An) S 60 J ( add-on) S 60 J ( driver) S 60 J ( for) S 60 J ( a) S 60 J ( SCSI) S 60 J ( class) S 60 J ( device) S 60 J ( that) S 60 J ( is) S 60 J ( layered) S 60 J ( between) S 60 J ( the) S 60 J ( system-) S
2880 2960 P (supplied) S 60 J ( class) S 60 J ( driver) S 60 J ( and) S 60 J ( the) S 60 J ( NT) S 60 J ( SCSI) S 60 J ( port) S 60 J ( driver.) S 60 J ( An) S 60 J ( SFD) S 60 J ( intercepts) S 60 J ( requests) S 60 J ( for) S 60 J ( a) S
2880 3220 P (particular) S 60 J ( SCSI) S 60 J ( peripheral) S 60 J ( device) S 60 J ( that) S 60 J ( has) S 60 J ( special) S 60 J ( features) S 60 J ( \(not) S 60 J ( shared) S 60 J ( by) S 60 J ( other) S 60 J ( SCSI) S
2880 3480 P (devices) S 60 J ( of) S 60 J ( its) S 60 J ( class\),) S 60 J ( or) S 60 J ( that) S 60 J ( does) S 60 J ( not) S 60 J ( accept) S 60 J ( standard) S 60 J ( SCSI-II) S 60 J ( CDBs,) S 60 J ( in) S 60 J ( order) S 60 J ( to) S 60 J ( set) S
2880 3740 P (up) S 60 J ( device-specific) S 60 J ( requests.) S 60 J ( For) S 60 J ( other) S 60 J ( devices) S 60 J ( of) S 60 J ( the) S 60 J ( same) S 60 J ( class) S 60 J ( on) S 60 J ( the) S 60 J ( same) S 60 J ( bus,) S 60 J ( an) S
2880 4000 P (SFD) S 60 J ( simply) S 60 J ( passes) S 60 J ( requests) S 60 J ( sent) S 60 J ( down) S 60 J ( from) S 60 J ( the) S 60 J ( system-supplied) S 60 J ( class) S 60 J ( driver) S 60 J ( on) S 60 J ( to) S
2880 4260 P (the) S 60 J ( NT) S 60 J ( SCSI) S 60 J ( port) S 60 J ( driver.) S
1920 4760 P 0 12 F 24 12 F B (SID) S E
2400 5080 P 0 12 F 24 12 F (Security) S 60 J ( identifier) S
2880 5400 P (A) S 60 J ( value,) S 60 J ( unique) S 60 J ( across) S 60 J ( time) S 60 J ( and) S 60 J ( space,) S 60 J ( that) S 60 J ( identifies) S 60 J ( a) S 60 J ( process) S 60 J ( in) S 60 J ( the) S 60 J ( Security) S
2880 5660 P (system.) S 60 J ( SIDs) S 60 J ( can) S 60 J ( either) S 60 J ( identify) S 60 J ( an) S 60 J ( individual) S 60 J ( process,) S 60 J ( usually) S 60 J ( containing) S 60 J ( a) S 60 J ( user's) S
2880 5920 P (logon) S 60 J ( identifier,) S 60 J ( or) S 60 J ( a) S 60 J ( group) S 60 J ( of) S 60 J ( processes.) S
1920 6420 P 0 12 F 24 12 F B (Signaled) S E
2400 6740 P 0 12 F 24 12 F (An) S 60 J ( attribute) S 60 J ( of) S 60 J ( Kernel-defined) S 60 J ( dispatcher) S 60 J ( objects) S 60 J ( that) S 60 J ( support) S 60 J ( synchronization.) S 60 J ( When) S 60 J ( the) S
2400 7000 P (Kernel) S 60 J ( sets) S 60 J ( such) S 60 J ( an) S 60 J ( object) S 60 J ( to) S 60 J ( the) S 60 J ( Signaled) S 60 J ( state,) S 60 J ( any) S 60 J ( threads) S 60 J ( waiting) S 60 J ( on) S 60 J ( the) S 60 J ( object) S 60 J ( are) S
2400 7260 P (released) S 60 J ( from) S 60 J ( their) S 60 J ( wait) S 60 J ( and) S 60 J ( become) S 60 J ( elgible) S 60 J ( for) S 60 J ( execution.) S
1920 7760 P 0 12 F 24 12 F B (single-byte) S 60 J ( coding) S 60 J ( scheme) S E
2400 8080 P 0 12 F 24 12 F (A) S 60 J ( character) S 60 J ( encoding) S 60 J ( scheme,) S 60 J ( such) S 60 J ( as) S 60 J ( ASCII,) S 60 J ( that) S 60 J ( uses) S 60 J ( a) S 60 J ( byte) S 60 J ( to) S 60 J ( represent) S 60 J ( each) S 60 J ( character.) S
2400 8340 P (See) S 60 J ( also) S 60 J ( Unicode.) S
1920 8840 P 0 12 F 24 12 F B (SMP) S E
2400 9160 P 0 12 F 24 12 F (Symmetric) S 60 J ( multiprocessor) S 60 J ( machine) S
2880 9480 P (See) S 60 J ( multiprocessor) S 60 J ( machine.) S
1920 9980 P 0 12 F 24 12 F B (spin) S 60 J ( lock) S E
2400 10300 P 0 12 F 24 12 F (A) S 60 J ( spin) S 60 J ( lock) S 60 J ( is) S 60 J ( a) S 60 J ( low-level,) S 60 J ( synchronization) S 60 J ( mechanism) S 60 J ( defined) S 60 J ( by) S 60 J ( the) S 60 J ( NT) S 60 J ( Kernel.) S 60 J ( A) S
2400 10560 P (driver) S 60 J ( or) S 60 J ( any) S 60 J ( other) S 60 J ( kernel-mode) S 60 J ( component) S 60 J ( can) S 60 J ( use) S 60 J ( a) S 60 J ( spin) S 60 J ( lock) S 60 J ( to) S 60 J ( synchronize) S 60 J ( access) S 60 J ( to) S 60 J ( a) S
2400 10820 P (shared) S 60 J ( resource,) S 60 J ( particularly) S 60 J ( in) S 60 J ( a) S 60 J ( multiprocessor) S 60 J ( machine.) S
2400 11140 P (When) S 60 J ( one) S 60 J ( routine) S 60 J ( holds) S 60 J ( a) S 60 J ( particular) S 60 J ( spin) S 60 J ( lock,) S 60 J ( a) S 60 J ( second) S 60 J ( routine) S 60 J ( running) S 60 J ( on) S 60 J ( another) S
2400 11400 P (processor) S 60 J ( cannot) S 60 J ( access) S 60 J ( the) S 60 J ( resource) S 60 J ( protected) S 60 J ( by) S 60 J ( that) S 60 J ( spin) S 60 J ( lock) S 60 J ( until) S 60 J ( it) S 60 J ( acquires) S 60 J ( the) S 60 J ( lock.) S
2400 11660 P (While) S 60 J ( a) S 60 J ( routine) S 60 J ( attempts) S 60 J ( to) S 60 J ( acquire) S 60 J ( a) S 60 J ( spin) S 60 J ( lock,) S 60 J ( it) S 60 J ( cannot) S 60 J ( carry) S 60 J ( out) S 60 J ( other) S 60 J ( operations) S 60 J ( \(it) S
2400 11920 P 0 12 F 24 12 F I (spins) S E 0 12 F 24 12 F (\)) S 60 J ( until) S 60 J ( the) S 60 J ( lock) S 60 J ( has) S 60 J ( been) S 60 J ( acquired.) S
2400 12240 P (Note) S 60 J ( that) S 60 J ( operations) S 60 J ( involving) S 60 J ( system-defined) S 60 J ( spin) S 60 J ( locks) S 60 J ( are) S 60 J ( IRQL-specific) S 60 J ( to) S 60 J ( help) S
2400 12500 P (prevent) S 60 J ( deadlocks:) S 60 J ( an) S 60 J ( ) S LU (interrupt) S 60 J ( spin) S 60 J ( lock) S LE () S 60 J ( can) S 60 J ( only) S 60 J ( be) S 60 J ( acquired) S 60 J ( while) S 60 J ( executing) S 60 J ( at) S 60 J ( a) S
2400 12760 P (DIRQL) S 60 J ( of) S 60 J ( the) S 60 J ( associated) S 60 J ( interrupt) S 60 J ( object;) S 60 J ( an) S 60 J ( ) S LU (executive) S 60 J ( spin) S 60 J ( lock) S LE () S 60 J ( can) S 60 J ( only) S 60 J ( be) S 60 J ( acquired) S
2400 13020 P (while) S 60 J ( executing) S 60 J ( at) S 60 J ( DISPATCH_LEVEL) S 60 J ( IRQL.) S 0 12 F
PE
1200 1220 P 10 12 F B (G-) S E B (38) S E B () S 883 J ( Kernel-mode) S 55 J ( Driver) S 55 J ( Design) S 55 J ( Guide) S E
1200 2060 P 0 12 F 24 12 F B (SRB) S E
1680 2380 P 0 12 F 24 12 F (SCSI) S 60 J ( request) S 60 J ( block) S
2160 2700 P (An) S 60 J ( NT-defined) S 60 J ( structure,) S 60 J ( used) S 60 J ( to) S 60 J ( communicate) S 60 J ( I/O) S 60 J ( requests) S 60 J ( from) S 60 J ( a) S 60 J ( SCSI) S 60 J ( class) S
2160 2960 P (driver) S 60 J ( to) S 60 J ( the) S 60 J ( NT-dependent) S 60 J ( port) S 60 J ( driver,) S 60 J ( which) S 60 J ( relays) S 60 J ( such) S 60 J ( request) S 60 J ( to) S 60 J ( appropriate) S
2160 3220 P (HBA-specific) S 60 J ( miniport) S 60 J ( drivers.) S
1200 3720 P 0 12 F 24 12 F B (stream) S 60 J ( file) S 60 J ( object) S E
2160 4040 P 0 12 F 24 12 F (A) S 60 J ( virtual) S 60 J ( file) S 60 J ( representing) S 60 J ( on-disk) S 60 J ( data) S 60 J ( associated) S 60 J ( with) S 60 J ( a) S 60 J ( file,) S 60 J ( some) S 60 J ( of) S 60 J ( which) S 60 J ( might) S
2160 4300 P (not) S 60 J ( be) S 60 J ( part) S 60 J ( of) S 60 J ( the) S 60 J ( physical) S 60 J ( file) S 60 J ( that) S 60 J ( backs) S 60 J ( a) S 60 J ( file) S 60 J ( object.) S 60 J ( For) S 60 J ( example,) S 60 J ( a) S 60 J ( stream) S 60 J ( file) S
2160 4560 P (object) S 60 J ( makes) S 60 J ( it) S 60 J ( possible) S 60 J ( to) S 60 J ( cache) S 60 J ( the) S 60 J ( EAs) S 60 J ( or) S 60 J ( ACL) S 60 J ( for) S 60 J ( a) S 60 J ( file) S 60 J ( object) S 60 J ( together) S 60 J ( with) S 60 J ( the) S
2160 4820 P (file's) S 60 J ( data.) S 60 J ( See) S 60 J ( also) S 60 J ( volume) S 60 J ( file.) S
1200 5320 P 0 12 F 24 12 F B (stripe) S 60 J ( driver) S E
2160 5640 P 0 12 F 24 12 F (\(a.k.a.) S 60 J ( "striper"\)) S
2160 5960 P (An) S 60 J ( intermediate) S 60 J ( driver) S 60 J ( whose) S 60 J ( job) S 60 J ( is) S 60 J ( to) S 60 J ( get) S 60 J ( better) S 60 J ( performance) S 60 J ( for) S 60 J ( file) S 60 J ( accesses) S 60 J ( than) S
2160 6220 P (the) S 60 J ( underlying) S 60 J ( disk) S 60 J ( driver) S 60 J ( can.) S 60 J ( A) S 60 J ( stripe) S 60 J ( driver) S 60 J ( is) S 60 J ( layered) S 60 J ( between) S 60 J ( the) S 60 J ( FSD) S 60 J ( and) S 60 J ( a) S 60 J ( disk) S
2160 6480 P (device) S 60 J ( driver) S 60 J ( \(or) S 60 J ( between) S 60 J ( a) S 60 J ( mirror) S 60 J ( driver) S 60 J ( and) S 60 J ( the) S 60 J ( disk) S 60 J ( driver\).) S 60 J ( It) S 60 J ( distributes) S 60 J ( pieces) S 60 J ( of) S
2160 6740 P (each) S 60 J ( file) S 60 J ( over) S 60 J ( a) S 60 J ( set) S 60 J ( of) S 60 J ( partitions) S 60 J ( concurrently,) S 60 J ( thereby) S 60 J ( cutting) S 60 J ( down) S 60 J ( on) S 60 J ( synchronous) S
2160 7000 P (read/write) S 60 J ( time) S 60 J ( for) S 60 J ( the) S 60 J ( file.) S
1200 7500 P 0 12 F 24 12 F B (subject) S E
1680 7820 P 0 12 F 24 12 F (The) S 60 J ( combination) S 60 J ( of) S 60 J ( a) S 60 J ( \(security\)) S 60 J ( token) S 60 J ( and) S 60 J ( of) S 60 J ( an) S 60 J ( associated) S 60 J ( program) S 60 J ( that) S 60 J ( may) S 60 J ( use) S 60 J ( system) S
1680 8080 P (services.) S 60 J ( See) S 60 J ( also) S 60 J ( token.) S
1200 8580 P 0 12 F 24 12 F B (symbolic) S 60 J ( link) S E
1680 8900 P 0 12 F 24 12 F (\(1\)) S 60 J ( An) S 60 J ( instance) S 60 J ( of) S 60 J ( the) S 60 J ( symbolic) S 60 J ( link) S 60 J ( object) S 60 J ( type,) S 60 J ( representing) S 60 J ( a) S 60 J ( "soft) S 60 J ( alias") S 60 J ( that) S 60 J ( equates) S
1680 9160 P (one) S 60 J ( name) S 60 J ( to) S 60 J ( another) S 60 J ( within) S 60 J ( the) S 60 J ( NT) S 60 J ( Object) S 60 J ( Manager's) S 60 J ( name) S 60 J ( space.) S
1680 9480 P (\(2\)) S 60 J ( A) S 60 J ( file) S 60 J ( object) S 60 J ( with) S 60 J ( special) S 60 J ( properties.) S 60 J ( A) S 60 J ( symbolic) S 60 J ( link) S 60 J ( file) S 60 J ( is) S 60 J ( recognized) S 60 J ( as) S 60 J ( having) S 60 J ( the) S
1680 9740 P (following) S 60 J ( three) S 60 J ( attributes:) S
1200 10060 P () S 544 J ( 1) S 296 J ( Its) S 60 J ( FILE_ATTRIBUTE_CONTROL) S 60 J ( bit) S 60 J ( is) S 60 J ( set.) S
1200 10380 P () S 544 J ( 2) S 296 J ( It) S 60 J ( has) S 60 J ( an) S 60 J ( EA) S 60 J ( whose) S 60 J ( name) S 60 J ( is) S 60 J ( .FAMILY_IDs) S 60 J ( and) S 60 J ( whose) S 60 J ( 128-bit) S 60 J ( binary) S 60 J ( value) S 60 J ( is) S 60 J ( 42) S
2160 10640 P (\(decimal\).) S
1200 10960 P () S 544 J ( 3) S 296 J ( It) S 60 J ( has) S 60 J ( an) S 60 J ( EA) S 60 J ( whose) S 60 J ( name) S 60 J ( is) S 60 J ( .SYMBOLIC_LINK_VALUE) S 60 J ( and) S 60 J ( whose) S 60 J ( value) S 60 J ( is) S 60 J ( the) S
2160 11220 P (fully) S 60 J ( qualified) S 60 J ( pathname) S 60 J ( of) S 60 J ( the) S 60 J ( target) S 60 J ( file.) S
1680 11540 P (When) S 60 J ( a) S 60 J ( special) S 60 J ( file) S 60 J ( of) S 60 J ( this) S 60 J ( type) S 60 J ( is) S 60 J ( encountered) S 60 J ( as) S 60 J ( a) S 60 J ( component) S 60 J ( of) S 60 J ( a) S 60 J ( pathname,) S 60 J ( rather) S 60 J ( than) S
1680 11800 P (opening) S 60 J ( the) S 60 J ( file) S 60 J ( itself,) S 60 J ( the) S 60 J ( file) S 60 J ( system) S 60 J ( is) S 60 J ( redirected) S 60 J ( to) S 60 J ( the) S 60 J ( target) S 60 J ( file.) S
2160 12120 P (Note) S 60 J ( that) S 60 J ( the) S 60 J ( I/O) S 60 J ( Manager) S 60 J ( does) S 60 J ( not) S 60 J ( actually) S 60 J ( use) S 60 J ( a) S 60 J ( symbolic) S 60 J ( link) S 60 J ( object) S 60 J ( to) S 60 J ( implement) S
2160 12380 P (symbolic) S 60 J ( link) S 60 J ( files;) S 60 J ( it) S 60 J ( uses) S 60 J ( a) S 60 J ( file) S 60 J ( object.) S 0 12 F
PE
1920 1220 P 10 12 F B () S 3453 J ( Glossary) S 55 J ( of) S 55 J ( Terms) S 55 J ( and) S 55 J ( Acronyms) S 763 J ( G-) S E B (39) S E B () S 720 J ( ) S E
1920 2060 P 0 12 F 24 12 F B (symbolic) S 60 J ( link) S 60 J ( object) S E
2400 2380 P 0 12 F 24 12 F (An) S 60 J ( instance) S 60 J ( of) S 60 J ( a) S 60 J ( type) S 60 J ( defined) S 60 J ( by) S 60 J ( the) S 60 J ( Object) S 60 J ( Manager,) S 60 J ( used) S 60 J ( to) S 60 J ( translate) S 60 J ( a) S 60 J ( reference) S 60 J ( to) S 60 J ( one) S
2400 2640 P (named) S 60 J ( object) S 60 J ( into) S 60 J ( a) S 60 J ( different) S 60 J ( name.) S
1920 3140 P 0 12 F 24 12 F B (system) S 60 J ( services) S E
2400 3460 P 0 12 F 24 12 F (The) S 60 J ( set) S 60 J ( of) S 60 J ( native,) S 60 J ( user-mode) S 60 J ( routines) S 60 J ( exported) S 60 J ( by) S 60 J ( the) S 60 J ( NT) S 60 J ( executive.) S 60 J ( Each) S 60 J ( system) S 60 J ( service) S
2400 3720 P (has) S 60 J ( a) S 60 J ( name) S 60 J ( of) S 60 J ( the) S 60 J ( form) S 60 J ( ) S 0 12 F 24 12 F I (TwoLettersXxxYyy) S E 0 12 F 24 12 F () S 60 J ( where:) S
1920 4040 P () S 512 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 296 J ( ) S 0 12 F 24 12 F I (TwoLetters) S E 0 12 F 24 12 F () S 60 J ( is) S 60 J ( the) S 60 J ( prefix) S 60 J ( for) S 60 J ( all) S 60 J ( system) S 60 J ( services.) S
1920 4360 P () S 512 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 296 J ( ) S 0 12 F 24 12 F I (Xxx) S E 0 12 F 24 12 F () S 60 J ( is) S 60 J ( usually) S 60 J ( a) S 60 J ( verb,) S 60 J ( describing) S 60 J ( the) S 60 J ( operation) S 60 J ( of) S 60 J ( a) S 60 J ( given) S 60 J ( service.) S
1920 4680 P () S 512 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 296 J ( ) S 0 12 F 24 12 F I (Yyy) S E 0 12 F 24 12 F () S 60 J ( is) S 60 J ( generally) S 60 J ( the) S 60 J ( object) S 60 J ( type) S 60 J ( the) S 60 J ( service) S 60 J ( operates) S 60 J ( on.) S
1920 5180 P 0 12 F 24 12 F B (system) S 60 J ( space) S E
2400 5500 P 0 12 F 24 12 F (See) S 60 J ( kernel) S 60 J ( space.) S
1920 6000 P 0 12 F 24 12 F B (system) S 60 J ( worker) S 60 J ( threads) S E
2400 6320 P 0 12 F 24 12 F (A) S 60 J ( set) S 60 J ( of) S 60 J ( kernel-mode) S 60 J ( threads) S 60 J ( provided) S 60 J ( by) S 60 J ( the) S 60 J ( NT) S 60 J ( Executive) S 60 J ( Support) S 60 J ( component) S 60 J ( that) S 60 J ( NT) S
2400 6580 P (drivers,) S 60 J ( particularly) S 60 J ( FSDs,) S 60 J ( use) S 60 J ( to) S 60 J ( get) S 60 J ( work) S 60 J ( done) S 60 J ( within) S 60 J ( a) S 60 J ( nonarbitrary) S 60 J ( thread) S 60 J ( context.) S
2400 6840 P (Such) S 60 J ( a) S 60 J ( driver) S 60 J ( sets) S 60 J ( up) S 60 J ( a) S 60 J ( work) S 60 J ( queue) S 60 J ( item) S 60 J ( with) S 60 J ( a) S 60 J ( driver-supplied) S 60 J ( callback) S 60 J ( routine) S 60 J ( that) S 60 J ( is) S
2400 7100 P (queued) S 60 J ( to) S 60 J ( be) S 60 J ( run) S 60 J ( when) S 60 J ( a) S 60 J ( system) S 60 J ( worker) S 60 J ( thread) S 60 J ( is) S 60 J ( dispatched) S 60 J ( for) S 60 J ( execution) S 60 J ( by) S 60 J ( the) S 60 J ( Kernel.) S
2400 7360 P (See) S 60 J ( also) S 60 J ( FSP) S 60 J ( and) S 60 J ( thread) S 60 J ( object.) S
1920 7860 P 0 12 F 24 12 F B (TB) S E
2400 8180 P 0 12 F 24 12 F (Translation) S 60 J ( buffer) S
2880 8500 P (See) S 60 J ( TLB.) S
1920 9000 P 0 12 F 24 12 F B (TEB) S E
2400 9320 P 0 12 F 24 12 F (Thread) S 60 J ( environment) S 60 J ( block) S 0 12 F
PE
1200 1220 P 10 12 F B (G-) S E B (40) S E B () S 883 J ( Kernel-mode) S 55 J ( Driver) S 55 J ( Design) S 55 J ( Guide) S E
1200 2060 P 0 12 F 24 12 F B (thread) S 60 J ( object) S E
1680 2380 P 0 12 F 24 12 F (A) S 60 J ( user-mode) S 60 J ( thread) S 60 J ( object) S 60 J ( represents) S 60 J ( a) S 60 J ( path) S 60 J ( of) S 60 J ( execution) S 60 J ( within) S 60 J ( the) S 60 J ( current) S 60 J ( process.) S
1680 2640 P (Every) S 60 J ( user-mode) S 60 J ( thread) S 60 J ( object) S 60 J ( is) S 60 J ( implemented) S 60 J ( through) S 60 J ( the) S 60 J ( use) S 60 J ( of) S 60 J ( an) S 60 J ( embedded) S 60 J ( kernel-) S
1680 2900 P (mode) S 60 J ( thread) S 60 J ( object.) S
1680 3220 P (A) S 60 J ( kernel-mode) S 60 J ( thread) S 60 J ( is) S 60 J ( an) S 60 J ( instance) S 60 J ( of) S 60 J ( a) S 60 J ( Kernel-defined) S 60 J ( dispatcher) S 60 J ( object) S 60 J ( type.) S 60 J ( It) S 60 J ( is) S 60 J ( the) S
1680 3480 P (basic) S 60 J ( schedulable) S 60 J ( entity) S 60 J ( in) S 60 J ( the) S 60 J ( NT) S 60 J ( system.) S
1680 3800 P (A) S 60 J ( thread) S 60 J ( object:) S
1200 4120 P () S 512 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 296 J ( Is) S 60 J ( dispatched) S 60 J ( for) S 60 J ( execution) S 60 J ( by) S 60 J ( the) S 60 J ( Kernel.) S
1200 4440 P () S 512 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 296 J ( Has) S 60 J ( the) S 60 J ( following) S 60 J ( properties) S 60 J ( at) S 60 J ( any) S 60 J ( given) S 60 J ( moment:) S
1200 4760 P () S 960 J ( 1) S 360 J ( Dispatch) S 60 J ( state) S
1200 5080 P () S 960 J ( 2) S 360 J ( Priority) S
1200 5400 P () S 960 J ( 3) S 360 J ( Context) S
1200 5720 P () S 960 J ( 4) S 360 J ( Execution) S 60 J ( mode) S 60 J ( \(kernel) S 60 J ( or) S 60 J ( user\)) S
1200 6040 P () S 960 J ( 5) S 360 J ( Affinity) S
1200 6360 P () S 512 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 296 J ( Is) S 60 J ( "owned) S 60 J ( by") S 60 J ( a) S 60 J ( process) S 60 J ( object) S 60 J ( but) S 60 J ( can) S 60 J ( attach) S 60 J ( itself) S 60 J ( to) S 60 J ( another) S 60 J ( process's) S 60 J ( address) S
2160 6620 P (space.) S
1680 6940 P (Note) S 60 J ( that) S 60 J ( most) S 60 J ( NT) S 60 J ( drivers) S 60 J ( usually) S 60 J ( execute) S 60 J ( in) S 60 J ( the) S 60 J ( context) S 60 J ( of) S 60 J ( the) S 60 J ( currently) S 60 J ( running) S 60 J ( thread,) S
1680 7200 P (that) S 60 J ( is,) S 60 J ( in) S 60 J ( an) S 60 J ( arbitrary) S 60 J ( thread) S 60 J ( context.) S 60 J ( While) S 60 J ( an) S 60 J ( NT) S 60 J ( file) S 60 J ( system) S 60 J ( driver) S 60 J ( can) S 60 J ( create) S 60 J ( an) S
1680 7460 P (independent) S 60 J ( process) S 60 J ( for) S 60 J ( its) S 60 J ( own) S 60 J ( device-dedicated) S 60 J ( threads,) S 60 J ( FSDs) S 60 J ( usually) S 60 J ( avoid) S 60 J ( setting) S 60 J ( up) S
1680 7720 P (a) S 60 J ( driver-created) S 60 J ( process) S 60 J ( in) S 60 J ( order) S 60 J ( to) S 60 J ( conserve) S 60 J ( system) S 60 J ( memory.) S 60 J ( FSDs) S 60 J ( \(and) S 60 J ( other) S 60 J ( NT) S
1680 7980 P (drivers\)) S 60 J ( can) S 60 J ( set) S 60 J ( up) S 60 J ( device-dedicated) S 60 J ( \(system-process\)) S 60 J ( threads) S 60 J ( and/or) S 60 J ( FSDs) S 60 J ( can) S 60 J ( use) S
1680 8240 P (system) S 60 J ( worker) S 60 J ( threads) S 60 J ( if) S 60 J ( they) S 60 J ( need) S 60 J ( a) S 60 J ( driver-specific) S 60 J ( thread) S 60 J ( context) S 60 J ( in) S 60 J ( which) S 60 J ( to) S 60 J ( execute.) S
1680 8500 P (NT) S 60 J ( drivers) S 60 J ( use) S 60 J ( kernel-mode) S 60 J ( ) S 0 12 F 24 12 F B (Ps) S E 0 12 F 24 12 F () S 60 J ( \() S LU (P) S LE (rocess) S 60 J ( ) S LU (S) S LE (tructure\)) S 60 J ( functions) S 60 J ( to) S 60 J ( create) S 60 J ( processes) S 60 J ( and/or) S
1680 8760 P (device-dedicated) S 60 J ( threads,) S 60 J ( ) S 0 12 F 24 12 F I (not) S E 0 12 F 24 12 F () S 60 J ( the) S 60 J ( ) S 0 12 F 24 12 F B (Ke) S E 0 12 F 24 12 F (\(rnel\)) S 60 J ( thread) S 60 J ( functions.) S 60 J ( FSDs) S 60 J ( call) S 60 J ( routines) S 60 J ( supplied) S
1680 9020 P (by) S 60 J ( the) S 60 J ( NT) S 60 J ( ) S 0 12 F 24 12 F B (Ex) S E 0 12 F 24 12 F (ecutive) S 60 J ( Support) S 60 J ( component) S 60 J ( to) S 60 J ( use) S 60 J ( system) S 60 J ( worker) S 60 J ( threads.) S
1200 9520 P 0 12 F 24 12 F B (TID) S E
1680 9840 P 0 12 F 24 12 F (Target) S 60 J ( identifier) S
2160 10160 P (One) S 60 J ( of) S 60 J ( up) S 60 J ( to) S 60 J ( eight) S 60 J ( target) S 60 J ( controllers) S 60 J ( on) S 60 J ( a) S 60 J ( SCSI-II) S 60 J ( bus) S 60 J ( through) S 60 J ( which) S 60 J ( peripheral) S
2160 10420 P (devices) S 60 J ( are) S 60 J ( addressable,) S 60 J ( either) S 60 J ( as) S 60 J ( numbered) S 60 J ( TIDs) S 60 J ( or) S 60 J ( as) S 60 J ( logical) S 60 J ( units) S 60 J ( \(LUs\)) S
2160 10680 P (subordinate) S 60 J ( to) S 60 J ( a) S 60 J ( particular) S 60 J ( TID.) S 0 12 F
PE
1920 1220 P 10 12 F B () S 3453 J ( Glossary) S 55 J ( of) S 55 J ( Terms) S 55 J ( and) S 55 J ( Acronyms) S 763 J ( G-) S E B (41) S E B () S 720 J ( ) S E
1920 2060 P 0 12 F 24 12 F B (timer) S 60 J ( object) S E
2400 2380 P 0 12 F 24 12 F (A) S 60 J ( timer) S 60 J ( object) S 60 J ( is) S 60 J ( an) S 60 J ( instance) S 60 J ( of) S 60 J ( a) S 60 J ( Kernel-defined) S 60 J ( dispatcher) S 60 J ( object) S 60 J ( type.) S 60 J ( User-mode) S 60 J ( timer) S
2400 2640 P (objects) S 60 J ( can) S 60 J ( be) S 60 J ( used) S 60 J ( to) S 60 J ( synchronize) S 60 J ( the) S 60 J ( execution) S 60 J ( of) S 60 J ( specific) S 60 J ( actions,) S 60 J ( optionally) S 60 J ( an) S 60 J ( APC,) S
2400 2900 P (with) S 60 J ( time.) S 60 J ( Kernel-mode) S 60 J ( timer) S 60 J ( objects) S 60 J ( are) S 60 J ( used) S 60 J ( to) S 60 J ( synchronize) S 60 J ( the) S 60 J ( execution) S 60 J ( of) S 60 J ( specific) S
2400 3160 P (actions,) S 60 J ( in) S 60 J ( particular) S 60 J ( a) S 60 J ( DPC,) S 60 J ( with) S 60 J ( time.) S
2880 3480 P (When) S 60 J ( set) S 60 J ( to) S 60 J ( a) S 60 J ( specified) S 60 J ( interval:) S
1920 3800 P () S 928 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 360 J ( The) S 60 J ( timer's) S 60 J ( state) S 60 J ( is) S 60 J ( reset) S 60 J ( to) S 60 J ( Not-Signaled.) S
1920 4120 P () S 928 J ( ) S 0 12 F 60 10 F B (n) S E 0 12 F 24 12 F () S 360 J ( The) S 60 J ( timer) S 60 J ( is) S 60 J ( placed) S 60 J ( in) S 60 J ( a) S 60 J ( queue) S 60 J ( that) S 60 J ( is) S 60 J ( ordered) S 60 J ( according) S 60 J ( to) S 60 J ( expiration) S 60 J ( time.) S
2880 4440 P (Any) S 60 J ( thread) S 60 J ( that) S 60 J ( waits) S 60 J ( on) S 60 J ( the) S 60 J ( timer) S 60 J ( is) S 60 J ( suspended) S 60 J ( until) S 60 J ( the) S 60 J ( timer) S 60 J ( is) S 60 J ( set) S 60 J ( to) S 60 J ( the) S 60 J ( Signaled) S
2880 4700 P (state) S 60 J ( when) S 60 J ( its) S 60 J ( interval) S 60 J ( expires.) S
2880 5020 P (Expiration) S 60 J ( of) S 60 J ( the) S 60 J ( specified) S 60 J ( interval) S 60 J ( does) S 60 J ( not) S 60 J ( determine) S 60 J ( the) S 60 J ( end) S 60 J ( of) S 60 J ( a) S 60 J ( wait;) S 60 J ( the) S
2880 5280 P (Signaled) S 60 J ( state) S 60 J ( does.) S 60 J ( Then,) S 60 J ( the) S 60 J ( Kernel) S 60 J ( attempts) S 60 J ( to) S 60 J ( satisfy) S 60 J ( as) S 60 J ( many) S 60 J ( waiters) S 60 J ( as) S
2880 5540 P (possible.) S
2400 5860 P (The) S 60 J ( I/O) S 60 J ( Manager) S 60 J ( also) S 60 J ( supplies) S 60 J ( timer) S 60 J ( functions) S 60 J ( for) S 60 J ( drivers) S 60 J ( to) S 60 J ( use.) S
1920 6360 P 0 12 F 24 12 F B (TLB) S E
2400 6680 P 0 12 F 24 12 F (Translation) S 60 J ( lookaside) S 60 J ( buffer) S
2880 7000 P (\(Not) S 60 J ( directly) S 60 J ( accessible) S 60 J ( by) S 60 J ( system) S 60 J ( software) S 60 J ( for) S 60 J ( the) S 60 J ( i386;) S 60 J ( otherwise,) S 60 J ( an) S 60 J ( on-chip) S
2880 7260 P (virtual-to-page) S 60 J ( address) S 60 J ( translation) S 60 J ( cache) S 60 J ( for) S 60 J ( the) S 60 J ( i486) S 60 J ( and) S 60 J ( MIPS) S 60 J ( microprocessors.\)) S
1920 7760 P 0 12 F 24 12 F B (toaster) S 60 J ( device) S E
2400 8080 P 0 12 F 24 12 F (slang:) S 60 J ( A) S 60 J ( SCSI) S 60 J ( peripheral) S 60 J ( device) S 60 J ( of) S 60 J ( an) S 60 J ( unknown) S 60 J ( class.) S
1920 8580 P 0 12 F 24 12 F B (token) S 60 J ( object) S E
2400 8900 P 0 12 F 24 12 F (A) S 60 J ( security) S 60 J ( object) S 60 J ( type,) S 60 J ( representing) S 60 J ( an) S 60 J ( authenticated) S 60 J ( user) S 60 J ( process.) S 60 J ( Every) S 60 J ( process) S 60 J ( has) S 60 J ( an) S
2400 9160 P (assigned) S 60 J ( token,) S 60 J ( which) S 60 J ( becomes) S 60 J ( the) S 60 J ( default) S 60 J ( token) S 60 J ( for) S 60 J ( each) S 60 J ( of) S 60 J ( that) S 60 J ( process's) S 60 J ( threads.) S
2400 9420 P (However,) S 60 J ( an) S 60 J ( individual) S 60 J ( thread) S 60 J ( can) S 60 J ( be) S 60 J ( assigned) S 60 J ( a) S 60 J ( token) S 60 J ( that) S 60 J ( overrides) S 60 J ( this) S 60 J ( default.) S
1920 9920 P 0 12 F 24 12 F B (trap) S 60 J ( handler) S E
2400 10240 P 0 12 F 24 12 F (A) S 60 J ( body) S 60 J ( of) S 60 J ( code) S 60 J ( in) S 60 J ( the) S 60 J ( Kernel) S 60 J ( to) S 60 J ( which) S 60 J ( the) S 60 J ( processor) S 60 J ( transfers) S 60 J ( control) S 60 J ( when) S 60 J ( an) S 60 J ( interrupt) S
2400 10500 P (or) S 60 J ( exception) S 60 J ( occurs.) S 60 J ( The) S 60 J ( trap) S 60 J ( handler) S 60 J ( determines) S 60 J ( the) S 60 J ( type) S 60 J ( of) S 60 J ( condition) S 60 J ( that) S 60 J ( caused) S 60 J ( the) S
2400 10760 P (interrupt) S 60 J ( or) S 60 J ( exception) S 60 J ( and) S 60 J ( transfers) S 60 J ( control) S 60 J ( to) S 60 J ( an) S 60 J ( ISR) S 60 J ( or) S 60 J ( exception) S 60 J ( handler.) S
1920 11260 P 0 12 F 24 12 F B (Unicode) S E
2400 11580 P 0 12 F 24 12 F (A) S 60 J ( fixed-width,) S 60 J ( 16-bit) S 60 J ( character) S 60 J ( encoding) S 60 J ( standard) S 60 J ( that) S 60 J ( NT) S 60 J ( uses) S 60 J ( to) S 60 J ( provide) S 60 J ( NLS) S 60 J ( support) S
2400 11840 P (for) S 60 J ( locale-specific) S 60 J ( natural) S 60 J ( languages.) S 60 J ( See) S 60 J ( also) S 60 J ( NLS.) S 0 12 F
PE
1200 1220 P 10 12 F B (G-) S E B (42) S E B () S 883 J ( Kernel-mode) S 55 J ( Driver) S 55 J ( Design) S 55 J ( Guide) S E
1200 2060 P 0 12 F 24 12 F B (user) S 60 J ( mode) S E
1680 2380 P 0 12 F 24 12 F (The) S 60 J ( nonprivileged) S 60 J ( processor) S 60 J ( mode) S 60 J ( in) S 60 J ( which) S 60 J ( application) S 60 J ( code,) S 60 J ( including) S 60 J ( protected) S
1680 2640 P (subsystem) S 60 J ( code,) S 60 J ( executes.) S 60 J ( User-mode) S 60 J ( threads) S 60 J ( can) S 60 J ( only) S 60 J ( gain) S 60 J ( access) S 60 J ( to) S 60 J ( system) S 60 J ( data) S 60 J ( by) S
1680 2900 P (calling) S 60 J ( system) S 60 J ( services.) S 60 J ( See) S 60 J ( also) S 60 J ( kernel) S 60 J ( mode.) S
1200 3400 P 0 12 F 24 12 F B (valid) S 60 J ( page) S E
1680 3720 P 0 12 F 24 12 F (A) S 60 J ( virtual) S 60 J ( page) S 60 J ( that) S 60 J ( is) S 60 J ( currently) S 60 J ( in) S 60 J ( physical) S 60 J ( memory.) S 60 J ( See) S 60 J ( also) S 60 J ( invalid) S 60 J ( page.) S
1200 4220 P 0 12 F 24 12 F B (user) S 60 J ( space) S E
1680 4540 P 0 12 F 24 12 F (A) S 60 J ( block) S 60 J ( of) S 60 J ( virtual) S 60 J ( memory,) S 60 J ( dedicated) S 60 J ( to) S 60 J ( the) S 60 J ( use) S 60 J ( of) S 60 J ( the) S 60 J ( current) S 60 J ( user-mode) S 60 J ( process.) S
1680 4800 P (Generally,) S 60 J ( the) S 60 J ( NT) S 60 J ( user) S 60 J ( space) S 60 J ( is) S 60 J ( a) S 60 J ( range) S 60 J ( of) S 60 J ( low-order) S 60 J ( virtual) S 60 J ( addresses) S 60 J ( around) S 60 J ( two) S
1680 5060 P (gigabytes) S 60 J ( in) S 60 J ( size.) S 60 J ( See) S 60 J ( also) S 60 J ( hyperspace,) S 60 J ( kernel) S 60 J ( space,) S 60 J ( section) S 60 J ( object,) S 60 J ( and) S 60 J ( view.) S
1200 5560 P 0 12 F 24 12 F B (VBN) S E
1680 5880 P 0 12 F 24 12 F (Virtual) S 60 J ( block) S 60 J ( number) S
2160 6200 P (A) S 60 J ( virtual) S 60 J ( block) S 60 J ( number) S 60 J ( identifies) S 60 J ( a) S 60 J ( block) S 60 J ( \(a.k.a.) S 60 J ( "sector"\)) S 60 J ( relative) S 60 J ( to) S 60 J ( the) S 60 J ( start) S 60 J ( of) S 60 J ( a) S
2160 6460 P (file.) S 60 J ( For) S 60 J ( a) S 60 J ( file) S 60 J ( with) S 60 J ( N) S 60 J ( blocks) S 60 J ( of) S 60 J ( data,) S 60 J ( the) S 60 J ( corresponding) S 60 J ( VBNs) S 60 J ( are) S 60 J ( 0) S 60 J ( through) S 60 J ( \(N) S 60 J ( -) S 60 J ( 1\).) S
1200 6960 P 0 12 F 24 12 F B (VCB) S E
1680 7280 P 0 12 F 24 12 F (Volume) S 60 J ( control) S 60 J ( block) S
2160 7600 P (An) S 60 J ( internal) S 60 J ( NT) S 60 J ( file) S 60 J ( system) S 60 J ( structure) S 60 J ( in) S 60 J ( which) S 60 J ( a) S 60 J ( file) S 60 J ( system) S 60 J ( maintains) S 60 J ( state) S 60 J ( about) S 60 J ( a) S
2160 7860 P (mounted) S 60 J ( volume.) S
1200 8360 P 0 12 F 24 12 F B (VDM) S E
1680 8680 P 0 12 F 24 12 F (Virtual) S 60 J ( DOS) S 60 J ( machines) S
2160 9000 P (A) S 60 J ( protected) S 60 J ( subsystem) S 60 J ( that) S 60 J ( emulates) S 60 J ( DOS) S 60 J ( and) S 60 J ( Windows) S 60 J ( \(earlier) S 60 J ( versions) S 60 J ( than) S
2160 9260 P (Windows) S 60 J ( NT\)) S 60 J ( on) S 60 J ( top) S 60 J ( of) S 60 J ( NT.) S
1200 9760 P 0 12 F 24 12 F B (view) S E
1680 10080 P 0 12 F 24 12 F (A) S 60 J ( whole) S 60 J ( or) S 60 J ( partial) S 60 J ( mapping) S 60 J ( of) S 60 J ( a) S 60 J ( section) S 60 J ( object,) S 60 J ( always) S 60 J ( allocated) S 60 J ( on) S 60 J ( a) S 60 J ( 64K) S 60 J ( boundary,) S 60 J ( in) S
1680 10340 P (the) S 60 J ( virtual) S 60 J ( address) S 60 J ( space) S 60 J ( of) S 60 J ( a) S 60 J ( process.) S 60 J ( Note) S 60 J ( that) S 60 J ( mapping) S 60 J ( a) S 60 J ( view) S 60 J ( of) S 60 J ( a) S 60 J ( section) S 60 J ( that) S 60 J ( is) S
1680 10600 P (backed) S 60 J ( by) S 60 J ( an) S 60 J ( executable) S 60 J ( image) S 60 J ( file,) S 60 J ( in) S 60 J ( effect,) S 60 J ( "loads") S 60 J ( the) S 60 J ( image.) S 60 J ( \(Except) S 60 J ( during) S 60 J ( the) S
1680 10860 P (system) S 60 J ( boot) S 60 J ( process,) S 60 J ( NT) S 60 J ( uses) S 60 J ( memory-mapped) S 60 J ( I/O,) S 60 J ( rather) S 60 J ( than) S 60 J ( a) S 60 J ( loader,) S 60 J ( to) S 60 J ( start) S 60 J ( program) S
1680 11120 P (execution.\)) S 0 12 F
PE
1920 1220 P 10 12 F B () S 3453 J ( Glossary) S 55 J ( of) S 55 J ( Terms) S 55 J ( and) S 55 J ( Acronyms) S 763 J ( G-) S E B (43) S E B () S 720 J ( ) S E
1920 2060 P 0 12 F 24 12 F B (virtual) S 60 J ( memory) S E
2400 2380 P 0 12 F 24 12 F (A) S 60 J ( logical) S 60 J ( view) S 60 J ( of) S 60 J ( memory) S 60 J ( that) S 60 J ( does) S 60 J ( not) S 60 J ( necessarily) S 60 J ( correspond) S 60 J ( to) S 60 J ( the) S 60 J ( underlying) S
2400 2640 P (physical) S 60 J ( memory) S 60 J ( structure.) S 60 J ( For) S 60 J ( example,) S 60 J ( a) S 60 J ( given) S 60 J ( range) S 60 J ( of) S 60 J ( virtual) S 60 J ( addresses) S 60 J ( might) S 60 J ( be) S
2400 2900 P (mapped) S 60 J ( to) S 60 J ( \(and) S 60 J ( backed) S 60 J ( by\)) S 60 J ( some) S 60 J ( number) S 60 J ( of) S 60 J ( discontiguous) S 60 J ( physical) S 60 J ( pages,) S 60 J ( even) S 60 J ( though) S
2400 3160 P (the) S 60 J ( corresponding) S 60 J ( virtual) S 60 J ( pages) S 60 J ( could) S 60 J ( be) S 60 J ( accessed) S 60 J ( as) S 60 J ( a) S 60 J ( single,) S 60 J ( contiguous) S 60 J ( range.) S
1920 3660 P 0 12 F 24 12 F B (VMCB) S E
2400 3980 P 0 12 F 24 12 F (Volume) S 60 J ( map) S 60 J ( control) S 60 J ( block) S
2880 4300 P (An) S 60 J ( opaque) S 60 J ( structure) S 60 J ( that) S 60 J ( stores) S 60 J ( VBN-to-LBN) S 60 J ( mappings) S 60 J ( for) S 60 J ( a) S 60 J ( volume) S 60 J ( file.) S 60 J ( FSDs) S 60 J ( can) S
2880 4560 P (use) S 60 J ( a) S 60 J ( set) S 60 J ( of) S 60 J ( ) S 0 12 F 24 12 F B (FsRtl) S E 0 12 F 24 12 F () S 60 J ( routines) S 60 J ( to) S 60 J ( maintain) S 60 J ( a) S 60 J ( VMCB) S 60 J ( for) S 60 J ( each) S 60 J ( mounted) S 60 J ( volume.) S
1920 5060 P 0 12 F 24 12 F B (volume) S 60 J ( file) S E
2880 5380 P 0 12 F 24 12 F (A) S 60 J ( virtual) S 60 J ( file,) S 60 J ( maintained) S 60 J ( by) S 60 J ( certain) S 60 J ( NT) S 60 J ( file) S 60 J ( systems,) S 60 J ( whose) S 60 J ( contents) S 60 J ( map) S 60 J ( ancillary) S
2880 5640 P (structures) S 60 J ( of) S 60 J ( the) S 60 J ( on-disk) S 60 J ( file) S 60 J ( system.) S 60 J ( A) S 60 J ( volume) S 60 J ( file) S 60 J ( is) S 60 J ( a) S 60 J ( type) S 60 J ( of) S 60 J ( stream) S 60 J ( file.) S
1920 6140 P 0 12 F 24 12 F B (VPB) S E
2400 6460 P 0 12 F 24 12 F (Volume) S 60 J ( parameter) S 60 J ( block) S
2880 6780 P (A) S 60 J ( VPB) S 60 J ( is) S 60 J ( a) S 60 J ( structure) S 60 J ( that) S 60 J ( connects) S 60 J ( a) S 60 J ( file) S 60 J ( system's) S 60 J ( device) S 60 J ( object) S 60 J ( to) S 60 J ( the) S 60 J ( device) S 60 J ( upon) S
2880 7040 P (which) S 60 J ( the) S 60 J ( volume) S 60 J ( is) S 60 J ( mounted.) S 60 J ( The) S 60 J ( file) S 60 J ( system's) S 60 J ( device) S 60 J ( object) S 60 J ( is) S 60 J ( actually) S 60 J ( used) S 60 J ( to) S
2880 7300 P (represent) S 60 J ( the) S 60 J ( volume) S 60 J ( \(VPB\)) S 60 J ( mounted) S 60 J ( on) S 60 J ( the) S 60 J ( actual) S 60 J ( device) S 60 J ( \(physical) S 60 J ( device) S 60 J ( object\).) S
2880 7560 P (Device) S 60 J ( objects) S 60 J ( for) S 60 J ( physical) S 60 J ( disks,) S 60 J ( tapes,) S 60 J ( CD) S 60 J ( ROMs,) S 60 J ( and) S 60 J ( RAM) S 60 J ( disks) S 60 J ( have) S 60 J ( associated) S
2880 7820 P (VPBs.) S
1920 8320 P 0 12 F 24 12 F B (VRP) S E
2400 8640 P 0 12 F 24 12 F (Video) S 60 J ( request) S 60 J ( packet) S
2880 8960 P (A) S 60 J ( structure) S 60 J ( used) S 60 J ( to) S 60 J ( communicate) S 60 J ( device) S 60 J ( I/O) S 60 J ( control) S 60 J ( requests) S 60 J ( from) S 60 J ( a) S 60 J ( Windows) S 60 J ( NT) S
2880 9220 P (display) S 60 J ( driver) S 60 J ( to) S 60 J ( its) S 60 J ( corresponding) S 60 J ( adapter-specific) S 60 J ( miniport) S 60 J ( driver.) S 60 J ( The) S 60 J ( NT) S 60 J ( I/O) S
2880 9480 P (Manager) S 60 J ( sets) S 60 J ( up) S 60 J ( an) S 60 J ( IRP) S 60 J ( in) S 60 J ( response) S 60 J ( to) S 60 J ( a) S 60 J ( user-mode) S 60 J ( display) S 60 J ( driver's) S 60 J ( I/O) S 60 J ( control) S
2880 9740 P (request) S 60 J ( and) S 60 J ( calls) S 60 J ( the) S 60 J ( NT-supplied) S 60 J ( video) S 60 J ( port) S 60 J ( driver) S 60 J ( with) S 60 J ( the) S 60 J ( IRP.) S 60 J ( The) S 60 J ( video) S 60 J ( port) S
2880 10000 P (driver) S 60 J ( uses) S 60 J ( the) S 60 J ( IRP) S 60 J ( to) S 60 J ( set) S 60 J ( up) S 60 J ( a) S 60 J ( VRP) S 60 J ( and) S 60 J ( calls) S 60 J ( the) S 60 J ( miniport) S 60 J ( driver's) S 60 J ( StartIo) S 60 J ( entry) S 60 J ( point) S
2880 10260 P (with) S 60 J ( the) S 60 J ( VRP.) S
1920 10760 P 0 12 F 24 12 F B (window) S 60 J ( turn) S E
2400 11080 P 0 12 F 24 12 F (Turning) S 60 J ( a) S 60 J ( window) S 60 J ( refers) S 60 J ( to) S 60 J ( the) S 60 J ( process) S 60 J ( of) S 60 J ( filling) S 60 J ( an) S 60 J ( MCB) S 60 J ( with) S 60 J ( the) S 60 J ( appropriate) S 60 J ( retrieval) S
2400 11340 P (pointers) S 60 J ( in) S 60 J ( order) S 60 J ( to) S 60 J ( map) S 60 J ( a) S 60 J ( VBN) S 60 J ( for) S 60 J ( a) S 60 J ( file) S 60 J ( to) S 60 J ( an) S 60 J ( LBN) S 60 J ( for) S 60 J ( a) S 60 J ( disk.) S 0 12 F
PE
1200 1220 P 10 12 F B (G-) S E B (44) S E B () S 883 J ( Kernel-mode) S 55 J ( Driver) S 55 J ( Design) S 55 J ( Guide) S E
1200 2060 P 0 12 F 24 12 F B (working) S 60 J ( set) S E
1680 2380 P 0 12 F 24 12 F (The) S 60 J ( set) S 60 J ( of) S 60 J ( physical) S 60 J ( pages) S 60 J ( that) S 60 J ( are) S 60 J ( resident) S 60 J ( for) S 60 J ( a) S 60 J ( given) S 60 J ( process) S 60 J ( while) S 60 J ( it) S 60 J ( has) S 60 J ( one) S 60 J ( or) S 60 J ( more) S
1680 2640 P (running) S 60 J ( threads.) S 60 J ( See) S 60 J ( also) S 60 J ( balance) S 60 J ( set) S 60 J ( and) S 60 J ( quota.) S
2160 2960 P (The) S 60 J ( size) S 60 J ( of) S 60 J ( each) S 60 J ( process's) S 60 J ( working) S 60 J ( set) S 60 J ( is) S 60 J ( bounded) S 60 J ( by) S 60 J ( a) S 60 J ( minimum) S 60 J ( number) S 60 J ( of) S 60 J ( pages) S
2160 3220 P (\(that) S 60 J ( the) S 60 J ( NT) S 60 J ( Memory) S 60 J ( Manager) S 60 J ( guarantees) S 60 J ( to) S 60 J ( be) S 60 J ( resident) S 60 J ( while) S 60 J ( the) S 60 J ( process) S 60 J ( has) S 60 J ( one) S
2160 3480 P (running) S 60 J ( thread\)) S 60 J ( and) S 60 J ( by) S 60 J ( a) S 60 J ( maximum.) S 60 J ( However,) S 60 J ( ) S 60 J ( NT) S 60 J ( does) S 60 J ( not) S 60 J ( necessarily) S 60 J ( constrain) S 60 J ( a) S
2160 3740 P (process's) S 60 J ( working) S 60 J ( set) S 60 J ( to) S 60 J ( its) S 60 J ( maximum) S 60 J ( if) S 60 J ( many) S 60 J ( free) S 60 J ( pages) S 60 J ( are) S 60 J ( available.) S
1200 4240 P 0 12 F 24 12 F B (WORM) S E
1680 4560 P 0 12 F 24 12 F (Write-once,) S 60 J ( read) S 60 J ( many) S
1200 5060 P 0 12 F 24 12 F B (WSL) S E
1680 5380 P 0 12 F 24 12 F (Working) S 60 J ( set) S 60 J ( list) S
2160 5700 P (The) S 60 J ( set) S 60 J ( of) S 60 J ( WSLEs) S 60 J ( for) S 60 J ( the) S 60 J ( current) S 60 J ( process.) S
1200 6200 P 0 12 F 24 12 F B (WSLE) S E
1680 6520 P 0 12 F 24 12 F (Working) S 60 J ( set) S 60 J ( list) S 60 J ( entry) S
1200 7020 P 0 12 F 24 12 F B (zone) S E
1680 7340 P 0 12 F 24 12 F (A) S 60 J ( block) S 60 J ( of) S 60 J ( dynamically) S 60 J ( allocatable) S 60 J ( and) S 60 J ( deallocatable) S 60 J ( storage) S 60 J ( of) S 60 J ( a) S 60 J ( specified) S 60 J ( and) S 60 J ( fixed) S 60 J ( size) S
1680 7600 P (within) S 60 J ( a) S 60 J ( block) S 60 J ( of) S 60 J ( equivalent) S 60 J ( zones.) S 60 J ( Each) S 60 J ( zone) S 60 J ( within) S 60 J ( such) S 60 J ( a) S 60 J ( block) S 60 J ( is) S 60 J ( aligned) S 60 J ( on) S 60 J ( a) S
1680 7860 P (platform-dependent) S 60 J ( boundary,) S 60 J ( determined) S 60 J ( by) S 60 J ( the) S 60 J ( processor's) S 60 J ( data) S 60 J ( cache) S 60 J ( line) S 60 J ( size.) S 60 J ( Callers) S
1680 8120 P (of) S 60 J ( the) S 60 J ( ) S 0 12 F 24 12 F B (Ex) S E 0 12 F 24 12 F (\(ecutive\)) S 60 J ( Support) S 60 J ( zone) S 60 J ( functions) S 60 J ( must) S 60 J ( synchronize) S 60 J ( their) S 60 J ( allocation) S 60 J ( and) S
1680 8380 P (deallocation) S 60 J ( of) S 60 J ( zones) S 60 J ( within) S 60 J ( the) S 60 J ( block.) S
2160 8700 P (For) S 60 J ( example,) S 60 J ( the) S 60 J ( I/O) S 60 J ( Manager) S 60 J ( uses) S 60 J ( zones) S 60 J ( to) S 60 J ( implement) S 60 J ( lookaside) S 60 J ( lists) S 60 J ( for) S 60 J ( fast) S
2160 8960 P (allocation) S 60 J ( and) S 60 J ( deallocation) S 60 J ( of) S 60 J ( IRPs) S 60 J ( and) S 60 J ( MDLs.) S
1200 9460 P 0 12 F 24 12 F B (Zw) S 60 J ( routines) S E
1680 9780 P 0 12 F 24 12 F (A) S 60 J ( set) S 60 J ( of) S 60 J ( entry) S 60 J ( points) S 60 J ( parallel) S 60 J ( to) S 60 J ( the) S 60 J ( NT) S 60 J ( executive's) S 60 J ( system) S 60 J ( services.) S 60 J ( A) S 60 J ( call) S 60 J ( to) S 60 J ( a) S 60 J ( ) S 0 12 F 24 12 F B (Zw) S E 0 12 F 24 12 F I (Xxx) S E
1680 10040 P 0 12 F 24 12 F (entry) S 60 J ( point) S 60 J ( from) S 60 J ( kernel-mode) S 60 J ( code) S 60 J ( \(including) S 60 J ( calls) S 60 J ( from) S 60 J ( other) S 60 J ( system) S 60 J ( services) S 60 J ( or) S 60 J ( NT) S
1680 10300 P (drivers\)) S 60 J ( supplies) S 60 J ( the) S 60 J ( corresponding) S 60 J ( system) S 60 J ( service,) S 60 J ( except) S 60 J ( the) S 60 J ( caller's) S 60 J ( access) S 60 J ( rights) S 60 J ( and) S
1680 10560 P (the) S 60 J ( arguments) S 60 J ( to) S 60 J ( the) S 60 J ( ) S 0 12 F 24 12 F B (Zw) S E 0 12 F 24 12 F () S 60 J ( "alias") S 60 J ( are) S 60 J ( not) S 60 J ( checked) S 60 J ( for) S 60 J ( validity,) S 60 J ( and) S 60 J ( the) S 60 J ( call) S 60 J ( does) S 60 J ( not) S 60 J ( cause) S
1680 10820 P (the) S 60 J ( previous) S 60 J ( mode) S 60 J ( to) S 60 J ( be) S 60 J ( set) S 60 J ( to) S 60 J ( user) S 60 J ( mode.) S 60 J ( It) S 60 J ( is) S 60 J ( the) S 60 J ( responsibility) S 60 J ( of) S 60 J ( a) S 60 J ( kernel-mode) S 60 J ( caller) S
1680 11080 P (to) S 60 J ( check) S 60 J ( all) S 60 J ( user-supplied) S 60 J ( arguments) S 60 J ( for) S 60 J ( validity) S 60 J ( before) S 60 J ( such) S 60 J ( a) S 60 J ( caller) S 60 J ( passes) S 60 J ( them) S 60 J ( on) S 60 J ( to) S 60 J ( a) S
1680 11340 P 0 12 F 24 12 F B (Zw) S E 0 12 F 24 12 F I (Xxx) S E 0 12 F 24 12 F () S 60 J ( entry) S 60 J ( point.) S 60 J ( See) S 60 J ( also) S 60 J ( system) S 60 J ( services,) S 60 J ( probe,) S 60 J ( and) S 60 J ( SEH.) S 0 12 F