NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG
ミニポート ドライバーは、NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG ステータス指示を使用し、NDIS と上位ドライバーに NIC ハードウェアおよびミニポート ドライバーの現在のタイムスタンプ構成を報告します。
このステータス指示は、現在有効または無効になっているタイムスタンプ機能を表しています。 タイムスタンプ機能を報告するためにドライバーが使用するステータス指示については、NDIS_STATUS_TIMESTAMP_CAPABILITY をご覧ください。
解説
初期化時、ミニポート ドライバーは、MiniportInitializeEx 関数内から現在のタイムスタンプ構成を指示する必要があります。 ドライバーは次の手順を実行する必要があります:
現在のタイムスタンプ構成を使用して、NDIS_TIMESTAMP_CAPABILITIES 構造を初期化します。 ドライバーは、NDIS_TIMESTAMP_CAPABILITIES 構造のメンバーを次のように設定します。
- ドライバーは、TimestampFlags フィールドを使用して、その現在のタイムスタンプの構成を指示します。 対応するタイムスタンプ機能が現在有効になっている場合は、NDIS_TIMESTAMP_CAPABILITY_FLAGS 構造の各フラグを TRUE に、有効になっていない場合は FALSE に設定する必要があります。
Note
現在有効または無効になっているタイムスタンプ機能を判断するため、ミニポートはタイムスタンプ関連のキーワード *PtpHardwareTimestamp と *SoftwareTimestamp の現在の値を読み取ります。 これらのキーワードの使用と、有効にするタイムスタンプ機能の決定について詳しくは、「NDIS パケット タイムスタンプの標準化された INF キーワード」をご覧ください。
Note
実装により、キーワードを通じて有効になっているハードウェア タイムスタンプとソフトウェア タイムスタンプの両方が検出された場合、ミニポートはハードウェア タイムスタンプのみを有効にし、ソフトウェア タイムスタンプを無効にする必要があります。
現在の構成でハードウェア クロス タイムスタンプが有効になっている場合は、ドライバーが CrossTimestamp フィールドを TRUE に、有効になっていない場合は FALSE に設定する必要があります。
HardwareClockFrequencyHz フィールドには、NIC のハードウェア クロックの現在の動作周波数が含まれている必要があります。
ヘッダー フィールドの型フィールドを NDIS_OBJECT_TYPE_DEFAULT に設定し、リビジョンを NDIS_TIMESTAMP_CAPABILITIES_REVISION_1 に設定する必要があります。
NdisMIndicateStatusEx を呼び出して現在の構成を報告することにより、NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG ステータス指示を生成します。 NDIS_STATUS_INDICATION 構造の StatusBuffer フィールドは、初期化された NDIS_TIMESTAMP_CAPABILITIES 構造をポイントしている必要があります。
ミニポート ドライバーは、NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG を指示する前に、少なくとも 1 回 NDIS_STATUS_TIMESTAMP_CAPABILITY 指示を生成する必要があります。 それ以外の場合、NDIS は NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG ステータス指示を拒否し、上位ドライバーには指示されません。
ミニポート ドライバーは、NDIS_STATUS_TIMESTAMP_CAPABILITY ステータス指示を使用して NIC のハードウェア タイムスタンプ機能の変更を指示する場合 (たとえば、NIC ハードウェアに基になる変更が加えられたことによる、NDIS_TIMESTAMP_CAPABILITIES 構造の HardwareClockFrequencyHz フィールドの変更)、NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG ステータス指示を使用して現在の構成の対応する変更も報告する必要があります。
ミニポート ドライバーは、現在のタイムスタンプ構成の変更を検出するたびに、NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG ステータス指示を生成する必要もあります。
要件
要件 | Value |
---|---|
サポートされている最小のクライアント | Windows 11 |
サポートされている最小のサーバー | Windows Server 2022 |
NDIS のバージョン | NDIS 6.82 以降 |
ヘッダー | Ntddndis.h (Ndis.h を含む) |
関連項目
NDIS パケット タイムスタンプ用の標準化された INF キーワード
NDIS_STATUS_TIMESTAMP_CAPABILITY