Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Ovladače miniportu používají indikátor stavu NDIS_STATUS_TIMESTAMP_CAPABILITY k hlášení možností časového razítka hardwaru síťové karty a možností časového razítka softwaru miniportu pro rozhraní NDIS a nadměrné ovladače.
Tato indikace stavu představuje možnosti časového razítka ovladače hardwaru a miniportu, nikoli možnosti, které jsou aktuálně povolené nebo zakázané. Další informace o vytváření sestav aktuální konfigurace časového razítka naleznete v tématu NDIS_STATUS_TIMESTAMP_CURRENT_CONFIG.
Poznámky
Během inicializace by ovladač miniportu měl indikovat možnosti časového razítka hardwaru a softwaru z jeho MiniportInitializeEx funkce. Ovladač by měl:
Inicializace struktury NDIS_TIMESTAMP_CAPABILITIES s možnostmi časového razítka hardwaru a softwaru síťové karty. Ovladač nastaví členy struktury NDIS_TIMESTAMP_CAPABILITIES následujícím způsobem:
- Ovladač používá pole TimestampFlags k označení možností časového razítka hardwaru a softwaru.
Poznámka
Implementace musí podporovat časová razítka hardwaru a křížová razítka. Podpora časových razítek softwaru je volitelná.
Ovladač musí nastavit pole CrossTimestamp na TRUE.
Pole HardwareClockFrequencyHz by mělo obsahovat jmenovitou provozní frekvenci hardwarových hodin používaných pro časové razítko síťové karty. Tato data mohou být použita k zobrazení nominální frekvence hodin koncovým uživatelům pro informační účely.
Pole Typ v poli záhlaví by mělo být nastaveno na NDIS_OBJECT_TYPE_DEFAULT a revizeNDIS_TIMESTAMP_CAPABILITIES_REVISION_1.
Generování indikace stavu NDIS_STATUS_TIMESTAMP_CAPABILITY voláním NdisMIndicateStatusEx pro hlášení možností časového razítka. Pole StatusBuffer struktury NDIS_STATUS_INDICATION by mělo odkazovat na inicializovanou strukturu NDIS_TIMESTAMP_CAPABILITIES.
Ovladač miniportu musí také vygenerovat indikátor stavu NDIS_STATUS_TIMESTAMP_CAPABILITY(ndis-status-timestamp-capability.md), kdykoli zjistí změnu základních hardwarových funkcí.
Takto může ovladač miniportu označit podporované možnosti časového razítka:
// From within its initialization routine, the miniport in this
// example indicates that it supports the following capabilities:
// - PtpV2OverUdpIPv4EventMsgReceiveHw
// - PtpV2OverUdpIPv6EventMsgReceiveHw
// - TaggedTransmitHw
// - CrossTimestamp
NDIS_STATUS MiniportInitializeEx(
_In_ NDIS_HANDLE MiniportAdapterHandle,
_In_ NDIS_HANDLE MiniportDriverContext,
_In_ PNDIS_MINIPORT_INIT_PARAMETERS MiniportInitParameters
)
{
. . .
NDIS_TIMESTAMP_CAPABILITIES timeStampCapabilities;
NDIS_STATUS_INDICATION timeStampStatus;
. . .
// Initialize an NDIS_TIMESTAMP_CAPABILITIES structure
RtlZeroMemory(&timeStampCapabilities, sizeof(timeStampCapabilities));
RtlZeroMemory(&timeStampStatus, sizeof(timeStampStatus));
timeStampCapabilities.Header.Type = NDIS_OBJECT_TYPE_DEFAULT;
timeStampCapabilities.Header.Size = sizeof(timeStampCapabilities);
timeStampCapabilities.Header.Revision = NDIS_TIMESTAMP_CAPABILITIES_REVISION_1;
timeStampCapabilities.CrossTimestamp = TRUE;
timeStampCapabilities.TimestampFlags.PtpV2OverUdpIPv4EventMsgReceiveHw = TRUE;
timeStampCapabilities.TimestampFlags.PtpV2OverUdpIPv6EventMsgReceiveHw = TRUE;
timeStampCapabilities.TimestampFlags.TaggedTransmitHw = TRUE;
timeStampCapabilities.HardwareClockFrequencyHz = 150000;
timeStampStatus.Header.Type = NDIS_OBJECT_TYPE_STATUS_INDICATION;
timeStampStatus.Header.Revision = NDIS_STATUS_INDICATION_REVISION_1;
timeStampStatus.Header.Size = NDIS_SIZEOF_STATUS_INDICATION_REVISION_1;
timeStampStatus.SourceHandle = MiniportAdapterHandle;
timeStampStatus.StatusBuffer = &timeStampCapabilities;
timeStampStatus.StatusBufferSize = sizeof(timeStampCapabilities);
timeStampStatus.StatusCode = NDIS_STATUS_TIMESTAMP_CAPABILITY;
// Generate an NDIS_STATUS_TIMESTAMP_CAPABILITY status indication
NdisMIndicateStatusEx(MiniportAdapterHandle, &timeStampStatus);
. . .
}
Požadavky
Požadavek | Hodnota |
---|---|
Minimální podporovaný klient | Windows 11 |
Minimální podporovaný server | Windows Server 2022 |
Verze NDIS | NDIS 6.82 a novější |
Záhlaví | Ntddndis.h (včetně Ndis.h) |
Viz také
možnosti časového razítka generování sestav a aktuální konfigurace