다음을 통해 공유


OID_GEN_CO_GET_TIME_CAPS

참고

OID_GEN_CO_GET_TIME_CAPS OID_GEN_GET_TIME_CAPS 동일합니다.

OID_GEN_CO_GET_TIME_CAPS OID는 다음과 같이 정의된 GEN_GET_TIME_CAPS 구조로 형식이 지정된 NIC의 현지 시간을 보고하는 기능을 반환하도록 미니포트 드라이버에 요청합니다.

typedef struct _GEN_GET_TIME_CAPS{
    ULONG   Flags;
    ULONG   ClockPrecision;
} GEN_GET_TIME_CAPS, *PGEN_GET_TIME_CAPS;

이 구조체의 멤버는 다음 정보를 포함합니다.

플래그
다음 플래그는 함께 ORed할 수 있습니다. 지정되지 않은 모든 플래그는 0으로 설정해야 합니다.

READABLE_LOCAL_CLOCK
설정되면 NIC에서 읽을 수 있는 클록이 있음을 나타냅니다. 이러한 하드웨어 시계가 없더라도 미니포트 드라이버는 ClockPrecision 멤버에서 올바른 정밀도를 보고하는 한 NdisGetCurrentSystemTime을 호출하여 시스템 시계를 사용할 수 있습니다.

CLOCK_NETWORK_DERIVED
이 설정되면 NIC의 현지 시간이 무료 실행 온보딩 클록이 아닌 네트워크 연결에서 파생되었음을 나타냅니다.

CLOCK_PRECISION
이 설정되면 ClockPrecision 멤버에 유효한 정보가 포함되어 있음을 나타냅니다.

RECEIVE_TIME_INDICATION_CAPABLE
설정되면 NIC 하드웨어가 수신된 PDU의 첫 번째 셀을 수신하는 현지 시간을 기록할 수 있으며 미니포트 드라이버가 프로토콜에 패킷을 나타낼 때 각 PDU에 대해 이 수신 시간을 전파함을 나타냅니다.

TIMED_SEND_CAPABLE
설정되면 NIC가 현지 시간에 따라 전송을 위해 패킷을 예약할 수 있음을 나타냅니다. 프로토콜은 NDIS_SET_PACKET_TIME_TO_SEND 사용하여 패킷 설명자의 대역 외 데이터 블록에서 TimeToSend 타임스탬프를 설정할 수 있습니다. 타임스탬프 설정은 패킷이 실제로 전송될 때 영향을 주지 않습니다. 대신 타임스탬프는 레코드 보관에 사용됩니다. 프로토콜 드라이버는 타임스탬프를 사용하여 paket 전송을 완료하는 데 걸리는 시간을 결정할 수 있습니다.

TIME_STAMP_CAPABLE
설정되면 NIC가 패킷의 첫 번째 바이트가 전송되는 시간을 나가는 패킷의 적절한 필드에 스탬프할 수 있고 NIC가 인바운드 패킷의 동일한 필드에서 이 시간을 검색할 수 있음을 나타냅니다.

ClockPrecision
100만 개당 부분의 클록 정밀도를 지정합니다. 이 정보가 유효한 것으로 간주되려면 CLOCK_PRECISION 플래그를 설정해야 합니다.

설명

미니포트 드라이버는 로컬 또는 네트워크 시계가 없는 경우에도 특정 타이밍 매개 변수를 지원할 수 있습니다. 특히 미니포트 드라이버는 수신 시간 표시, 시간 제한 전송 및 타임스탬프를 위해 시스템 시계를 사용할 수 있습니다. NIC 기반 클록은 더 높은 정밀도를 제공하고 시스템 클록보다 짧은 대기 시간으로 액세스할 수 있기 때문에 더 좋습니다. 모든 경우에 미니포트 드라이버는 사용하는 클록의 정밀도를 지정해야 합니다. 이를 통해 프로토콜은 미니포트 드라이버의 타이밍 지원을 가장 잘 사용하는 방법을 결정할 수 있습니다.

미니포트 드라이버가 읽을 수 있는 클록의 존재를 보고하는 경우 OID_GEN_GET_NETCARD_TIME 쿼리에 즉시 응답할 수 있도록 준비해야 합니다. 이 호출에 대한 미니포트 드라이버의 응답은 시간이 중요하므로 동기적이어야 합니다.

요구 사항

버전: Windows Vista 이상 헤더: Ntddndis.h(Ndis.h 포함)