|
|
1.1 root 1: /*++
2:
3: Copyright (c) 1991, 1992, 1993 Microsoft Corporation
4:
5: Module Name:
6:
7: error.c
8:
9: Abstract:
10:
11: This module contains the code that is very specific to error
12: operations in the serial driver
13:
14: Author:
15:
16: Anthony V. Ercolano 26-Sep-1991
17:
18: Environment:
19:
20: Kernel mode
21:
22: Revision History :
23:
24: --*/
25:
26: #include <stddef.h>
27: #include "ntddk.h"
28: #include "ntddser.h"
29: #include "serial.h"
30: #include "serialp.h"
31:
32:
33: VOID
34: SerialCommError(
35: IN PKDPC Dpc,
36: IN PVOID DeferredContext,
37: IN PVOID SystemContext1,
38: IN PVOID SystemContext2
39: )
40:
41: /*++
42:
43: Routine Description:
44:
45: This routine is invoked at dpc level to in response to
46: a comm error. All comm errors kill all read and writes
47:
48: Arguments:
49:
50: Dpc - Not Used.
51:
52: DeferredContext - Really points to the device object.
53:
54: SystemContext1 - Not Used.
55:
56: SystemContext2 - Not Used.
57:
58: Return Value:
59:
60: None.
61:
62: --*/
63:
64: {
65:
66: PSERIAL_DEVICE_EXTENSION Extension = DeferredContext;
67:
68: UNREFERENCED_PARAMETER(Dpc);
69: UNREFERENCED_PARAMETER(SystemContext1);
70: UNREFERENCED_PARAMETER(SystemContext2);
71:
72: SerialKillAllReadsOrWrites(
73: Extension->DeviceObject,
74: &Extension->WriteQueue,
75: &Extension->CurrentWriteIrp
76: );
77:
78: SerialKillAllReadsOrWrites(
79: Extension->DeviceObject,
80: &Extension->ReadQueue,
81: &Extension->CurrentReadIrp
82: );
83:
84: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.