共用方式為


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。

驅動程式應填入 SystemTimestamp1HardwareClockTimestampSystemTimestamp2 欄位,並盡可能以下列順序彼此接近時間戳:

  1. SystemTimestamp1

  2. HardwareClockTimestamp

  3. SystemTimestamp2

迷你埠驅動程式和硬體可根據任何進階硬體功能,將這些時間戳的集合優化。 不過,在擷取時,SystemTimestamp1SystemTimestamp2 值必須準確地對應到擷取時的性能計數器 (QPC) 值。 HardwareClockTimestamp 必須對應至擷取點的 NIC 硬體時鐘值。 如果特定實作可以更準確地判斷兩個時間戳,而不是三個時間戳(例如,一個系統時間戳和對應的 NIC 硬體時鐘時間戳),則它應該將 SystemTimestamp2 字段設定為與 systemTimestamp1 相同的值。

迷你埠驅動程式不應將 SystemTimestamp1HardwareClockTimestampSystemTimestamp2 值設定為

要求

要求 價值
最低支援的用戶端 Windows 11
支援的最低伺服器 Windows Server 2022。 NDIS 6.82 和更新版本支援。
標頭 ntddndis.h (include ndis.h)

另請參閱

OID_TIMESTAMP_GET_CROSSTIMESTAMP

KeQueryPerformanceCounter

NDIS_OBJECT_HEADER