IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

Indicateur de démarrage du système


Sujet :

MFC

  1. #1
    gf
    gf est déconnecté
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 3
    Par défaut Indicateur de démarrage du système
    J'ai écrit 1 DLL dont le but est d'être exécutée une fois le système démarré mais elle est appelée lors du démarrage du système ce qui fait planter le démarrage.

    Existe-t-il 1 moyen de savoir si le démarrage du système est terminé et de récupérer la valeur pour que je puisse la tester dans ma DLL ? Je me suis documenté sur la MSDN mais je n'ai rien trouvé dans les variables d'environnement ni dans le registre (sinon la valeur "ReportBootOk" de la clé "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" mais qui ne varie pas de "1").

  2. #2
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    elle est appelée comment ? service ? registre ? demarrage ?

  3. #3
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    Comment tu t'y prend pour qu'elle soit utilisée ainsi ta dll ?
    Si le système n'a pas fini de démarrer, y'a pas de base de regitres, pas de variables d'env. etc...
    Windows a ce qui faut de prévu pour lancer un process uen fois démarré. Reste à savoir dans quel contexte tu as besoin de ça.

  4. #4
    gf
    gf est déconnecté
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 3
    Par défaut
    Ma DLL est appelée par le processus "lsass.exe" et gère les sous-authentifications. Les services lancés au démarrage du système utilisent 1 compte (souvent le compte système local) ce qui entraîne autant de sous-authentifications. Le problème vient du fait que lors de ces sous-authentifications ma DLL intervient mais les instructions de ma DLL font planter le démarrage.

  5. #5
    Membre émérite
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Par défaut
    Dans ce cas je suppose que ton process Isass.exe tourne comme un service windows et les erreurs viennent du code de ta DLL.
    Tu pourrais indiquer les points d'entrées de ta DLL utilisé par Isass.exe :

  6. #6
    gf
    gf est déconnecté
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 3
    Par défaut
    Je sais que le plantage vient de ma DLL, mais je ne veux pas modifier le code de ma DLL qui fonctionne très bien 1 fois que tous les services ont bien démarrés, en effet je parviens à ce que mon code ne soit pas appelé durant le démarrage et l'initialisation des services, mais ce contournement n'est pas 1 solution : je sais que par la suite j'aurai des bogues.

    Tout ce que je veux savoir c'est s'il existe 1 moyen quelconque de savoir si tous les services lancés au démarrage ont été correctement démarrés.

    Merci d'avance

  7. #7
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Tu peux peut-être faire de ta DLL un service qui doit être démarré en dernier... Il me semble avoir lu qu'on pouvait mettre un ordre de démarrage aux services...

    Mais si cela aussi fait planter le programme, je ne vois pas trop...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  8. #8
    Inactif  

    Homme Profil pro
    Ingénieur test de performance
    Inscrit en
    Décembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur test de performance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 986
    Par défaut
    bonjour.

    A mon avis tu gères mal les retours d'erreurs dans ta dll.

    Un exemple tout bête. Tu essaies d'ouvrir un fichier. Si l'ouverture réussie ton programme continue et tout va bien. Si l'ouverture échoue ton programme continue et plante.

    Je ne sais pas ce que fait ta dll, mais quand tous les services sont démarrés elle ne plante pas alors que dans le cas inverse elle plante.

    Tu dois avoir une erreur avant le plantage qui te dis par exemple cette fonction a échouée parce que ce service n'est pas démarré. A ce moment là tu fais en sorte que ton programme il attends que le service soit démarré pour continuer.

    Enfin c'est juste une idée comme ça...

Discussions similaires

  1. Vnc au démarrage du système - conseils
    Par bm dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 03/10/2014, 23h17
  2. [Snow Leopard] Problème démarrage dossiers systèmes
    Par Paenitentia dans le forum Apple
    Réponses: 3
    Dernier message: 10/05/2011, 07h44
  3. démarrer mon programme avec le démarrage de système
    Par chabhoc dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 25/01/2011, 18h59
  4. démarrer la base de données lors du démarrage du système
    Par fouad77fr dans le forum Administration
    Réponses: 3
    Dernier message: 25/09/2007, 10h12
  5. Réponses: 1
    Dernier message: 14/11/2006, 20h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo