- /* Get the reord */
- CurrentRecord = CONTAINING_RECORD(NextEntry,
- KBUGCHECK_CALLBACK_RECORD,
- Entry);
-
- /* Validate it */
- if (CurrentRecord->Entry.Blink != LastEntry) return;
- Checksum = (ULONG_PTR)CurrentRecord->CallbackRoutine;
- Checksum += (ULONG_PTR)CurrentRecord->Buffer;
- Checksum += (ULONG_PTR)CurrentRecord->Length;
- Checksum += (ULONG_PTR)CurrentRecord->Component;
-
- /* Make sure it's inserted and valitdated */
- if ((CurrentRecord->State == BufferInserted) &&
- (CurrentRecord->Checksum == Checksum))
- {
- /* Call the routine */
- CurrentRecord->State = BufferStarted;
- (CurrentRecord->CallbackRoutine)(CurrentRecord->Buffer,
- CurrentRecord->Length);
- CurrentRecord->State = BufferFinished;
- }
-
- /* Go to the next entry */
- LastEntry = NextEntry;
- NextEntry = NextEntry->Flink;
+ /* Call the routine */
+ CurrentRecord->State = BufferStarted;
+ (CurrentRecord->CallbackRoutine)(CurrentRecord->Buffer,
+ CurrentRecord->Length);
+ CurrentRecord->State = BufferFinished;