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 :

Anomalie fonction IDirectorySearch:GetColum


Sujet :

Windows

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    C++, Java
    Inscrit en
    Juillet 2014
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : C++, Java
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juillet 2014
    Messages : 52
    Points : 32
    Points
    32
    Par défaut Anomalie fonction IDirectorySearch:GetColum
    Bonjour,

    Je bloque actuellement sur une anomalie autour de la fonction GetColumn de l'objet IDirectorySearch.
    J'exécute une requête LDAP pour récupérer la colonne "Member" d'un groupe de mon AD, mais dès que ce groupe contient plus de 1500 membres, la fonction se déroule très bien mais la valeur de dwNumValues est égale à 0.
    Pour un groupe de 1500 membres, je récupère bien la valeur 1500, mais dès qu'il compte 1501 membres ou plus, je récupère 0.

    Avez-vous une idée de l'origine de cette anomalie ?

    Ci-dessous le code de mon application :

    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
            hr = pDSSearchGroupeUser->GetColumn( hSearchGroupeUser, L"Member", &col );
     
            // If this object SUPPORTS this attribue, display it.
            if ( SUCCEEDED(hr) ) 
    		{
    			iNbMembres = col.dwNumValues ;
    	        pDSSearchGroupeUser->FreeColumn(&col);
            }
            else
            {
    			iNbMembres = -2;
    		}

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    734
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 734
    Points : 1 475
    Points
    1 475
    Par défaut
    Salut!
    Tu devrais plutôt poser cette question dans des forums liés à Windows, à mon avis, pour des questions qui regardent plutôt AD...

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    C'est quoi le code d'erreur ?

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    C++, Java
    Inscrit en
    Juillet 2014
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : C++, Java
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juillet 2014
    Messages : 52
    Points : 32
    Points
    32
    Par défaut
    Ca me paraissait être une anomalie LDAP/C++, mais si ceci est plutôt lié à l'AD, en effet je vais tenter ma chance ainsi.
    Citation Envoyé par bacelar Voir le message
    C'est quoi le code d'erreur ?
    Je n'ai aucun code erreur. C'est là qu'est l'os.

    Je rentre bien dans ma boucle if ( SUCCEEDED(hr) ), mais col.dwNumValues me ramène 0 alors qu'il y a 1501 membres dans mon groupe.

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    Moi, je me méfierai de la MACRO SUCCEEDED.
    Elle retourne true même quand il y a des "warning", donc c'est quoi le HRESULT retourné ? (quand ça marche, quand ça marche pas)

  6. #6
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    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 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Thread précédent

    Si c'est toujours le même problème, le HRESULT doit toujours être S_OK.
    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.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    C++, Java
    Inscrit en
    Juillet 2014
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : C++, Java
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juillet 2014
    Messages : 52
    Points : 32
    Points
    32
    Par défaut
    C'est bien ça. Comme je le disais, je rentre bien dans la boucle if, donc mon hr est égal à S_OK.

  8. #8
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    734
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 734
    Points : 1 475
    Points
    1 475
    Par défaut
    Donc on se dirige bien vers une problématique spécifique AD...je n'y connais rien, mais s'il y a un nombre maximum de résultats, n'as-tu pas moyen de faire de la pagination comme avec un RDBMS?

  9. #9
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    Il semble que c'est une limitation "connue" (d'un MVP au moins )

    http://microsoft.public.adsi.general...ivalued-column

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    C++, Java
    Inscrit en
    Juillet 2014
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : C++, Java
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juillet 2014
    Messages : 52
    Points : 32
    Points
    32
    Par défaut
    En effet, c'est une piste que j'ai explorée déjà, mais sans trouver de solution efficace.
    J'ai tenté de voir s'il était possible d'agrandir le PageSize de la requête LDAP, ou de récupérer le résultat en plusieurs fois (d'abord les 1500 premiers membres, puis les suivants), mais je n'ai rien trouvé allant dans ce sens.

    Si jamais vous avez une piste dans cette direction pour solutionner mon problème, je suis preneur. Car je me casse les dents depuis un moment maintenant là-dessus, sans succès.

Discussions similaires

  1. [Généralités] fListeRépertoire(fonction) - anomalies dans l'éditeur de code
    Par Hemgé dans le forum WinDev
    Réponses: 2
    Dernier message: 19/11/2013, 21h54
  2. Anomalie avec fonction Int()
    Par Lonely1 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 13/03/2009, 22h07
  3. FOnction api specifiant la position de la souris
    Par florent dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/05/2002, 20h07

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