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_INFORMATION InformationBuffer 를 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(ndis.h 포함) |
참고 항목
피드백
다음에 대한 사용자 의견 제출 및 보기