⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mscomm.cod

📁 一个虚拟串口读取程序
💻 COD
📖 第 1 页 / 共 5 页
字号:
_this$ = -4
?SetOutBufferSize@CMSComm@@QAEXF@Z PROC NEAR		; CMSComm::SetOutBufferSize

; 202  : {

  00670	55		 push	 ebp
  00671	8b ec		 mov	 ebp, esp
  00673	51		 push	 ecx
  00674	c7 45 fc cc cc
	cc cc		 mov	 DWORD PTR [ebp-4], -858993460 ; ccccccccH
  0067b	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 203  : 	static BYTE parms[] =
; 204  : 		VTS_I2;
; 205  : 	InvokeHelper(0x11, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
; 206  : 		 nNewValue);

  0067e	0f bf 45 08	 movsx	 eax, WORD PTR _nNewValue$[ebp]
  00682	50		 push	 eax
  00683	68 00 00 00 00	 push	 OFFSET FLAT:_?parms@?1??SetOutBufferSize@CMSComm@@QAEXF@Z@4PAEA
  00688	6a 00		 push	 0
  0068a	6a 00		 push	 0
  0068c	6a 04		 push	 4
  0068e	6a 11		 push	 17			; 00000011H
  00690	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00693	51		 push	 ecx
  00694	e8 00 00 00 00	 call	 ?InvokeHelper@CWnd@@QAAXJGGPAXPBEZZ ; CWnd::InvokeHelper
  00699	83 c4 1c	 add	 esp, 28			; 0000001cH

; 207  : }

  0069c	83 c4 04	 add	 esp, 4
  0069f	3b ec		 cmp	 ebp, esp
  006a1	e8 00 00 00 00	 call	 __chkesp
  006a6	8b e5		 mov	 esp, ebp
  006a8	5d		 pop	 ebp
  006a9	c2 04 00	 ret	 4
?SetOutBufferSize@CMSComm@@QAEXF@Z ENDP			; CMSComm::SetOutBufferSize
_TEXT	ENDS
PUBLIC	?GetOutBufferSize@CMSComm@@QAEFXZ		; CMSComm::GetOutBufferSize
_TEXT	SEGMENT
_this$ = -8
_result$ = -4
?GetOutBufferSize@CMSComm@@QAEFXZ PROC NEAR		; CMSComm::GetOutBufferSize

; 210  : {

  006ac	55		 push	 ebp
  006ad	8b ec		 mov	 ebp, esp
  006af	83 ec 08	 sub	 esp, 8
  006b2	c7 45 f8 cc cc
	cc cc		 mov	 DWORD PTR [ebp-8], -858993460 ; ccccccccH
  006b9	c7 45 fc cc cc
	cc cc		 mov	 DWORD PTR [ebp-4], -858993460 ; ccccccccH
  006c0	89 4d f8	 mov	 DWORD PTR _this$[ebp], ecx

; 211  : 	short result;
; 212  : 	InvokeHelper(0x11, DISPATCH_PROPERTYGET, VT_I2, (void*)&result, NULL);

  006c3	6a 00		 push	 0
  006c5	8d 45 fc	 lea	 eax, DWORD PTR _result$[ebp]
  006c8	50		 push	 eax
  006c9	6a 02		 push	 2
  006cb	6a 02		 push	 2
  006cd	6a 11		 push	 17			; 00000011H
  006cf	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  006d2	51		 push	 ecx
  006d3	e8 00 00 00 00	 call	 ?InvokeHelper@CWnd@@QAAXJGGPAXPBEZZ ; CWnd::InvokeHelper
  006d8	83 c4 18	 add	 esp, 24			; 00000018H

; 213  : 	return result;

  006db	66 8b 45 fc	 mov	 ax, WORD PTR _result$[ebp]

; 214  : }

  006df	83 c4 08	 add	 esp, 8
  006e2	3b ec		 cmp	 ebp, esp
  006e4	e8 00 00 00 00	 call	 __chkesp
  006e9	8b e5		 mov	 esp, ebp
  006eb	5d		 pop	 ebp
  006ec	c3		 ret	 0
?GetOutBufferSize@CMSComm@@QAEFXZ ENDP			; CMSComm::GetOutBufferSize
_TEXT	ENDS
PUBLIC	?SetOutBufferCount@CMSComm@@QAEXF@Z		; CMSComm::SetOutBufferCount
_TEXT	SEGMENT
_nNewValue$ = 8
_this$ = -4
?SetOutBufferCount@CMSComm@@QAEXF@Z PROC NEAR		; CMSComm::SetOutBufferCount

