mirror of
https://github.com/reactos/reactos.git
synced 2024-09-29 05:54:05 +00:00
- Merge aicom-network-fixes up to r36633
- tcpip's ProtocolStatus routine now gets called if a media status change occurs - This would fix a problem in which tcpip doesn't recognize the disconnect of an adapter but the ProtocolStatus handler in tcpip isn't implemented yet so the bug remains svn path=/trunk/; revision=36634
This commit is contained in:
parent
bfbc5ffd7d
commit
cd9b7fd8a1
|
@ -1052,7 +1052,29 @@ MiniStatus(
|
|||
IN PVOID StatusBuffer,
|
||||
IN UINT StatusBufferSize)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
PLOGICAL_ADAPTER Adapter = MiniportHandle;
|
||||
PLIST_ENTRY CurrentEntry;
|
||||
PADAPTER_BINDING AdapterBinding;
|
||||
KIRQL OldIrql;
|
||||
|
||||
KeAcquireSpinLock(&Adapter->NdisMiniportBlock.Lock, &OldIrql);
|
||||
|
||||
CurrentEntry = Adapter->ProtocolListHead.Flink;
|
||||
|
||||
while (CurrentEntry != &Adapter->ProtocolListHead)
|
||||
{
|
||||
AdapterBinding = CONTAINING_RECORD(CurrentEntry, ADAPTER_BINDING, AdapterListEntry);
|
||||
|
||||
(*AdapterBinding->ProtocolBinding->Chars.StatusHandler)(
|
||||
AdapterBinding->NdisOpenBlock.ProtocolBindingContext,
|
||||
GeneralStatus,
|
||||
StatusBuffer,
|
||||
StatusBufferSize);
|
||||
|
||||
CurrentEntry = CurrentEntry->Flink;
|
||||
}
|
||||
|
||||
KeReleaseSpinLock(&Adapter->NdisMiniportBlock.Lock, OldIrql);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1061,7 +1083,26 @@ NTAPI
|
|||
MiniStatusComplete(
|
||||
IN NDIS_HANDLE MiniportAdapterHandle)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
PLOGICAL_ADAPTER Adapter = MiniportAdapterHandle;
|
||||
PLIST_ENTRY CurrentEntry;
|
||||
PADAPTER_BINDING AdapterBinding;
|
||||
KIRQL OldIrql;
|
||||
|
||||
KeAcquireSpinLock(&Adapter->NdisMiniportBlock.Lock, &OldIrql);
|
||||
|
||||
CurrentEntry = Adapter->ProtocolListHead.Flink;
|
||||
|
||||
while (CurrentEntry != &Adapter->ProtocolListHead)
|
||||
{
|
||||
AdapterBinding = CONTAINING_RECORD(CurrentEntry, ADAPTER_BINDING, AdapterListEntry);
|
||||
|
||||
(*AdapterBinding->ProtocolBinding->Chars.StatusCompleteHandler)(
|
||||
AdapterBinding->NdisOpenBlock.ProtocolBindingContext);
|
||||
|
||||
CurrentEntry = CurrentEntry->Flink;
|
||||
}
|
||||
|
||||
KeReleaseSpinLock(&Adapter->NdisMiniportBlock.Lock, OldIrql);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1126,7 +1167,7 @@ NdisMFlushLog(
|
|||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
* @implemented
|
||||
*/
|
||||
#undef NdisMIndicateStatus
|
||||
VOID
|
||||
|
@ -1137,11 +1178,11 @@ NdisMIndicateStatus(
|
|||
IN PVOID StatusBuffer,
|
||||
IN UINT StatusBufferSize)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
MiniStatus(MiniportAdapterHandle, GeneralStatus, StatusBuffer, StatusBufferSize);
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
* @implemented
|
||||
*/
|
||||
#undef NdisMIndicateStatusComplete
|
||||
VOID
|
||||
|
@ -1149,7 +1190,7 @@ EXPORT
|
|||
NdisMIndicateStatusComplete(
|
||||
IN NDIS_HANDLE MiniportAdapterHandle)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
MiniStatusComplete(MiniportAdapterHandle);
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue