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 に設定します。

  • [サイズ] メンバーを [NDIS_SIZEOF_HARDWARE_CROSSTIMESTAMP_REVISION_1] に設定します。

Flags

将来利用するために予約されています。 ミニポート ドライバーは、この値を変更することはできません。

SystemTimestamp1

KeQueryPerformanceCounter を呼び出して取得したパフォーマンス カウンター値 (QPC)。

HardwareClockTimestamp

NIC ハードウェア クロックの現在の値。 これは、NIC の生のハードウェア クロック値である必要があります。

SystemTimestamp2

KeQueryPerformanceCounter を呼び出して取得した別のパフォーマンス カウンター値 (QPC)。

注釈

ミニポート ドライバーは、OID_TIMESTAMP_GET_CROSSTIMESTAMPの OID 要求を受信すると、ドライバーは、NDIS_HARDWARE_CROSSTIMESTAMP構造でQUERY_INFORMATIONInformationBuffer を入力して OID を完了します。

ドライバーは、 SystemTimestamp1HardwareClockTimestampおよび SystemTimestamp2 フィールドに、可能な限り近い、次の順序でタイムスタンプを入力する必要があります。

  1. SystemTimestamp1

  2. HardwareClockTimestamp

  3. SystemTimestamp2

ミニポート ドライバーとハードウェアは、高度なハードウェア機能に応じて、これらのタイムスタンプのコレクションを自由に最適化できます。 ただし、OID の完了時に返される SystemTimestamp1SystemTimestamp2 の値は、キャプチャ時のパフォーマンス カウンター (QPC) 値に正確に対応している必要があります。 HardwareClockTimestamp は、キャプチャポイントでの NIC のハードウェア クロック値に対応している必要があります。 特定の実装で、3 つではなく 2 つのタイムスタンプ (たとえば、1 つのシステム タイムスタンプと対応する NIC ハードウェア クロック タイムスタンプ) をより正確に決定できる場合は、SystemTimestamp2 フィールドを SystemTimestamp1 と同じ値に設定する必要があります。

ミニポート ドライバーは、 SystemTimestamp1HardwareClockTimestamp、または SystemTimestamp2 の値を 0 に設定しないでください。

要件

要件
サポートされている最小のクライアント Windows 11
サポートされている最小のサーバー Windows Server 2022。 NDIS 6.82 以降でサポートされています。
Header ntddndis.h (ndis.h を含む)

こちらもご覧ください

OID_TIMESTAMP_GET_CROSSTIMESTAMP

KeQueryPerformanceCounter

NDIS_OBJECT_HEADER