; 217  : {

  006ed	55		 push	 ebp
  006ee	8b ec		 mov	 ebp, esp
  006f0	51		 push	 ecx
  006f1	c7 45 fc cc cc
	cc cc		 mov	 DWORD PTR [ebp-4], -858993460 ; ccccccccH
  006f8	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 218  : 	static BYTE parms[] =
; 219  : 		VTS_I2;
; 220  : 	InvokeHelper(0x12, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
; 221  : 		 nNewValue);

  006fb	0f bf 45 08	 movsx	 eax, WORD PTR _nNewValue$[ebp]
  006ff	50		 push	 eax
  00700	68 00 00 00 00	 push	 OFFSET FLAT:_?parms@?1??SetOutBufferCount@CMSComm@@QAEXF@Z@4PAEA
  00705	6a 00		 push	 0
  00707	6a 00		 push	 0
  00709	6a 04		 push	 4
  0070b	6a 12		 push	 18			; 00000012H
  0070d	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00710	51		 push	 ecx
  00711	e8 00 00 00 00	 call	 ?InvokeHelper@CWnd@@QAAXJGGPAXPBEZZ ; CWnd::InvokeHelper
  00716	83 c4 1c	 add	 esp, 28			; 0000001cH

; 222  : }

  00719	83 c4 04	 add	 esp, 4
  0071c	3b ec		 cmp	 ebp, esp
  0071e	e8 00 00 00 00	 call	 __chkesp
  00723	8b e5		 mov	 esp, ebp
  00725	5d		 pop	 ebp
  00726	c2 04 00	 ret	 4
?SetOutBufferCount@CMSComm@@QAEXF@Z ENDP		; CMSComm::SetOutBufferCount
_TEXT	ENDS
PUBLIC	?GetOutBufferCount@CMSComm@@QAEFXZ		; CMSComm::GetOutBufferCount
_TEXT	SEGMENT
_this$ = -8
_result$ = -4
?GetOutBufferCount@CMSComm@@QAEFXZ PROC NEAR		; CMSComm::GetOutBufferCount

; 225  : {

  00729	55		 push	 ebp
  0072a	8b ec		 mov	 ebp, esp
  0072c	83 ec 08	 sub	 esp, 8
  0072f	c7 45 f8 cc cc
	cc cc		 mov	 DWORD PTR [ebp-8], -858993460 ; ccccccccH
  00736	c7 45 fc cc cc
	cc cc		 mov	 DWORD PTR [ebp-4], -858993460 ; ccccccccH
  0073d	89 4d f8	 mov	 DWORD PTR _this$[ebp], ecx

; 226  : 	short result;
; 227  : 	InvokeHelper(0x12, DISPATCH_PROPERTYGET, VT_I2, (void*)&result, NULL);

  00740	6a 00		 push	 0
  00742	8d 45 fc	 lea	 eax, DWORD PTR _result$[ebp]
  00745	50		 push	 eax
  00746	6a 02		 push	 2
  00748	6a 02		 push	 2
  0074a	6a 12		 push	 18			; 00000012H
  0074c	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  0074f	51		 push	 ecx
  00750	e8 00 00 00 00	 call	 ?InvokeHelper@CWnd@@QAAXJGGPAXPBEZZ ; CWnd::InvokeHelper
  00755	83 c4 18	 add	 esp, 24			; 00000018H

; 228  : 	return result;

  00758	66 8b 45 fc	 mov	 ax, WORD PTR _result$[ebp]

; 229  : }

  0075c	83 c4 08	 add	 esp, 8
  0075f	3b ec		 cmp	 ebp, esp
  00761	e8 00 00 00 00	 call	 __chkesp
  00766	8b e5		 mov	 esp, ebp
  00768	5d		 pop	 ebp
  00769	c3		 ret	 0
?GetOutBufferCount@CMSComm@@QAEFXZ ENDP			; CMSComm::GetOutBufferCount
_TEXT	ENDS
PUBLIC	?SetParityReplace@CMSComm@@QAEXPBD@Z		; CMSComm::SetParityReplace
_TEXT	SEGMENT
_lpszNewValue$ = 8
_this$ = -4
?SetParityReplace@CMSComm@@QAEXPBD@Z PROC NEAR		; CMSComm::SetParityReplace

