Home | Info | Community | Development | myReactOS | Contact Us
Definition at line 78 of file connect.c.
Referenced by AfdDispatch().
{ PFILE_OBJECT FileObject = IrpSp->FileObject; PAFD_FCB FCB = FileObject->FsContext; PUINT ConnectOptionsSize = LockRequest(Irp, IrpSp); UINT BufferSize = IrpSp->Parameters.DeviceIoControl.InputBufferLength; if (!SocketAcquireStateLock(FCB)) return LostSocket(Irp); if (!ConnectOptionsSize) return UnlockAndMaybeComplete(FCB, STATUS_NO_MEMORY, Irp, 0); if (BufferSize < sizeof(UINT)) { AFD_DbgPrint(MIN_TRACE,("Buffer too small\n")); return UnlockAndMaybeComplete(FCB, STATUS_BUFFER_TOO_SMALL, Irp, 0); } if (FCB->ConnectOptions) { ExFreePool(FCB->ConnectOptions); FCB->ConnectOptionsSize = 0; FCB->FilledConnectOptions = 0; } FCB->ConnectOptions = ExAllocatePool(PagedPool, *ConnectOptionsSize); if (!FCB->ConnectOptions) return UnlockAndMaybeComplete(FCB, STATUS_NO_MEMORY, Irp, 0); FCB->ConnectOptionsSize = *ConnectOptionsSize; return UnlockAndMaybeComplete(FCB, STATUS_SUCCESS, Irp, 0); }