NDIS_HARDWARE_CROSSTIMESTAMP結構 (ntddndis.h)
NDIS_HARDWARE_CROSSTIMESTAMP 結構描述 NIC 硬體時鐘與系統時鐘之間的交叉時間戳。
語法
typedef struct _NDIS_HARDWARE_CROSSTIMESTAMP {
NDIS_OBJECT_HEADER Header;
ULONG Flags;
ULONG64 SystemTimestamp1;
ULONG64 HardwareClockTimestamp;
ULONG64 SystemTimestamp2;
} NDIS_HARDWARE_CROSSTIMESTAMP, *PNDIS_HARDWARE_CROSSTIMESTAMP;
成員
Header
描述此 NDIS_HARDWARE_CROSSTIMESTAMP 結構的 NDIS_OBJECT_HEADER 結構。 設定 NDIS_OBJECT_HEADER 結構的成員,如下所示:
將 Type 成員設定為 NDIS_OBJECT_TYPE_DEFAULT。
將 Revision 成員設定為 NDIS_HARDWARE_CROSSTIMESTAMP_REVISION_1。
將 Size 成員設定為 NDIS_SIZEOF_HARDWARE_CROSSTIMESTAMP_REVISION_1。
Flags
保留供日後使用。 迷你埠驅動程式不得變更此值。
SystemTimestamp1
呼叫 KeQueryPerformanceCounter取得的性能計數器值 (QPC)。
HardwareClockTimestamp
NIC 硬體時鐘的目前值。 這應該是 NIC 的原始硬體時鐘值。
SystemTimestamp2
呼叫 KeQueryPerformanceCounter取得的另一個性能計數器值 (QPC)。
言論
當迷你埠驅動程式收到 OID_TIMESTAMP_GET_CROSSTIMESTAMP的 OID 要求時,驅動程式會填入 QUERY_INFORMATION 中的 InformationBuffer,以 NDIS_HARDWARE_CROSSTIMESTAMP 結構填滿 OID。
驅動程式應填入 SystemTimestamp1、HardwareClockTimestamp 和 SystemTimestamp2 欄位,並盡可能以下列順序彼此接近時間戳:
SystemTimestamp1
HardwareClockTimestamp
SystemTimestamp2
迷你埠驅動程式和硬體可根據任何進階硬體功能,將這些時間戳的集合優化。 不過,在擷取時,SystemTimestamp1 和 SystemTimestamp2 值必須準確地對應到擷取時的性能計數器 (QPC) 值。 HardwareClockTimestamp 必須對應至擷取點的 NIC 硬體時鐘值。 如果特定實作可以更準確地判斷兩個時間戳,而不是三個時間戳(例如,一個系統時間戳和對應的 NIC 硬體時鐘時間戳),則它應該將 SystemTimestamp2 字段設定為與 systemTimestamp1 相同的值。
迷你埠驅動程式不應將 SystemTimestamp1、HardwareClockTimestamp或 SystemTimestamp2 值設定為 零。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 11 |
支援的最低伺服器 | Windows Server 2022。 NDIS 6.82 和更新版本支援。 |
標頭 | ntddndis.h (include ndis.h) |