次の方法で共有


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

  • リビジョン メンバーを 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 要求を受信すると、ドライバーは、InformationBufferQUERY_INFORMATIONNDIS_HARDWARE_CROSSTIMESTAMP 構造体を入力することによって OID を完了します。

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

  1. SystemTimestamp1

  2. HardwareClockTimestamp

  3. SystemTimestamp2

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

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

必要条件

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

関連項目

OID_TIMESTAMP_GET_CROSSTIMESTAMP

KeQueryPerformanceCounter

NDIS_OBJECT_HEADER