|
|
Definition at line 1221 of file tdi.c.
Referenced by DoDisconnect().
{
PDEVICE_OBJECT DeviceObject;
if (!TransportObject) {
AFD_DbgPrint(MIN_TRACE, ("Bad transport object.\n"));
return STATUS_INVALID_PARAMETER;
}
AFD_DbgPrint(MID_TRACE,("Called(TransportObject %x)\n", TransportObject));
DeviceObject = IoGetRelatedDeviceObject(TransportObject);
if (!DeviceObject) {
AFD_DbgPrint(MIN_TRACE, ("Bad device object.\n"));
return STATUS_INVALID_PARAMETER;
}
*Irp = TdiBuildInternalDeviceControlIrp(TDI_DISCONNECT,
DeviceObject,
TransportObject,
NULL,
Iosb);
if (!*Irp) {
AFD_DbgPrint(MIN_TRACE, ("Insufficient resources.\n"));
return STATUS_INSUFFICIENT_RESOURCES;
}
TdiBuildDisconnect(*Irp,
DeviceObject,
TransportObject,
CompletionRoutine,
CompletionContext,
Time,
Flags,
RequestConnectionInfo,
ReturnConnectionInfo);
TdiCall(*Irp, DeviceObject, NULL, Iosb);
return STATUS_PENDING;
}
|