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

Windows Discussion :

Vista : Paramètres de sécurité pour la creation d'un entrée dans HKCR


Sujet :

Windows

  1. #1
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut Vista : Paramètres de sécurité pour la creation d'un entrée dans HKCR
    Bonjour
    J'utilise RegCreateKeyEx pour créer une clé dans HKEY_CLASS_ROOT.
    La création est refusée et pourtant le code d'erreur est 0, et j'ai le message "Opération réussie !!" (toute la poésie Windows )
    Je pense que c'est parce que je n'utilise pas le descripteur de sécurité.
    Ma question est :
    "Quels sont les paramètres de sécurité pour pouvoir créer cette clé et comment les obtient-on ?"

    Merci

    Question subsidiaire : Connaissez-vous un livre où un site où toutes ces questions de sécurité et d'accès aux données par programmation sous Windows seraient expliquées clairement avec des exemples simples ?

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 380
    Points : 41 576
    Points
    41 576
    Par défaut
    1. Quel code d'erreur lis-tu exactement ?
    2. Es-tu admin ? Seuls les admins peuvent écrire dans HKCR, et sous Vista, il doit peut-être falloir obtenir les privilèges nécessaires d'abord...

  3. #3
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Oui je suis admin.
    Le code retour n'est pas ERROR_SUCCESS. Je teste le code retour avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    if (lResult != ERROR_SUCCESS)
    {
        TCHAR szBuf[80]; 
        LPVOID lpMsgBuf;
        DWORD dw = GetLastError(); 
    
        FormatMessage(
            FORMAT_MESSAGE_ALLOCATE_BUFFER | 
            FORMAT_MESSAGE_FROM_SYSTEM,
            NULL,
            dw,
            MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
            (LPTSTR) &lpMsgBuf,
            0, NULL );
    
        wsprintf(szBuf, 
            "RegisterCOMAddin %s failed with error %d: %s", 
            "RegCreateKeyEx", dw, lpMsgBuf); 
     
        MessageBox(NULL, szBuf, "Error", MB_OK); 
    
        LocalFree(lpMsgBuf);
        return E_ACCESSDENIED;
    }
    Il me dit que le code retour est 0 et que tout a bien fonctionnné !

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 380
    Points : 41 576
    Points
    41 576
    Par défaut
    Et tu trouves ça normal d'utiliser GetLastError() après une fonction qui retourne elle-même directement un code d'erreur ?

  5. #5
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Jusqu'à présent, j'ai toujours fait comme celà, je suis bêtement la doc Windows :
    Citation Envoyé par MSDN
    Return Values
    If the function succeeds, the return value is ERROR_SUCCESS.

    If the function fails, the return value is a nonzero error code defined in Winerror.h. You can use the FormatMessage function with the FORMAT_MESSAGE_FROM_SYSTEM flag to get a generic description of the error.

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 380
    Points : 41 576
    Points
    41 576
    Par défaut
    FormatMessage() oui, GetLastError() non...

  7. #7
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    J'ai fait afficher le retour (lResult), en fait c'est ACCESS_DENIED, ce qui me confirme dans ce que je pensais.

  8. #8
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    J'ai un peu avancé et je crois qu'en fait je suis bloqué !
    C'est une Dll que je veux installer avec regsvr32 et j'ai un peu l'impression qu'une Dll ne peut pas aller écrire dans HKCR alors qu'un exe le peut j'ai fait un test en adaptant ce programme (mis en pièce jointe) à ma dll.
    J'ai ajouté ce manifest
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion ="1.0">
    	<assemblyIdentity name="monapplication"
    			version="1.0.0.0"
    			processorArchitecture="X86"
    			type="win32"/>
    	<description>Mon Application</description>
    	<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    	<security>
    		<requestedPrivileges>
    			<requestedExecutionLevel level="requireAdministrator" />
    		</requestedPrivileges>
    	</security>
    	</trustInfo>
    </assembly>
    Sinon la création est refusée.
    A signaler cette erreur que je ne comprends pas :
    .\cle.manifest : manifest authoring warning 81010002: Unrecognized Element "requestedPrivileges" in namespace "urn:schemas-microsoft-com:asm.v3".
    C'est pourtant du code extrait de MSDN !
    Fichiers attachés Fichiers attachés
    • Type de fichier : c cle.c (4,4 Ko, 141 affichages)

  9. #9
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Résolu : j'ai fait un install avec un projet Install de Visual et ça tourne.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 05/05/2015, 10h38
  2. Réponses: 0
    Dernier message: 02/04/2015, 11h49
  3. [WS 2008] Perte des paramètres de sécurité pour les sous-dossiers
    Par Gloup dans le forum Windows Serveur
    Réponses: 0
    Dernier message: 26/05/2010, 14h21
  4. Réponses: 7
    Dernier message: 19/09/2009, 00h05
  5. Réponses: 0
    Dernier message: 12/11/2007, 14h13

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