; 232  : {

  0076a	55		 push	 ebp
  0076b	8b ec		 mov	 ebp, esp
  0076d	51		 push	 ecx
  0076e	c7 45 fc cc cc
	cc cc		 mov	 DWORD PTR [ebp-4], -858993460 ; ccccccccH
  00775	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 233  : 	static BYTE parms[] =
; 234  : 		VTS_BSTR;
; 235  : 	InvokeHelper(0x13, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
; 236  : 		 lpszNewValue);

  00778	8b 45 08	 mov	 eax, DWORD PTR _lpszNewValue$[ebp]
  0077b	50		 push	 eax
  0077c	68 00 00 00 00	 push	 OFFSET FLAT:_?parms@?1??SetParityReplace@CMSComm@@QAEXPBD@Z@4PAEA
  00781	6a 00		 push	 0
  00783	6a 00		 push	 0
  00785	6a 04		 push	 4
  00787	6a 13		 push	 19			; 00000013H
  00789	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0078c	51		 push	 ecx
  0078d	e8 00 00 00 00	 call	 ?InvokeHelper@CWnd@@QAAXJGGPAXPBEZZ ; CWnd::InvokeHelper
  00792	83 c4 1c	 add	 esp, 28			; 0000001cH

; 237  : }

  00795	83 c4 04	 add	 esp, 4
  00798	3b ec		 cmp	 ebp, esp
  0079a	e8 00 00 00 00	 call	 __chkesp
  0079f	8b e5		 mov	 esp, ebp
  007a1	5d		 pop	 ebp
  007a2	c2 04 00	 ret	 4
?SetParityReplace@CMSComm@@QAEXPBD@Z ENDP		; CMSComm::SetParityReplace
_TEXT	ENDS
PUBLIC	?GetParityReplace@CMSComm@@QAE?AVCString@@XZ	; CMSComm::GetParityReplace
EXTRN	??0CString@@QAE@XZ:NEAR				; CString::CString
EXTRN	??0CString@@QAE@ABV0@@Z:NEAR			; CString::CString
EXTRN	??1CString@@QAE@XZ:NEAR				; CString::~CString
xdata$x	SEGMENT
$T61898	DD	019930520H
	DD	02H
	DD	FLAT:$T61900
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	ORG $+4
$T61900	DD	0ffffffffH
	DD	FLAT:$L61894
	DD	00H
	DD	FLAT:$L61893
xdata$x	ENDS
_TEXT	SEGMENT
___$ReturnUdt$ = 8
_this$ = -24
_result$ = -16
$T61895 = -20
__$EHRec$ = -12
?GetParityReplace@CMSComm@@QAE?AVCString@@XZ PROC NEAR	; CMSComm::GetParityReplace

; 240  : {

  007a5	55		 push	 ebp
  007a6	8b ec		 mov	 ebp, esp
  007a8	6a ff		 push	 -1
  007aa	68 00 00 00 00	 push	 $L61899
  007af	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:__except_list
  007b5	50		 push	 eax
  007b6	64 89 25 00 00
	00 00		 mov	 DWORD PTR fs:__except_list, esp
  007bd	83 ec 0c	 sub	 esp, 12			; 0000000cH
  007c0	c7 45 e8 cc cc
	cc cc		 mov	 DWORD PTR [ebp-24], -858993460 ; ccccccccH
  007c7	c7 45 ec cc cc
	cc cc		 mov	 DWORD PTR [ebp-20], -858993460 ; ccccccccH
  007ce	c7 45 f0 cc cc
	cc cc		 mov	 DWORD PTR [ebp-16], -858993460 ; ccccccccH
  007d5	89 4d e8	 mov	 DWORD PTR _this$[ebp], ecx
  007d8	c7 45 ec 00 00
	00 00		 mov	 DWORD PTR $T61895[ebp], 0

; 241  : 	CString result;

  007df	8d 4d f0	 lea	 ecx, DWORD PTR _result$[ebp]
  007e2	e8 00 00 00 00	 call	 ??0CString@@QAE@XZ	; CString::CString
  007e7	c7 45 fc 01 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 1

; 242  : 	InvokeHelper(0x13, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);

  007ee	6a 00		 push	 0
  007f0	8d 45 f0	 lea	 eax, DWORD PTR _result$[ebp]
  007f3	50		 push	 eax
  007f4	6a 08		 push	 8
  007f6	6a 02		 push	 2
  007f8	6a 13		 push	 19			; 00000013H
  007fa	8b 4d e8	 mov	 ecx, DWORD PTR _this$[ebp]
  007fd	51		 push	 ecx
  007fe	e8 00 00 00 00	 call	 ?InvokeHelper@CWnd@@QAAXJGGPAXPBEZZ ; CWnd::InvokeHelper
  00803	83 c4 18	 add	 esp, 24			; 00000018H

; 243  : 	return result;

  00806	8d 55 f0	 lea	 edx, DWORD PTR _result$[ebp]
  00809	52		 push	 edx
  0080a	8b 4d 08	 mov	 ecx, DWORD PTR ___$ReturnUdt$[ebp]
  0080d	e8 00 00 00 00	 call	 ??0CString@@QAE@ABV0@@Z	; CString::CString
  00812	8b 45 ec	 mov	 eax, DWORD PTR $T61895[ebp]
  00815	0c 01		 or	 al, 1
  00817	89 45 ec	 mov	 DWORD PTR $T61895[ebp], eax
  0081a	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  0081e	8d 4d f0	 lea	 ecx, DWORD PTR _result$[ebp]
  00821	e8 00 00 00 00	 call	 ??1CString@@QAE@XZ	; CString::~CString
  00826	8b 45 08	 mov	 eax, DWORD PTR ___$ReturnUdt$[ebp]

; 244  : }

  00829	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0082c	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:__except_list, ecx
  00833	83 c4 18	 add	 esp, 24			; 00000018H
  00836	3b ec		 cmp	 ebp, esp
  00838	e8 00 00 00 00	 call	 __chkesp
  0083d	8b e5		 mov	 esp, ebp
  0083f	5d		 pop	 ebp
  00840	c2 04 00	 ret	 4
_TEXT	ENDS
text$x	SEGMENT
$L61893:
  00014	8d 4d f0	 lea	 ecx, DWORD PTR _result$[ebp]
  00017	e8 00 00 00 00	 call	 ??1CString@@QAE@XZ	; CString::~CString
  0001c	c3		 ret	 0
$L61894:
  0001d	8b 45 ec	 mov	 eax, DWORD PTR $T61895[ebp]
  00020	83 e0 01	 and	 eax, 1
  00023	85 c0		 test	 eax, eax
  00025	0f 84 08 00 00
	00		 je	 $L61896
  0002b	8b 4d 08	 mov	 ecx, DWORD PTR ___$ReturnUdt$[ebp]
  0002e	e8 00 00 00 00	 call	 ??1CString@@QAE@XZ	; CString::~CString
$L61896:
  00033	c3		 ret	 0
$L61899:
  00034	b8 00 00 00 00	 mov	 eax, OFFSET FLAT:$T61898
  00039	e9 00 00 00 00	 jmp	 ___CxxFrameHandler
text$x	ENDS
?GetParityReplace@CMSComm@@QAE?AVCString@@XZ ENDP	; CMSComm::GetParityReplace
PUBLIC	?SetPortOpen@CMSComm@@QAEXH@Z			; CMSComm::SetPortOpen
_TEXT	SEGMENT
_bNewValue$ = 8
_this$ = -4
?SetPortOpen@CMSComm@@QAEXH@Z PROC NEAR			; CMSComm::SetPortOpen

; 247  : {

  00843	55		 push	 ebp
  00844	8b ec		 mov	 ebp, esp
  00846	51		 push	 ecx
  00847	c7 45 fc cc cc
	cc cc		 mov	 DWORD PTR [ebp-4], -858993460 ; ccccccccH
  0084e	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 248  : 	static BYTE parms[] =
; 249  : 		VTS_BOOL;
; 250  : 	InvokeHelper(0x14, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
; 251  : 		 bNewValue);

  00851	8b 45 08	 mov	 eax, DWORD PTR _bNewValue$[ebp]
  00854	50		 push	 eax
  00855	68 00 00 00 00	 push	 OFFSET FLAT:_?parms@?1??SetPortOpen@CMSComm@@QAEXH@Z@4PAEA
  0085a	6a 00		 push	 0
  0085c	6a 00		 push	 0
  0085e	6a 04		 push	 4
  00860	6a 14		 push	 20			; 00000014H
  00862	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00865	51		 push	 ecx
  00866	e8 00 00 00 00	 call	 ?InvokeHelper@CWnd@@QAAXJGGPAXPBEZZ ; CWnd::InvokeHelper
  0086b	83 c4 1c	 add	 esp, 28			; 0000001cH

; 252  : }

  0086e	83 c4 04	 add	 esp, 4
  00871	3b ec		 cmp	 ebp, esp
  00873	e8 00 00 00 00	 call	 __chkesp
  00878	8b e5		 mov	 esp, ebp
  0087a	5d		 pop	 ebp
  0087b	c2 04 00	 ret	 4
?SetPortOpen@CMSComm@@QAEXH@Z ENDP			; CMSComm::SetPortOpen
_TEXT	ENDS
PUBLIC	?GetPortOpen@CMSComm@@QAEHXZ			; CMSComm::GetPortOpen
_TEXT	SEGMENT
_this$ = -8
_result$ = -4
?GetPortOpen@CMSComm@@QAEHXZ PROC NEAR			; CMSComm::GetPortOpen

; 255  : {

  0087e	55		 push	 ebp
  0087f	8b ec		 mov	 ebp, esp
  00881	83 ec 08	 sub	 esp, 8
  00884	c7 45 f8 cc cc
	cc cc		 mov	 DWORD PTR [ebp-8], -858993460 ; ccccccccH
  0088b	c7 45 fc cc cc
	cc cc		 mov	 DWORD PTR [ebp-4], -858993460 ; ccccccccH
  00892	89 4d f8	 mov	 DWORD PTR _this$[ebp], ecx

; 256  : 	BOOL result;
; 257  : 	InvokeHelper(0x14, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);

  00895	6a 00		 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -