📄 windowsce_net 420串口驱动分析(2)--jesse.htm
字号:
style="mso-spacerun: yes"> </SPAN>VOID<SPAN
style="mso-tab-count: 1"> </SPAN><SPAN
style="mso-tab-count: 1">
</SPAN>(*HWLineIntrHandler)(PVOID pHead);<O:P></O:P></SPAN>
</P>
<P class=MsoBodyText style="MARGIN: 0cm -17.85pt 0pt 41.95pt"
align=left><SPAN lang=EN-US style="FONT-SIZE: 8pt"><SPAN
style="mso-spacerun: yes"> </SPAN>ULONG<SPAN
style="mso-tab-count: 1">
</SPAN>(*HWGetRxBufferSize)(PVOID pHead);<O:P></O:P></SPAN>
</P>
<P class=MsoBodyText style="MARGIN: 0cm -17.85pt 0pt 41.95pt"
align=left><SPAN lang=EN-US style="FONT-SIZE: 8pt"><SPAN
style="mso-spacerun: yes"> </SPAN>BOOL<SPAN
style="mso-tab-count: 1"> </SPAN><SPAN
style="mso-tab-count: 1">
</SPAN>(*HWPowerOff)(PVOID pHead);<O:P></O:P></SPAN> </P>
<P class=MsoBodyText style="MARGIN: 0cm -17.85pt 0pt 41.95pt"
align=left><SPAN lang=EN-US style="FONT-SIZE: 8pt"><SPAN
style="mso-spacerun: yes"> </SPAN>BOOL<SPAN
style="mso-tab-count: 1"> </SPAN><SPAN
style="mso-tab-count: 1">
</SPAN>(*HWPowerOn)(PVOID pHead);<O:P></O:P></SPAN> </P>
<P class=MsoBodyText style="MARGIN: 0cm -17.85pt 0pt 41.95pt"
align=left><SPAN lang=EN-US style="FONT-SIZE: 8pt"><SPAN
style="mso-spacerun: yes"> </SPAN>VOID<SPAN
style="mso-tab-count: 1"> </SPAN><SPAN
style="mso-tab-count: 1">
</SPAN>(*HWClearDTR)(PVOID pHead);<O:P></O:P></SPAN> </P>
<P class=MsoBodyText style="MARGIN: 0cm -17.85pt 0pt 41.95pt"
align=left><SPAN lang=EN-US style="FONT-SIZE: 8pt"><SPAN
style="mso-spacerun: yes"> </SPAN>VOID <SPAN
style="mso-tab-count: 1"></SPAN><SPAN
style="mso-tab-count: 1">
</SPAN>(*HWSetDTR)(PVOID pHead);<O:P></O:P></SPAN> </P>
<P class=MsoBodyText style="MARGIN: 0cm -17.85pt 0pt 41.95pt"
align=left><SPAN lang=EN-US style="FONT-SIZE: 8pt"><SPAN
style="mso-spacerun: yes"> </SPAN>VOID<SPAN
style="mso-tab-count: 1"> </SPAN><SPAN
style="mso-tab-count: 1">
</SPAN>(*HWClearRTS)(PVOID pHead);<O:P></O:P></SPAN> </P>
<P class=MsoBodyText style="MARGIN: 0cm -17.85pt 0pt 41.95pt"
align=left><SPAN lang=EN-US style="FONT-SIZE: 8pt"><SPAN
style="mso-spacerun: yes"> </SPAN>VOID<SPAN
style="mso-tab-count: 1"> </SPAN><SPAN
style="mso-tab-count: 1">
</SPAN>(*HWSetRTS)(PVOID pHead);<O:P></O:P></SPAN> </P>
<P class=MsoBodyText style="MARGIN: 0cm -17.85pt 0pt 41.95pt"
align=left><SPAN lang=EN-US style="FONT-SIZE: 8pt"><SPAN
style="mso-spacerun: yes"> </SPAN>BOOL<SPAN
style="mso-tab-count: 1"> </SPAN><SPAN
style="mso-tab-count: 1">
</SPAN>(*HWEnableIR)(PVOID pHead, ULONG
BaudRate);<O:P></O:P></SPAN> </P>
<P class=MsoBodyText style="MARGIN: 0cm -17.85pt 0pt 41.95pt"
align=left><SPAN lang=EN-US style="FONT-SIZE: 8pt"><SPAN
style="mso-spacerun: yes"> </SPAN>BOOL<SPAN
style="mso-tab-count: 1"> </SPAN><SPAN
style="mso-tab-count: 1">
</SPAN>(*HWDisableIR)(PVOID pHead);<O:P></O:P></SPAN> </P>
<P class=MsoBodyText style="MARGIN: 0cm -17.85pt 0pt 41.95pt"
align=left><SPAN lang=EN-US style="FONT-SIZE: 8pt"><SPAN
style="mso-spacerun: yes"> </SPAN>VOID<SPAN
style="mso-tab-count: 1"> </SPAN><SPAN
style="mso-tab-count: 1">
</SPAN>(*HWClearBreak)(PVOID pHead);<O:P></O:P></SPAN> </P>
<P class=MsoBodyText style="MARGIN: 0cm -17.85pt 0pt 41.95pt"
align=left><SPAN lang=EN-US style="FONT-SIZE: 8pt"><SPAN
style="mso-spacerun: yes"> </SPAN>VOID<SPAN
style="mso-tab-count: 1"> </SPAN><SPAN
style="mso-tab-count: 1">
</SPAN>(*HWSetBreak)(PVOID pHead);<O:P></O:P></SPAN> </P>
<P class=MsoBodyText style="MARGIN: 0cm -17.85pt 0pt 41.95pt"
align=left><SPAN lang=EN-US style="FONT-SIZE: 8pt"><SPAN
style="mso-spacerun: yes"> </SPAN>BOOL<SPAN
style="mso-tab-count: 1"> </SPAN><SPAN
style="mso-tab-count: 1">
</SPAN>(*HWXmitComChar)(PVOID pHead, UCHAR
ComChar);<O:P></O:P></SPAN> </P>
<P class=MsoBodyText style="MARGIN: 0cm -17.85pt 0pt 41.95pt"
align=left><SPAN lang=EN-US style="FONT-SIZE: 8pt"><SPAN
style="mso-spacerun: yes"> </SPAN>ULONG<SPAN
style="mso-tab-count: 1">
</SPAN>(*HWGetStatus)(PVOID pHead, LPCOMSTAT
lpStat);<O:P></O:P></SPAN> </P>
<P class=MsoBodyText style="MARGIN: 0cm -17.85pt 0pt 41.95pt"
align=left><SPAN lang=EN-US style="FONT-SIZE: 8pt"><SPAN
style="mso-spacerun: yes"> </SPAN>VOID<SPAN
style="mso-tab-count: 1"> </SPAN><SPAN
style="mso-tab-count: 1">
</SPAN>(*HWReset)(PVOID pHead);<O:P></O:P></SPAN> </P>
<P class=MsoBodyText style="MARGIN: 0cm -17.85pt 0pt 41.95pt"
align=left><SPAN lang=EN-US style="FONT-SIZE: 8pt"><SPAN
style="mso-spacerun: yes"> </SPAN>VOID<SPAN
style="mso-tab-count: 1"> </SPAN><SPAN
style="mso-tab-count: 1">
</SPAN>(*HWGetModemStatus)(PVOID pHead, PULONG
pModemStatus);<O:P></O:P></SPAN> </P>
<P class=MsoBodyText style="MARGIN: 0cm -17.85pt 0pt 41.95pt"
align=left><SPAN lang=EN-US style="FONT-SIZE: 8pt"><SPAN
style="mso-spacerun: yes"> </SPAN>VOID<SPAN
style="mso-tab-count: 1"> </SPAN><SPAN
style="mso-tab-count: 1">
</SPAN>(*HWGetCommProperties)(PVOID pHead, LPCOMMPROP
pCommProp);<O:P></O:P></SPAN> </P>
<P class=MsoBodyText style="MARGIN: 0cm -17.85pt 0pt 41.95pt"
align=left><SPAN lang=EN-US style="FONT-SIZE: 8pt"><SPAN
style="mso-spacerun: yes"> </SPAN>VOID<SPAN
style="mso-tab-count: 1"> </SPAN><SPAN
style="mso-tab-count: 1">
</SPAN>(*HWPurgeComm)(PVOID pHead, DWORD
fdwAction);<O:P></O:P></SPAN> </P>
<P class=MsoBodyText style="MARGIN: 0cm -17.85pt 0pt 41.95pt"
align=left><SPAN lang=EN-US style="FONT-SIZE: 8pt"><SPAN
style="mso-spacerun: yes"> </SPAN>BOOL<SPAN
style="mso-tab-count: 1"> </SPAN><SPAN
style="mso-tab-count: 1">
</SPAN>(*HWSetDCB)(PVOID pHead, LPDCB pDCB);<O:P></O:P></SPAN>
</P>
<P class=MsoBodyText style="MARGIN: 0cm -17.85pt 0pt 41.95pt"
align=left><SPAN lang=EN-US style="FONT-SIZE: 8pt"><SPAN
style="mso-spacerun: yes"> </SPAN>BOOL<SPAN
style="mso-tab-count: 1"> </SPAN><SPAN
style="mso-tab-count: 1">
</SPAN>(*HWSetCommTimeouts)(PVOID pHead, LPCOMMTIMEOUTS
lpCommTO);<O:P></O:P></SPAN> </P>
<P class=MsoBodyText style="MARGIN: 0cm -17.85pt 0pt 41.95pt"
align=left><SPAN lang=EN-US style="FONT-SIZE: 8pt"><SPAN
style="mso-spacerun: yes"> </SPAN>BOOL<SPAN
style="mso-spacerun: yes"> </SPAN><SPAN
style="mso-tab-count: 1">
</SPAN>(*HWIoctl)(PVOID pHead, DWORD dwCode,PBYTE pBufIn,DWORD
dwLenIn,<O:P></O:P></SPAN> </P>
<P class=MsoBodyText style="MARGIN: 0cm -17.85pt 0pt 41.95pt"
align=left><SPAN lang=EN-US style="FONT-SIZE: 8pt"><SPAN
style="mso-spacerun: yes">
</SPAN>PBYTE pBufOut,DWORD dwLenOut,PDWORD
pdwActualOut);<O:P></O:P></SPAN> </P>
<P class=MsoBodyText style="MARGIN: 0cm -17.85pt 0pt 41.95pt"
align=left><SPAN lang=EN-US style="FONT-SIZE: 8pt"><SPAN
style="mso-spacerun: yes"> </SPAN>} HW_VTBL,
*PHW_VTBL;</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">交待了上述两个结构以后我们来看看具体的代码,为保障对系统架构的清晰认识,我们将</SPAN><SPAN
lang=EN-US>MDD</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的代码和</SPAN><SPAN
lang=EN-US>PDD</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的代码分开进行分析。</SPAN>
</P><SPAN lang=EN-US
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman'; mso-bidi-language: HE; mso-fareast-font-family: 宋体; mso-fareast-language: ZH-CN; mso-ansi-language: EN-US">
<P align=left><BR></P></SPAN>
<P class=MsoBodyText><SPAN lang=EN-US><O:P> </O:P></SPAN>
</P>
<TABLE class=MsoNormalTable
style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BACKGROUND: #0c0c0c; MARGIN-LEFT: 45.4pt; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-alt: solid windowtext .5pt; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext"
cellSpacing=0 cellPadding=0 border=1>
<TBODY>
<TR
style="HEIGHT: 7.5pt; mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes">
<TD
style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 264.75pt; COLOR: #ffffff; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 7.5pt; mso-border-alt: solid windowtext .5pt"
vAlign=top width=353>
<P class=MsoNormal style="MARGIN-LEFT: 0cm"><B
style="mso-bidi-font-weight: normal"><SPAN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -