阅读:1262回复:4
dos下的TCPDRV中断int21h (ax=4402)是何用?(20分答谢)问题已解决
AX=4402, BX=handle of \'TCPDRV$\', CX=19h, DS:DX=pointer to buffer\"07 00 00 00 00 00 00 00...\",省略号代表00h,然后int21h,应该调用TCPDRV的IOControl,可是这个功能的详细功能是什么呢。我调用后返回结果是状态位CF=0,DS:DX pointer to \"07 07 00 00 00 00 00...\",07h应该时返回的错误代码吧,那应该表示什么错误呢?能说详细点吗?谢谢!!!
[编辑 - 11/16/02 by silan] |
|
|
沙发#
发布于:2002-11-11 11:36
Inp.:
AX = 4402h BX = file handle referencing device \"TCPDRV$\" CX = 0019h DS:DX -> buffer containing request block (see #01481) Return: CF clear if successful buffer filled CF set on error AX = error code (01h,05h,06h,0Dh) (see #01657 at AH=59h/BX=0000h) Program: TCPDRV.DOS is the low-level device driver supporting LAN Manager\'s TCP/IP protocol stack Format of TCPDRV.DOS request block: Offset Size Description (Table 01481) 00h BYTE (call) function number 00h initialize ??? 06h get ??? 07h get ??? 01h BYTE (call) 00h (ret) error code if error, unchanged if successful 02h WORD signature 4354h (\'CT\') ---function 00h--- 04h DWORD (call) pointer to ??? FAR function function is called with ES:BX -> device driver request used to invoke this function 08h 4 BYTEs ??? 0Ch DWORD (call) pointer to ??? record, WORD at offset 22h is read 10h DWORD (ret) -> ??? buffer if 0000h:0000h on call ---function 06h--- 04h 4 BYTEs ??? 08h DWORD (ret) pointer to ??? ---function 07h--- 04h DWORD (ret) pointer to ??? record 到要网上下载一下叫中断大全的东东,内有详细解释。interrupt不知本站有没有。 |
|
|
板凳#
发布于:2002-11-11 14:27
我在网上也只能查到跟你给出的一样的东西,不够用啊,而且我感觉那上面说的还有错误,我在tcptsr中用softice跟踪了一下,调用int21h后,CF=0(SUCCESS),,却有AX=0019h,DS:DX指向的内容变为“07 07 00 00 00 00 00 00 。。。”,正确的结果应该DS:DX指向的内容变为\"07 00 00 00\",紧接下来的四个字节应该是MACServiceSpecCharacteristics的地址,而不是00h。
|
|
|
地板#
发布于:2002-11-12 12:03
偶也没办法了
|
|
|
地下室#
发布于:2002-11-14 09:08
我已经绕过这个问题了,这个问题对我已无关紧要了,谢谢各位帮助。
|
|
|