3.1 PHWOBJ GetSerialObject(DWORD DeviceArrayIndex):
该函数返回一个指向HWOBJ结构的指针,该结构包含了相关硬件接口函数的函数指针。
DeviceArrayIndex:串口索引号
3.2 VOID HWClearBreak(PVOID pContext):
清除串口中断状态,用于串口从中断状态恢复。
pConText:指向HWInit函数返回的指针。
3.3 VOID HWClearDTR(PVOID pContext):
设置串口的DTR管脚为低
pConText:指向HWInit函数返回的指针。
3.4 VOID HWClearRTS(PVOID pContext):
设置串口的RTS管脚为低
pConText:指向HWInit函数返回的指针。
3.5 VOID HWClose(PVOID pContext):
关闭由HWInit函数初始化的设备
pConText:指向HWInit函数返回的指针。
3.6 VOID HWDeinit(PVOID pContext):
当设备驱动被卸载的时候,该函数被调用。
pConText:指向HWInit函数返回的指针。
3.7 VOID HWDisableIR(PVOID pContext):
禁用串口的红外模式
pConText:指向HWInit函数返回的指针。
3.8 VOID HWEnableIR(PVOID pContext):
启用串口的红外模式
pConText:指向HWInit函数返回的指针。
3.9 VOID HWGetCommProperties(PVOID pContext, LPCOMMPROP pCommProp):
重新获得当前串口设备的硬件属性。
pConText:指向HWInit函数返回的指针。
pCommProp:指向一个COMMPROP结构,该结构描述硬件设备的属性,比如最大波特率,停止位以及流控模式等。
3.10 INTERRUPT_TYPE HWGetIntrType(PVOID pContext):
获得当前的中断类型。返回值可以是INTR_NONE,INTR_LINE,INTR_RX,INTR_TX和INTR_MODEM,这些值在Serhw.h中定义。
pConText:指向HWInit函数返回的指针。
3.11 VOID HWGetModemStatus(PVOID pContext, PULONG pModemStatus):
获得Modem的状态。
pConText:指向HWInit函数返回的指针。
pModemStatus:Modem的状态。
3.12 ULONG HWGetRxBufferSize(PVOID pContext):
获得串口硬件接收Buffer的大小。
pConText:指向HWInit函数返回的指针。
3.13 PVOID HWGetRxStart(PVOID pContext):
返回硬件接收Buffer的起始位置。
pConText:没有被使用。
3.14 ULONG HWGetStatus(PVOID pContext, LPCOMSTAT lpStat):
获得硬件状态信息。
pConText:指向HWInit函数返回的指针。
lpStat:指向COMSTAT结构,该结构描述硬件状态。
3.15 PVOID HWInit(ULONG Identifier, PVOID pMDDContext, PHWOBJ pHWObj):
初始化串口硬件设备。
Identifier:该驱动的键值,从MDD层传到PDD层。
pMDDContext:指向MDD层串口相关信息,从MDD层传给PDD层。
pHWObj:指向HWOBJ结构。
3.16
BOOL HWIoctl(DWORD dwOpenData, DWORD dwCode, PBYTE pBufIn, DWORD
dwLenIn, PBYTE pBufOut, DWORD dwLenOut, PDWORD pdwActualOut):
执行I/O控制
dwOpenData:COM_Open函数返回的Handle。
dwCode:I/O控制操作码。
pBufIn:传入的Buffer。
dwLenIn:传入的Buffer的大小。
pBufOut:传出的Buffer。
dwLenOut:传出的Buffer的大小。
pdwActualOut:实际传出的数据的大小。
3.17 VOID HWLineIntrHandler(PVOID pContext):
线路状态信息中断处理函数
pContext:指向HWInit函数返回的指针。
3.18 VOID HWModemIntrHandler(PVOID pContext):
该函数检测Modem状态,并对相关中断进行处理。
pContext:指向HWInit函数返回的指针。
3.19 BOOL HWOpen(PVOID pContext):
打开串口设备,可以在该函数中打开串口硬件供电。
pContext:指向HWInit函数返回的指针。
3.20 VOID HWOtherHandler(PVOID pContext):
该函数已经被HWModemIntrHandler取代,实现与HWModemIntrHandler一样。
pContext:指向HWInit函数返回的指针。
3.21 BOOL HWPostInit(PVOID pContext):
该函数在COM_Init中被调用,但是在串口数据,硬件以及IST初始化后备调用。
pContext:指向HWInit函数返回的指针。
3.22 BOOL HWPowerOff(PVOID pContext):
串口硬件进入Suspend模式。
pContext:指向HWInit函数返回的指针。
3.23 BOOL HWPowerOn(PVOID pContext):
串口硬件从Suspend模式恢复到工作模式。
pContext:指向HWInit函数返回的指针。
3.24 VOID HWPurgeComm(PVOID pContext, DWORD fdwAction):
清除串口硬件buffer的信息。
pContext:指向HWInit函数返回的指针。
fdwAction:
PURGE_TXABORT:终止写操作立即返回。
PURGE_RXABORT:终止读操作立即返回。
PURGE_TXCLEAR:清空写Buffer。
PURGE_RXCLEAR:清空读Buffer。
3.25 ULONG HWPutBytes(PVOID pContext, PUCHAR pSrc, ULONG NumberOfBytes, PULONG pBytesSent):
通过写数据到硬件中来直接发送数据。
pContext:指向HWInit函数返回的指针。
pSrc:指向要发送的数据Buffer。
NumberOfBytes:要发送的数据长度。
pBytesSent:实际发送的数据长度。
3.26 VOID HWReset(PVOID pContext):
复位串口硬件。
pContext:指向HWInit函数返回的指针。
3.27 ULONG HWRxIntrHandler(PVOID pContext, PUCHAR pTargetBuffer, PULONG pByteNumber):
接收数据中断处理函数。
pContext:指向HWInit函数返回的指针。
pTargetBuffer:接收数据Buffer。
pByteNumber:接收数据Buffer的大小。
3.28 VOID HWSetBreak(PVOID pContext):
设置串口为中断状态,停止发送接收数据。
pContext:指向HWInit函数返回的指针。
3.29 BOOL HWSetCommTimeouts(PVOID pContext, LPCOMMTIMEOUT lpCommTO):
设置串口操作超时时间。
pContext:指向HWInit函数返回的指针。
lpComTO:指向一个超时的结构,其中包括读写超时。
3.30 BOOL HWSetDCB(PVOID pContext, LPDCB pDCB):
设置串口硬件设备信息。
pContext:指向HWInit函数返回的指针。
pDCB:指向DCB结构,该结构描述相关的串口硬件设置信息。
3.31 VOID HWSetDTR(PVOID pContext):
设置串口的DTR管脚为高
pContext:指向HWInit函数返回的指针。
3.32 VOID HWSetRTS(PVOID pContext):
设置串口的RTS管脚为高
pContext:指向HWInit函数返回的指针。
3.23 VOID HWTxIntrHandler(PVOID pContext, PUCHAR pSourceBuffer, PULONG pByteNumber):
串口发送中断处理函数。
pContext:指向HWInit函数返回的指针。
pSourceBuffer:发送数据Buffer。
pByteNumber:最大能够发送的数据的大小。函数返回时,指向实际发送的数据的大小。
3.24 VOID HWXmitComChar(PVOID pContext, UCHAR ComChar):
发送一个字符
pContext:指向HWInit函数返回的指针。
ComChar:要被发送的字符。