- Move the implementation of NdisMIndicateStatus to MiniStatus and call it from NdisMIndicateStatus

- Move the implementation of NdisMIndicateStatusComplete to MiniStatusComplete and call it from NdisMIndicateStatusComplete

svn path=/branches/aicom-network-fixes/; revision=36633
This commit is contained in:
Cameron Gutman 2008-10-03 18:38:40 +00:00
parent aed6591143
commit e92e21d4cf

View file

@ -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);
}
@ -1137,29 +1178,7 @@ NdisMIndicateStatus(
IN PVOID StatusBuffer,
IN UINT StatusBufferSize)
{
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.StatusHandler)(
AdapterBinding->NdisOpenBlock.ProtocolBindingContext,
GeneralStatus,
StatusBuffer,
StatusBufferSize);
CurrentEntry = CurrentEntry->Flink;
}
KeReleaseSpinLock(&Adapter->NdisMiniportBlock.Lock, OldIrql);
MiniStatus(MiniportAdapterHandle, GeneralStatus, StatusBuffer, StatusBufferSize);
}
/*
@ -1171,26 +1190,7 @@ EXPORT
NdisMIndicateStatusComplete(
IN NDIS_HANDLE MiniportAdapterHandle)
{
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);
MiniStatusComplete(MiniportAdapterHandle);
}