NT Developers Interest List digest wrote:
NT Developers Interest List Digest for Monday, October 30, 2000.
Subject: Re: TDI Question
From: Justin White
> Date: Mon, 30 Oct 2000 09:07:33 +0200
> X-Message-Number: 1
>
> Thanks Jason,
>
> This does help a bit, although as far as i know, a TDI_ACCEPT does not
> have to be used if a ClientEventConnect handler is registered. The
> ClientEventConnect handler does however fill in the ConnectionContext
> value and then return to the transport with this value set. This context
> value is then supposed to be NULL if the connection is refused. My
> problem is that the TDI_ACCEPT is not being called and so although I
> have the open address object, if the ACCEPT call is not made, I can’t
> make the association.
Justin,
To accept a connection, you must ultimately supply a TDI_ACCEPT IRP.
The key is that it is not always supplied by an explict call to
TDI_ACCEPT.
In the case of ClientEventConnect, the final parameter in this function
call is a IRP *pAcceptIrp - a pointer to an IRP.
If the client wants to accept the connection, it must return an IRP
which has been pre-built as a TDI_ACCEPT IRP, and set the return status
to STATUS_MORE_PROCESSING_REQUIRED.
This is where you TDI_ACCEPT is coming from, and it lets you do the
association.
Hope this helps,
Jason
–
Jason O’Broin, Member of Technical Staff, Server Products Group
Wind River Networks, 500 Wind River Way, Alameda, CA 94501-1147 USA
Phone: +1 (510) 749 2466 Fax: +1 (510) 749 2914 Email: xxxxx@wrs.com