<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Mit NetUserEnum alle Heimatverzeichnisse besorgen funktioniert nicht...]]></title><description><![CDATA[<p>Ich hab versucht mit folgendem Code die Heimatverzeichnisse aller Benutzer zu bekommen. Nur funktioniert das nicht wirklich.<br />
Ich bekomme zwar die Benutzernamen aber die usri*_home_dir ist immer ein leerer String. (Laut Debugger)</p>
<p>Code:</p>
<pre><code class="language-cpp">vector&lt;wstring&gt; GetHomeDirectories()
{
    vector&lt;wstring&gt; pathlist;

    LPUSER_INFO_1 info_buf = 0;
    DWORD total_entries    = 0;
    DWORD entries_read     = 0;    
    NET_API_STATUS status  = 0;

    do 
    {
        status =  NetUserEnum(0,1,FILTER_NORMAL_ACCOUNT,(LPBYTE*)&amp;info_buf,MAX_PREFERRED_LENGTH,&amp;entries_read,&amp;total_entries,0);

        if(status == NERR_Success || status == ERROR_MORE_DATA)
        {

            if(info_buf)
            {
                LPUSER_INFO_1 info = info_buf;
                for(DWORD i = 0; i &lt; entries_read;++i)
                {
                    if(info)
                    {
                        if(info-&gt;usri1_home_dir)
                        {
                            if(PathFileExists(info-&gt;usri1_home_dir))
                                pathlist.push_back(info-&gt;usri1_home_dir);
                        }

                        ++info;
                    }
                }

            }

        }

        if (info_buf)
        {
            NetApiBufferFree(info_buf);
            info_buf = 0;
        }

    } while(status == ERROR_MORE_DATA);

    if(info_buf)
        NetApiBufferFree(info_buf);   

    return pathlist;
}
</code></pre>
<p>Gibt es da vielleicht einen anderen Weg an alle Verzeichnisse zu kommen?</p>
<p>Da das ganze soll für alle Windowsversionen (incl aller sprachversionen) ab 2000 funktionieren (falls es da was anderes gibt)</p>
<p>Oder habe ich da vielleicht was vergessen? Oder falsch gemacht?</p>
<p>Thx im voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/143967/mit-netuserenum-alle-heimatverzeichnisse-besorgen-funktioniert-nicht</link><generator>RSS for Node</generator><lastBuildDate>Wed, 15 Jul 2026 10:52:29 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/143967.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 13 Apr 2006 10:30:12 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Mit NetUserEnum alle Heimatverzeichnisse besorgen funktioniert nicht... on Thu, 13 Apr 2006 10:30:12 GMT]]></title><description><![CDATA[<p>Ich hab versucht mit folgendem Code die Heimatverzeichnisse aller Benutzer zu bekommen. Nur funktioniert das nicht wirklich.<br />
Ich bekomme zwar die Benutzernamen aber die usri*_home_dir ist immer ein leerer String. (Laut Debugger)</p>
<p>Code:</p>
<pre><code class="language-cpp">vector&lt;wstring&gt; GetHomeDirectories()
{
    vector&lt;wstring&gt; pathlist;

    LPUSER_INFO_1 info_buf = 0;
    DWORD total_entries    = 0;
    DWORD entries_read     = 0;    
    NET_API_STATUS status  = 0;

    do 
    {
        status =  NetUserEnum(0,1,FILTER_NORMAL_ACCOUNT,(LPBYTE*)&amp;info_buf,MAX_PREFERRED_LENGTH,&amp;entries_read,&amp;total_entries,0);

        if(status == NERR_Success || status == ERROR_MORE_DATA)
        {

            if(info_buf)
            {
                LPUSER_INFO_1 info = info_buf;
                for(DWORD i = 0; i &lt; entries_read;++i)
                {
                    if(info)
                    {
                        if(info-&gt;usri1_home_dir)
                        {
                            if(PathFileExists(info-&gt;usri1_home_dir))
                                pathlist.push_back(info-&gt;usri1_home_dir);
                        }

                        ++info;
                    }
                }

            }

        }

        if (info_buf)
        {
            NetApiBufferFree(info_buf);
            info_buf = 0;
        }

    } while(status == ERROR_MORE_DATA);

    if(info_buf)
        NetApiBufferFree(info_buf);   

    return pathlist;
}
</code></pre>
<p>Gibt es da vielleicht einen anderen Weg an alle Verzeichnisse zu kommen?</p>
<p>Da das ganze soll für alle Windowsversionen (incl aller sprachversionen) ab 2000 funktionieren (falls es da was anderes gibt)</p>
<p>Oder habe ich da vielleicht was vergessen? Oder falsch gemacht?</p>
<p>Thx im voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1036621</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1036621</guid><dc:creator><![CDATA[NetUserEnum]]></dc:creator><pubDate>Thu, 13 Apr 2006 10:30:12 GMT</pubDate></item><item><title><![CDATA[Reply to Mit NetUserEnum alle Heimatverzeichnisse besorgen funktioniert nicht... on Sat, 15 Apr 2006 09:59:38 GMT]]></title><description><![CDATA[<p>*push*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1037798</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1037798</guid><dc:creator><![CDATA[NetUserEnum]]></dc:creator><pubDate>Sat, 15 Apr 2006 09:59:38 GMT</pubDate></item></channel></rss>