Condividi tramite


Funzione TimeProvCommand (timeprov.h)

Funzione di callback chiamata dal gestore del provider di tempo per inviare comandi al provider di tempo.

Sintassi

HRESULT TimeProvCommand(
  [in] TimeProvHandle hTimeProv,
  [in] TimeProvCmd    eCmd,
  [in] TimeProvArgs   pvArgs
);

Parametri

[in] hTimeProv

Handle per il provider di tempo. La funzione TimeProvOpen riceve questo handle.

[in] eCmd

Comando da inviare. Questo parametro può avere uno dei valori seguenti.

Comando Significato
TPC_GetSamples
Il provider di tempo deve restituire i campioni di ora raccolti. Se non sono disponibili dati, il provider non deve restituire campioni. Per informazioni dettagliate, vedere Osservazioni.

Il parametro pvArgs è puntatore a una struttura TpcGetSamplesArgs . Il gestore del provider di tempo fornisce il buffer per gli esempi. Se il buffer pvArgs è troppo piccolo, il provider deve fornire tutti i campioni che è possibile e restituire ERROR_INSUFFICIENT_BUFFER. Tutti gli altri codici di errore restituiti dal provider vengono ignorati.

TPC_NetTopoChange
La topologia di rete è stata modificata. I provider di rete devono ridenovere le impostazioni di rete e verificare che possano raggiungere le relative origini.

Il parametro pvArgs indica se la modifica è stata richiesta dall'utente (NTC_UserRequested) o dal sistema (NTC_Default).

TPC_Query
Riservato per utilizzi futuri.
TPC_PollIntervalChanged
L'intervallo di polling è stato modificato. Il provider di tempo deve chiamare la funzione GetTimeSysInfo per recuperare il nuovo valore.

Il parametro pvArgs non viene usato. Qualsiasi errore restituito dal provider viene ignorato.

TPC_Shutdown
Il sistema viene arrestato. Il provider di tempo deve uscire entro cinque secondi.

Il parametro pvArgs non viene usato.

TPC_TimeJumped
L'orologio di sistema è stato regolato bruscamente, quindi il provider di tempo deve eliminare i timestamp salvati.

Il parametro pvArgs indica se il salto temporale è stato richiesto dall'utente (TJF_UserRequested) o dal sistema (TJF_Default).

TPC_UpdateConfig
Il provider di tempo deve verificare se i dati di configurazione specifici dell'applicazione archiviati nel Registro di sistema sono stati modificati.

Il parametro pvArgs non viene usato. Qualsiasi errore restituito dal provider viene ignorato.

[in] pvArgs

Puntatore a un buffer che specifica le informazioni sui comandi. Il formato di questi dati dipende dal valore di eCmd.

Valore restituito

Se la funzione ha esito positivo, il valore restituito viene S_OK. In caso contrario, il valore restituito è uno dei codici di errore definiti in WinError.h.

Commenti

Il provider di tempo non deve mai richiedere più di mezzo secondo per la restituzione da questa chiamata.

Quando si elabora il comando TPC_GetSamples, il provider deve restituire un esempio per ogni origine che sta monitorando. Pertanto, un provider hardware deve restituire un esempio, mentre un provider di rete come NTP può restituire più esempi. Il provider non deve restituire più campioni da una singola origine; deve restituire l'esempio migliore dalla cache degli esempi per l'origine. Il provider può restituire lo stesso esempio nelle chiamate successive, purché i dati non siano stati modificati.

Esempio

Per un esempio, vedere Provider di ora di esempio.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione timeprov.h

Vedi anche

GetTimeSysInfoFunc

TimeProvOpen

TpcGetSamplesArgs