Fonction RtlTimeToSecondsSince1970 (winternl.h)
[RtlTimeToSecondsSince1970 est disponible dans Windows 2000 et Windows XP. Il peut être indisponible ou modifié dans les versions ultérieures.]
Convertit l’heure système 64 bits spécifiée en nombre de secondes depuis le début du 1er janvier 1970.
Syntaxe
BOOLEAN RtlTimeToSecondsSince1970(
[in] PLARGE_INTEGER Time,
[out] PULONG ElapsedSeconds
);
Paramètres
[in] Time
Pointeur vers une structure LARGE_INTEGER qui spécifie l’heure système. Les années valides pour cette valeur sont de 1970 à 2105 inclus.
[out] ElapsedSeconds
Pointeur vers une variable qui reçoit le nombre de secondes.
Valeur retournée
Si la fonction réussit, elle retourne TRUE. En cas d’échec, il retourne FALSE. En règle générale, cette fonction échoue si la valeur spécifiée du paramètre Time ne se trouve pas dans le délai valide spécifié dans la description du paramètre.
Remarques
Cette fonction n’a pas de bibliothèque d’importation associée. Vous devez utiliser les fonctions LoadLibrary et GetProcAddress pour établir un lien dynamique vers Ntdll.dll.
Il n’existe aucune fonction publique équivalente. Pour effectuer cette tâche à l’aide de fonctions publiques, procédez comme suit :
- Appelez SystemTimeToFileTime pour copier l’heure système dans une structure FILETIME . Appelez GetSystemTime pour obtenir l’heure système actuelle à passer à SystemTimeToFileTime.
- Copiez le contenu de la structure FILETIME dans une structure ULARGE_INTEGER .
- Initialisez une structure SYSTEMTIME avec la date et l’heure de la première seconde du 1er janvier 1970.
- Appelez SystemTimeToFileTime, en passant la structure SYSTEMTIME initialisée à l’étape 3 à l’appel.
- Copiez le contenu de la structure FILETIME retournée par SystemTimeToFileTime à l’étape 4 dans une deuxième ULARGE_INTEGER. La valeur copiée doit être inférieure ou égale à la valeur copiée à l’étape 2.
- Soustrayez la valeur 64 bits de la structure ULARGE_INTEGER initialisée à l’étape 5 (1er janvier 1970) de la valeur 64 bits de la structure ULARGE_INTEGER initialisée à l’étape 2 (heure système actuelle). Cela produit une valeur par intervalles de 100 nanosecondes depuis le 1er janvier 1970. Pour convertir cette valeur en secondes, divisez par 10 000 000.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Windows |
En-tête | winternl.h |
Bibliothèque | ntdll.lib |
DLL | ntdll.dll |