📄 error.cod
字号:
; Listing generated by Microsoft (R) Optimizing Compiler Version 12.00.9044.0
TITLE F:\W2DDK\src\kernel\serial\error.c
.386P
include listing.inc
if @Version gt 510
.model FLAT
else
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
_DATA SEGMENT DWORD USE32 PUBLIC 'DATA'
_DATA ENDS
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
_BSS SEGMENT DWORD USE32 PUBLIC 'BSS'
_BSS ENDS
$$SYMBOLS SEGMENT BYTE USE32 'DEBSYM'
$$SYMBOLS ENDS
$$TYPES SEGMENT BYTE USE32 'DEBTYP'
$$TYPES ENDS
_TLS SEGMENT DWORD USE32 PUBLIC 'TLS'
_TLS ENDS
; COMDAT _RtlConvertLongToLargeInteger@4
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT _SerialCommError@16
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
FLAT GROUP _DATA, CONST, _BSS
ASSUME CS: FLAT, DS: FLAT, SS: FLAT
endif
INCLUDELIB LIBC
INCLUDELIB OLDNAMES
PUBLIC _SerialCommError@16
EXTRN _SerialDebugLevel:DWORD
EXTRN _SerialDpcEpilogue@8:NEAR
EXTRN _DbgPrint:NEAR
EXTRN _SerialKillAllReadsOrWrites@12:NEAR
; COMDAT _SerialCommError@16
; File f:\w2ddk\src\kernel\serial\error.c
_TEXT SEGMENT
$SG14818 DB 'SERIAL: SerialCommError', 0aH, 00H
; Function compile flags: /Ogs
_Dpc$ = 8
_DeferredContext$ = 12
_SerialCommError@16 PROC NEAR ; COMDAT
; 60 : {
00019 55 push ebp
0001a 8b ec mov ebp, esp
; 61 :
; 62 : PSERIAL_DEVICE_EXTENSION Extension = DeferredContext;
; 63 :
; 64 : UNREFERENCED_PARAMETER(SystemContext1);
; 65 : UNREFERENCED_PARAMETER(SystemContext2);
; 66 :
; 67 : SerialDump(SERTRACECALLS, ("SERIAL: SerialCommError\n"));
0001c f6 05 00 00 00
00 40 test BYTE PTR _SerialDebugLevel, 64 ; 00000040H
00023 74 0b je SHORT $L14813
00025 68 00 00 00 00 push OFFSET FLAT:$SG14818
0002a e8 00 00 00 00 call _DbgPrint
0002f 59 pop ecx
$L14813:
00030 56 push esi
; 68 :
; 69 : SerialKillAllReadsOrWrites(
; 70 : Extension->DeviceObject,
; 71 : &Extension->WriteQueue,
; 72 : &Extension->CurrentWriteIrp
; 73 : );
00031 8b 75 0c mov esi, DWORD PTR _DeferredContext$[ebp]
00034 8d 86 c8 00 00
00 lea eax, DWORD PTR [esi+200]
0003a 50 push eax
0003b 8d 86 ac 00 00
00 lea eax, DWORD PTR [esi+172]
00041 50 push eax
00042 ff b6 8c 00 00
00 push DWORD PTR [esi+140]
00048 e8 00 00 00 00 call _SerialKillAllReadsOrWrites@12
; 74 :
; 75 : SerialKillAllReadsOrWrites(
; 76 : Extension->DeviceObject,
; 77 : &Extension->ReadQueue,
; 78 : &Extension->CurrentReadIrp
; 79 : );
0004d 8d 86 c4 00 00
00 lea eax, DWORD PTR [esi+196]
00053 50 push eax
00054 8d 86 a4 00 00
00 lea eax, DWORD PTR [esi+164]
0005a 50 push eax
0005b ff b6 8c 00 00
00 push DWORD PTR [esi+140]
00061 e8 00 00 00 00 call _SerialKillAllReadsOrWrites@12
; 80 :
; 81 :
; 82 : SerialDpcEpilogue(Extension, Dpc);
00066 ff 75 08 push DWORD PTR _Dpc$[ebp]
00069 56 push esi
0006a e8 00 00 00 00 call _SerialDpcEpilogue@8
0006f 5e pop esi
; 83 : }
00070 5d pop ebp
00071 c2 10 00 ret 16 ; 00000010H
_SerialCommError@16 ENDP
_TEXT ENDS
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -