shadow modem status register
$30-100 USD
着払い
Assembler or C solution required to obtain a (Delphi accessible) variable (or pointer) to the Shadow modem status register (MSR) via the serial port driver from an associated port handle derived from CreateFile().
Experience with serial port driver escape functions and/or the Extended DCB structure (including the Shadow MSR) would be preferred.
The few lines of code (5?) should be able to be included in a Delphi project and would likely be in-line Assembler or perhaps a C inclusion (and any supporting files if required).
Microsoft refer to this technique ...
---------------
#define COMM_MSRSHADOW 35
LPBYTE GetCommMSRShadow(short nCid)
{
/* Return far pointer to MSR shadow byte */
return (((LPBYTE)SetCommEventMask(nCid, 0)) + COMM_MSRSHADOW);
} /* GetCommMSRShadow */
Once this pointer is available, it can be used as follows: lpMSRShadow = GetCommMSRShadow(nCid);
bRLSD = (*lpMSRShadow) & MSR_RLSD;
if (bRLSD)
/** RLSD is high **/
else
/** RLSD is low **/
------------------
Next example shows Assembler access to the Shadow MSR and approaches a solution.
VCOMM_PM_API_SetMSRShadow
include [url removed, login to view]
mov ebx, hPort
les dx, myshadow
mov ax, VCOMM_PM_API_SetMSRShadow
call [_VCOMMCallAddr]
--------------------
Code that passes a test of returning the SHADOW_MSR data (when the variable/pointer is used) is required.
Eg: Delphi
IF SHADOW_MSR = (some variable) then (do something).
## Deliverables
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
## Platform
WIN98 and XP specifically.
プロジェクトID: #3882531