<?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[Wo ist die DsGetDc.h Datei?]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>also irgendwie treibt mich mein Visual Studio 2003 grad in den Wahnsinn. Ich möchte aus einem MFC Programmheraus meinen Domaincontroller ermitteln. Kein Problem, beispiel Sourcecode gibts genug in der MSDN.<br />
Nur wenn ich das ding jetzt kompilieren will erkennt er die Funktionen wie DsGetDcName, DsGetDcOpen,... nicht und das DsGetDC.h File ist auch nirgends auf meiner Platte zu finde.</p>
<p>Kann mir jemand verraten wo ich das her bekomme?</p>
<p>thx. Joe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/188118/wo-ist-die-dsgetdc-h-datei</link><generator>RSS for Node</generator><lastBuildDate>Sun, 12 Apr 2026 03:59:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/188118.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 27 Jul 2007 08:15:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wo ist die DsGetDc.h Datei? on Fri, 27 Jul 2007 08:15:03 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>also irgendwie treibt mich mein Visual Studio 2003 grad in den Wahnsinn. Ich möchte aus einem MFC Programmheraus meinen Domaincontroller ermitteln. Kein Problem, beispiel Sourcecode gibts genug in der MSDN.<br />
Nur wenn ich das ding jetzt kompilieren will erkennt er die Funktionen wie DsGetDcName, DsGetDcOpen,... nicht und das DsGetDC.h File ist auch nirgends auf meiner Platte zu finde.</p>
<p>Kann mir jemand verraten wo ich das her bekomme?</p>
<p>thx. Joe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1333635</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1333635</guid><dc:creator><![CDATA[Joe80]]></dc:creator><pubDate>Fri, 27 Jul 2007 08:15:03 GMT</pubDate></item><item><title><![CDATA[Reply to Wo ist die DsGetDc.h Datei? on Fri, 27 Jul 2007 08:50:32 GMT]]></title><description><![CDATA[<p>Genau weiß ich es nicht, aber vlt. sind die Dateien, die du suchst im Platform SDK enthalten.</p>
<p><a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&amp;displaylang=en" rel="nofollow">http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&amp;displaylang=en</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1333681</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1333681</guid><dc:creator><![CDATA[Mr.Yellow]]></dc:creator><pubDate>Fri, 27 Jul 2007 08:50:32 GMT</pubDate></item><item><title><![CDATA[Reply to Wo ist die DsGetDc.h Datei? on Mon, 30 Jul 2007 06:48:40 GMT]]></title><description><![CDATA[<p>ja ich bin grad draufgekommen das es doch nicht daran liegen kann, das er die DsGetDc.h nicht findet.</p>
<p>also ich haben folgenden Code:</p>
<pre><code class="language-cpp">void ADSearch::getSites()
{
	DWORD dwret;
	PDOMAIN_CONTROLLER_INFO pdcInfo;
	dwret = DsGetDcName(NULL,NULL,NULL,NULL,0, &amp;pdcInfo);
	if(ERROR_SUCCESS == dwret)
	{
		HANDLE hGetDc;
		dwret = DsGetDcOpen(pdcInfo-&gt;DomainName,
							 DS_NOTIFY_AFTER_SITE_RECORDS,
							NULL,
							NULL,
							NULL,
							0,
							&amp;hGetDc);
		if(ERROR_SUCCESS == dwret)
		{
			LPTSTR pszDnsHostName;
			while(true)
			{
				ULONG ulSocketCount;
				LPSOCKET_ADDRESS rgSocketAddresses;

				dwret = DsGetDCNext(hGetDc,
									&amp;ulSocketCount,
									&amp;rgSocketAddresses,
									&amp;pszDnsHostName);
				if(ERROR_SUCCESS == dwret)
				{
					MessageBox(NULL,
								pszDnsHostName,
								TEXT(&quot;NetPrint v 1.0&quot;),
								MB_ICONERROR);
					NetApiBufferFree(pszDnsHostName);
					LocalFree(rgSocketAddresses);
				}
				else if(ERROR_NO_MORE_ITEMS == dwret)
				{
					break;
				}
				else if(ERROR_FILEMARK_DETECTED == dwret)
				{
					MessageBox(NULL,
								TEXT(&quot;Ende der lokalen Domain Controller&quot;),
								TEXT(&quot;NetPrint v 1.0&quot;),
								MB_ICONERROR);
					continue;
				}
				else
				{
					break;
				}
			}
			DsGetDcClose(hGetDc);
		}
		NetApiBufferFree(pdcInfo);
	}
}
</code></pre>
<p>ich habe als include nur die DsGetDc.h, lm.h und winsock2.h und beim Linker die NetAPI32.lib angegeben wie es in MSDN Beispiel steht.</p>
<p>Trotzdem bekomm ich vom Kompiler immer folgende Meldungen:</p>
<blockquote>
<p>error C2065: 'DS_NOTIFY_AFTER_SITE_RECORDS': nichtdeklarierter Bezeichner<br />
error C3861: 'DsGetDcOpen': Bezeichner wurde auch mit einer argumentbezogenen Suche nicht gefunden<br />
error C3861: 'DsGetNext': Bezeichner wurde auch mit einer argumentbezogenen suche nicht gefunden<br />
error C3861: 'DsGetDcClose': Bezeichner wurde auch mit einer argumentbezogenen Suche nicht gefunden</p>
</blockquote>
<p>Woran liegts bzw. hab ich nicht gedacht?</p>
<p>thx. Joe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1333746</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1333746</guid><dc:creator><![CDATA[Joe80]]></dc:creator><pubDate>Mon, 30 Jul 2007 06:48:40 GMT</pubDate></item><item><title><![CDATA[Reply to Wo ist die DsGetDc.h Datei? on Mon, 30 Jul 2007 07:34:54 GMT]]></title><description><![CDATA[<p>Also ich steh echt an, jetzt hab ich mir das Windows Platform SDK (R2) heruntergeladen und mir mal die Header Files DsGetDS und WinSock2 angeschaut.</p>
<p>Die Funktionen DsGetDcOpen, DsGetDcNext und DsGetDcClose sind darin definiert, hier ein Auszug:</p>
<pre><code class="language-cpp">#ifdef _WINSOCK2API_  // DsGetDcOpen/Next/Close depend on winsock2.h be included

//
// Option flags passed to DsGetDcOpen
//

#define DS_ONLY_DO_SITE_NAME         0x01   // Non-site specific names should be avoided.
#define DS_NOTIFY_AFTER_SITE_RECORDS 0x02   // Return ERROR_FILEMARK_DETECTED after all
                                            //  site specific records have been processed.

#define DS_OPEN_VALID_OPTION_FLAGS ( DS_ONLY_DO_SITE_NAME | DS_NOTIFY_AFTER_SITE_RECORDS )

//
// Valid DcFlags for DsGetDcOpen
//

#define DS_OPEN_VALID_FLAGS (       \
            DS_FORCE_REDISCOVERY  | \
            DS_ONLY_LDAP_NEEDED   | \
            DS_KDC_REQUIRED       | \
            DS_PDC_REQUIRED       | \
            DS_GC_SERVER_REQUIRED | \
            DS_WRITABLE_REQUIRED )

DSGETDCAPI
DWORD
WINAPI
DsGetDcOpenW(
    IN LPCWSTR DnsName,
    IN ULONG OptionFlags,
    IN LPCWSTR SiteName OPTIONAL,
    IN GUID *DomainGuid OPTIONAL,
    IN LPCWSTR DnsForestName OPTIONAL,
    IN ULONG DcFlags,
    OUT PHANDLE RetGetDcContext
    );

DSGETDCAPI
DWORD
WINAPI
DsGetDcOpenA(
    IN LPCSTR DnsName,
    IN ULONG OptionFlags,
    IN LPCSTR SiteName OPTIONAL,
    IN GUID *DomainGuid OPTIONAL,
    IN LPCSTR DnsForestName OPTIONAL,
    IN ULONG DcFlags,
    OUT PHANDLE RetGetDcContext
    );

#ifdef UNICODE
#define DsGetDcOpen DsGetDcOpenW
#else
#define DsGetDcOpen DsGetDcOpenA
#endif // !UNICODE
</code></pre>
<p>kann mir jemand verraten warum ich trotzdem beim Kompilieren die Information bekomme das die Funktionen nicht gefunden werden konnten?</p>
<p>thx. Joe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1334754</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1334754</guid><dc:creator><![CDATA[Joe80]]></dc:creator><pubDate>Mon, 30 Jul 2007 07:34:54 GMT</pubDate></item><item><title><![CDATA[Reply to Wo ist die DsGetDc.h Datei? on Mon, 30 Jul 2007 10:00:31 GMT]]></title><description><![CDATA[<p>Steht da nicht DsGetDcOpenW und DsGetDcOpenA? Du verwendest doch die alten Funktionen DsGetDcOpen ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1334824</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1334824</guid><dc:creator><![CDATA[AndyDD]]></dc:creator><pubDate>Mon, 30 Jul 2007 10:00:31 GMT</pubDate></item><item><title><![CDATA[Reply to Wo ist die DsGetDc.h Datei? on Mon, 30 Jul 2007 10:55:29 GMT]]></title><description><![CDATA[<p>ja da ist das alte Lied mit den Unicode Varianten.<br />
Das läuft so das in Header File immer zwischen der Unicode und der Ascii Version unterschieden wird.<br />
wenn du allerdings das Makro #define UNICODE aufrufst nimmer er immer die Unicode Variante.</p>
<p>DsGetDc.h:</p>
<pre><code class="language-cpp">#ifdef UNICODE 
#define DsGetDcOpen DsGetDcOpenW 
#else 
#define DsGetDcOpen DsGetDcOpenA 
#endif // !UNICODE
</code></pre>
<p>folglich ist der aufruf DsGetDcOpen absolut korrekt, oder hab ich das falsch verstanden?</p>
<p>lg. Joe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1334857</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1334857</guid><dc:creator><![CDATA[Joe80]]></dc:creator><pubDate>Mon, 30 Jul 2007 10:55:29 GMT</pubDate></item><item><title><![CDATA[Reply to Wo ist die DsGetDc.h Datei? on Mon, 30 Jul 2007 15:26:34 GMT]]></title><description><![CDATA[<p>Ok, ich hatte deinen Post nicht ganz bis zum Ende gelesen. Ich mag diese Art mit den defines umzugehen nicht so. Möglicherweise funktionierts ja so. Aber mal eine andere Frage. Welches BS nutzt du denn?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1335052</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1335052</guid><dc:creator><![CDATA[AndyDD]]></dc:creator><pubDate>Mon, 30 Jul 2007 15:26:34 GMT</pubDate></item><item><title><![CDATA[Reply to Wo ist die DsGetDc.h Datei? on Tue, 31 Jul 2007 06:07:01 GMT]]></title><description><![CDATA[<p>ja natürlich hann man auch gleich die Unicode Variante DsGetDcOpenW verwenden, nur das funktioniert in meinem Fall auch nicht. (gleiche Fehlermeldung vom Kompiler)</p>
<p>Ich verwend ein Windows Xp sp2 mit Visual Studio .Net sp1 als Entwickler Platform. Laut MSDN sollte das nicht das Problem sein.</p>
<p>lg. Joe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1335387</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1335387</guid><dc:creator><![CDATA[Joe80]]></dc:creator><pubDate>Tue, 31 Jul 2007 06:07:01 GMT</pubDate></item><item><title><![CDATA[Reply to Wo ist die DsGetDc.h Datei? on Tue, 31 Jul 2007 06:12:19 GMT]]></title><description><![CDATA[<p>Und das hast du auch alles beachtet:</p>
<p>MSDN schrieb:</p>
<blockquote>
<p>Requirements<br />
Client<br />
Requires Windows Vista or Windows XP.</p>
<p>Server<br />
Requires Windows Server 2008 or Windows Server 2003.</p>
<p>Header<br />
Declared in Dsgetdc.h.</p>
<p>Library<br />
Use Netapi32.lib.</p>
<p>DLL<br />
Requires Netapi32.dll.</p>
<p>Unicode<br />
Implemented as DsGetDcOpenW (Unicode) and DsGetDcOpenA (ANSI).</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1335388</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1335388</guid><dc:creator><![CDATA[AndyDD]]></dc:creator><pubDate>Tue, 31 Jul 2007 06:12:19 GMT</pubDate></item><item><title><![CDATA[Reply to Wo ist die DsGetDc.h Datei? on Tue, 31 Jul 2007 14:25:35 GMT]]></title><description><![CDATA[<p>ja freilich.</p>
<p>-) die Maschine auf der ich das Programm laufen lasse ist Win Xp sp2<br />
-) die Domäne eine reine Win 2003 sp1 Domäne<br />
-) DsGetDc.h hab ich mit include hinzugefügt<br />
-) NetApi32.lib zum Linker hinzugefügt. (gut soweit kommt er nichtmal)</p>
<p>also ich weiß echt nicht was da noch haken kann.</p>
<p>lg. Joe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1335854</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1335854</guid><dc:creator><![CDATA[Joe80]]></dc:creator><pubDate>Tue, 31 Jul 2007 14:25:35 GMT</pubDate></item></channel></rss>