include vcomm.inc
_PortData STRUC
PDLength            DW  ?  ; size of this structure
PDVersion           DW  ?  ; version of this structure
PDfunctions         DD  ?  ; address of _PORTFUNCTIONS
PDNumFunctions      DD  ?  ; last supported function
dwLastError         DD  ?  ; see below
dwClientEventMask   DD  ?  ; see below
lpClientEventNotify DD  ?  ; see below
lpClientReadNotify  DD  ?  ; see below
lpClientWriteNotify DD  ?  ; see below
dwClientRefData     DD  ?  ; see below
dwWin31Req          DD  ?  ; reserved
dwClientEvent       DD  ?  ; see below
dwCallerVMID        DD  ?  ; reserved
dwDetectedEvents    DD  ?  ; see below
dwCommError         DD  ?  ; detected I/O errors; see below
bMSRShadow          DB  ?  ; see below
wFlags              DW  ?  ; reserved
LossByte            DB  ?  ; reserved
QInAddr             DD  ?  ; base address of receive queue
QInSize             DD  ?  ; size of receive queue
QOutAddr            DD  ?  ; base address of transmit queue
QOutSize            DD  ?  ; size of transmit queue
QInCount            DD  ?  ; num. bytes in receive queue
QInGet              DD  ?  ; see below
QInPut              DD  ?  ; see below
QOutCount           DD  ?  ; num. bytes in transmit queue
QOutGet             DD  ?  ; see below
QOutPut             DD  ?  ; see below
ValidPortData       DD  ?  ; reserved
lpLoadHandle        DD  ?  ; see below
cmto COMMTIMEOUTS <>       ; see below
lpReadRequestQueue  DD  ?  ; reserved
lpWriteRequestQueue DD  ?  ; reserved
dwLastReceivedTime  DD  ?  ; time of last reception of data
dwReserved1         DD  ?  ; reserved
dwReserved2         DD  ?  ; reserved
_PortData ENDS
 Contains information about an open port. Some of the information in this structure is used by VCOMM, and some by the port driver. The port driver is responsible for initializing the fields whose names begin with PD.
commtimeouts, PortEnableNotification, _PORTFUNCTIONS, PortGetEventMask, PortSetModemStatusShadow, _VCOMM_ClearCommError, _VCOMM_SetCommEventMask