none
Lire REG_BINARY du registre RRS feed

  • Question

  • Bonjour à tous,
    J'aimerais  lire une valeur de type REG_BINARY.

    Voici la fonction que j'utilise
    RegEnumValue(hSubKey, i,NomVal, &NNom,NULL,&type,Valeur,&NVal);

    type me retourne 3=> REG_BINARY, malheureusement je ne sais pas comment récupérer\afficher correctement la valeur.

    voici ce qu'il y a dans mon registre: Valeur 1e 44 92 3a

    Merci d'avance pour votre aide
    mercredi 3 décembre 2008 16:02

Toutes les réponses

  • Tout d'abord il faut savoir que les valeurs de type REG_BINARY peuvent contenir des données dont l'étendue est variable (de 0 octet à beaucoup d'octets).
    Donc pour récupérer une valeur de ce type, il faut d'abord récupérer la taille de la valeur (1), allouer de la mémoire (2) et récupérer les données (3) :

    1. Récupérer les infos de la valeur
    DWord dwType;
    DWord dwSize;
    RegQueryValueEx( hKey, ValueName, NULL, &dwType, NULL, &dwSize );

    2. Allouer la mémoire
    char *ptr = (char*)malloc( dwSize );

    3. Récupérer la valeur
    RegQueryValueEx( hKey, ValueName, NULL, NULL, (LPBYTE)ptr, &dwSize );

    MrFL.
    • Proposé comme réponse MrFL vendredi 30 octobre 2009 04:35
    vendredi 30 octobre 2009 04:35