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 요청을 받으면 드라이버는 QUERY_INFORMATIONInformationBuffer를 NDIS_HARDWARE_CROSSTIMESTAMP 구조로 채워 OID를 완료합니다.
드라이버는 SystemTimestamp1, HardwareClockTimestamp 및 SystemTimestamp2 필드를 가능한 한 가까이에서 다음 순서로 가져온 타임스탬프로 채워야 합니다.
SystemTimestamp1
HardwareClockTimestamp
SystemTimestamp2
미니포트 드라이버 및 하드웨어는 고급 하드웨어 기능에 따라 이러한 타임스탬프의 컬렉션을 자유롭게 최적화할 수 있습니다. 그러나 OID 완성 시 반환된 SystemTimestamp1 및 SystemTimestamp2 값은 캡처 시 QPC(성능 카운터) 값과 정확하게 일치해야 합니다. HardwareClockTimestamp는 캡처할 때 NIC의 하드웨어 클록 값에 해당해야 합니다. 특정 구현이 3개가 아닌 두 개의 타임스탬프(예: 하나의 시스템 타임스탬프 및 해당 NIC 하드웨어 클록 타임스탬프)를 보다 정확하게 결정할 수 있는 경우 SystemTimestamp2 필드를 SystemTimestamp1과 동일한 값으로 설정해야 합니다.
미니포트 드라이버는 SystemTimestamp1, HardwareClockTimestamp 또는 SystemTimestamp2 값을 0으로 설정하면 안 됩니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 11 |
지원되는 최소 서버 | Windows Server 2022. NDIS 6.82 이상에서 지원됩니다. |
머리글 | ntddndis.h(include ndis.h) |