29 #include "history.tmh" 40 History->TotalHistoryCount = HistoryCount;
53 NT_ASSERT( history->UsedHistoryCount <= history->TotalHistoryCount );
56 if (history->UsedHistoryCount == history->TotalHistoryCount )
63 NT_ASSERT( history->UsedHistoryCount < history->TotalHistoryCount );
67 NT_ASSERT( history->UsedHistoryCount < history->TotalHistoryCount );
70 history->UsedHistoryCount++;
73 item = &( history->History[ history->UsedHistoryCount-1 ] );
89 UCHAR senseInfoBufferLength;
95 NT_ASSERT( history->UsedHistoryCount <= history->TotalHistoryCount );
96 item = &( history->History[ history->UsedHistoryCount-1 ] );
114 senseInfoBufferLength,
115 (
PVOID)&convertedSenseBuffer,
116 sizeof(convertedSenseBuffer));
120 senseInfoBufferLength =
sizeof(convertedSenseBuffer);
131 senseInfoBufferLength,
133 senseSize = senseInfoBufferLength;
137 senseSize =
min(senseSize,
sizeof(
item->NormalizedSenseData));
__callback PCLASS_COMPRESS_RETRY_HISTORY_DATA Compress
_In_ PTRANSFER_PACKET Pkt
struct _SRB_HISTORY_ITEM SRB_HISTORY_ITEM
PSTORAGE_REQUEST_BLOCK_HEADER Srb
struct _SRB_HISTORY SRB_HISTORY
#define IsDescriptorSenseDataFormat(SenseInfoBuffer)
FORCEINLINE UCHAR ClasspTransferPacketGetSenseInfoBufferLength(_In_ PTRANSFER_PACKET Pkt)
VOID HistoryLogReturnedPacket(TRANSFER_PACKET *Pkt)
VOID NTAPI KeQueryTickCount(IN PLARGE_INTEGER TickCount)
VOID History(INT dir, LPTSTR commandline)
PSRB_HISTORY RetryHistory
PFIXED_SENSE_DATA senseInfoBuffer
VOID HistoryLogSendPacket(TRANSFER_PACKET *Pkt)
PDEVICE_OBJECT DeviceObject
VOID HistoryInitializeRetryLogs(_Out_ PSRB_HISTORY History, ULONG HistoryCount)
#define RtlZeroMemory(Destination, Length)
#define RtlCopyMemory(Destination, Source, Length)
PCLASS_INTERPRET_SENSE_INFO2 InterpretSenseInfo
FORCEINLINE PVOID ClasspTransferPacketGetSenseInfoBuffer(_In_ PTRANSFER_PACKET Pkt)