NTSTATUS
DoDisconnect(PAFD_FCB FCB)
{
- PAFD_DISCONNECT_INFO DisReq;
- IO_STATUS_BLOCK Iosb;
NTSTATUS Status;
ASSERT(FCB->DisconnectPending);
Status = TdiDisconnect(&FCB->DisconnectIrp.InFlightRequest,
FCB->Connection.Object,
- &DisReq->Timeout,
+ &FCB->DisconnectTimeout,
FCB->DisconnectFlags,
- &Iosb,
+ &FCB->DisconnectIrp.Iosb,
DisconnectComplete,
FCB,
FCB->ConnectCallInfo,
}
FCB->DisconnectFlags = Flags;
+ FCB->DisconnectTimeout = DisReq->Timeout;
FCB->DisconnectPending = TRUE;
Status = QueueUserModeIrp(FCB, Irp, FUNCTION_DISCONNECT);
UINT ConnSeq;
USHORT DisconnectFlags;
BOOLEAN DisconnectPending;
+ LARGE_INTEGER DisconnectTimeout;
PTRANSPORT_ADDRESS LocalAddress, RemoteAddress;
PTDI_CONNECTION_INFORMATION AddressFrom, ConnectCallInfo, ConnectReturnInfo;
AFD_TDI_OBJECT AddressFile, Connection;