// Use the MTC from the Filter Driver.\r
//\r
FilterMonotonicCount = FilterDriver->GetNextMonotonicCount;\r
+ \r
+ //\r
+ // The GetNextMonotonicCount field remembers the last value from the previous time.\r
+ // But we already processed this vaule, so we need to find the next one.\r
+ //\r
+ *Record = GetNextDataRecord (&Private->DataListHead, ClassFilter, &FilterMonotonicCount);\r
if (FilterMonotonicCount != 0) {\r
+ *MonotonicCount = FilterMonotonicCount;\r
+ }\r
+ \r
+ if ((FilterDriver->GetNextMonotonicCount != 0) && (FilterMonotonicCount == 0)) {\r
//\r
- // The GetNextMonotonicCount field remembers the last value from the previous time.\r
- // But we already processed this vaule, so we need to find the next one.\r
+ // If there is no new record to get exit now.\r
//\r
- *Record = GetNextDataRecord (&Private->DataListHead, ClassFilter, &FilterMonotonicCount);\r
- *MonotonicCount = FilterMonotonicCount;\r
- if (FilterMonotonicCount == 0) {\r
- //\r
- // If there is no new record to get exit now.\r
- //\r
- return EFI_NOT_FOUND;\r
- }\r
+ *MonotonicCount = 0;\r
+ return EFI_NOT_FOUND;\r
}\r
}\r
}\r