HOWTO: Suchen und Finden im MSDN

Dies ist Version 1.01.007 des Dokuments. Die aktuellste Version kann von hier heruntergeladen werden. Autor und Empfänger von Korrekturbeiträgen: Carsten Witte. Es gelten die dokumenttypischen Copyrights.

Index

Eine Übersicht über die Artikel in diesem Dokument. Absätze, die sich seit der letzten Version geändert haben, sind fett fortmartiert. Rechtschreibfehler und ähnliche Kleinigkeiten werden ohne besondere Erwähnung ausgemerzt.

1. Vorwort
2. Aufzucht und Pflege
2.1 Woher nehmen...
2.2 Installation und Update
2.3 Konfiguration
2.4 SDK und DDK
3. Hilfe im klassischen Sinne
3.1 Gliederung
3.2 F1
3.3 Ctrl-F1
3.4 Links (und Rechts)
3.5 Suchen
3.6 Themengebiete
4. Suchen... und Finden!
4.1 Suche verfeinern
4.2 KB (Knowledge Base)
4.3 TN042
4.4 C1042 und LNK1141
4.5 Fehlernummern
4.6 Windows-Messages
4.7 Structs
4.8 Unbekannte Funktionen
5. Sonstiges
5.1 Lesefutter
5.2 Tools
5.3 Danksagungen

1. Vorwort

Das MSDN, eigentlich korrekt die MSDN-Library, ist die Referenz für die Programmierer, die mit den microsofteigenen Applikationen wie dem DevStudio und Office arbeiten. Durch seine immense Größe ist es allerdings schwer zu durchschauen und nicht ganz so einfach zu handhaben. Dieses HOWTO soll einige Tips und Tricks zum richtigen Umgang mit dem MSDN vermitteln und ist speziell für MSVC-Programmierer geschrieben.

2. Aufzucht und Pflege

2.1 Woher nehmen...

  1. Eine Basisversion des MSDN wird bei jeder DevStudio-Version mitgeliefert. Diese Version ist ausschließlich auf die jeweilige Programmiersprache zugeschnitten und meist an Aktualität kaum zu unterbieten. Sprich: veraltet.
  2. Die aktuellste Ausgabe ist online im Rahmen der MSDN Homepage verfügbar. Diese Version kann natürlich nicht in das DevStudio integriert werden, beinhaltet dafür aber tagesaktuelle Artikel und diverse Archive, die es nicht mit auf die DVD geschafft haben.
  3. Die gebräuchlichste Version ist die MSDN-Library Subscription. Diese wird jedes Quartal aktualisiert auf DVD oder CDs ausgeliefert und kann lokal installiert werden. Im Moment kann eine MSDN-Library im gesamten Entwicklerteam einer Organisation genutzt werden. Sie enthält unter anderem die Online-Hilfe für das DevStudio, viele Programmier-Beispiele, einen Snapshot der Knowledge-Base und, und, und...

2.2 Installation und Update

Zu erst muß man sich darüber klar werden, für welche Version des DevStudios man ein MSDN installieren will. Seit DevStudio.NET (DevStudio 7.0) hat sich die Struktur der MSDN Library leicht verändert. Es gilt folgende Faustregel:

  • DevStudio 6.0 MSDN bis October 2001 (alt)
  • DevStudio.NET MSDN ab January 2002 (neu)

Zur Installation einfach das Setup-Programm setup.exe auf der ersten CD/DVD starten. Um eine Installationsversion im Intranet zur Verfügung zu stellen, kann bis January 2002 das Programm netcopy.exe genutzt werden. In neuren Versionen ist der Windows Installer via msiexec.exe (unbedingt readme.html lesen) Tool der Qual. Sollten dabei Probleme auftreten, hilft vielleicht KB318453: "The Network Install Point for the Installation of the MSDN Library Does Not Exist" weiter.

Bei den heutigen Plattenpreisen empfiehlt es sich, eine Komplettinstallation des MSDN anzustreben. Bei akutem Platzmangel kann man jedoch mit kleineren Teilinstallationen beginnen und bei Bedarf jeder Zeit nachinstallieren.

Es können beliebig viele MSDN parallel installiert werden, sogar neue und alte Versionen auf der selben Maschine. Obsolete Versionen können in der Systemsteuerung (Software) von Windows deinstalliert werden. Eine Umschaltung zwischen den einzelnen Ausgaben erfolgt im Optionsmenü des DevStudios unter dem Reiter Help System.

In den Ausgaben von July 2000 bis October 2001 können die persönlichen Favoriten mit dem Favorites Utility msdnfav.exe, zu finden im Startmenüeintrag des MSDN, von Ausgabe zu Ausgabe übernommen werden. In neuren Versionen werden die Favoriten zusammen mit den normalen Favoriten des IE abgelegt.

2.3 Konfiguartion

Subsets oder Filter bieten die Möglichkeit, die Suche auf bestimmte Bereriche des MSDN einzuschränken. Im alten MSDN konnte man eigene Subsetz im Menü View|Define Subset... erstellen und dann über Active Subset eingestellen. Im neuen stellt man Filter im Menü Help|Edit Filters... ein und hat in den verschiedenen Suchmasken die Möglichkeit, Filtered by: einzustellen.

Besonders wichtig sind Filterkriterien, um zu vermeiden, daß man in der falschen Hilferubrik landet. So kommt es zum Beispiel ohne Subset oft vor, daß man in der Hilfe für Windows-CE landet. Windows-CE unterstützt aber viele Parameter nicht oder implementiert Funktionen schlicht anders.

Innerhalb der .NET Framework Class Library kann man über das kleine Filter-Symbol in der oberen rechten Ecke des Artikel einstellen, für welche Programmiersprache die Beispiele angezeigt werden sollen.

2.4 SDK und DDK

Installiert man sich ein neues SDK oder aktualisiert ein solches, muß man aufpassen, daß auch die Hilfe angeglichen wird. Das normale Setup erledigt dieses nicht. Gleiches gilt für Service-Packs.

Leider ist es nicht einfach möglich, zusätzliche SDK-Dokumentationen in die MSDN-Library zu integrieren. Diese Hilfen werden meist über das Tool dexplore.exe oder bei älttern Version über dexplore.exe angezeigt. Links für diese Aufrufe werden meist von den Installern erzeugt und finden sich in den entsprechenden Programgruppen.

Beispiele:

3. Hilfe im klassischen Sinne

3.1 Gliederung

Um sich im MSDN zurechtzufinden, kann man auf vier Navigationshilfen zurückgreifen, die man entweder über den Menüpunkt View|Navigation Tabs oder den Toolbarbutton Show/Hide einblenden kann.

Tabulator alt neu  
Contents Alt+C Strg+Alt+F1
Hier findet man das Inhaltsverzeichnis des MSDN. Alle Artikel sind inhaltlich passend zu Gruppen zusammengefaßt und wenn man nicht genau weiß, was man will, findet man gar nix. Zudem neigt das MSDN-Team dazu, diese Gruppierungen bei jeder dritten Version neu zu mischen, was den Nutzen gen Null tendieren läßt.
Index Alt+N Strg+Alt+F2  
Eine alphabetische Liste aller Stichworte, die das MSDN kennt. Hier wird jeder Befehl aufgelistet, jede Funktion und fast jede API. Sind hier Einträge in grau dargestellt, heißt das, das Stichwort ist bekannt, aber nicht Bestandteil des aktuellen Subset. Das Indexsuchergebnis kann im neuen DevStudio via Umschalt+Alt+F2 angesprungen werden.
Search Alt+S Strg+Alt+F3  
Hier kann man Begriffe frei im MSDN suchen lassen. Leider ist die Suchsyntax sehr, sehr weit von regulären Ausdrücken entfernt. Als Operatoren stehen AND, OR, NOT und NEAR zur Verfügung. Wahrscheinlich das meistgenutzte Feature im MSDN. Und ein unverzichtbares zudem. Das Suchergebnis kann im neuen DevStudio via Umschalt+Alt+F2 angesprungen werden.
Favorites Alt+I Strg+Alt+F  
Hier kann man sich seine Lieblingsartikel im MSDN merken (siehe auch: Favoriten zwischen Versionen austauschen).

3.2 F1

Ist das MSDN korrekt als Hilfesystem für das DevStudio konfiguriert, kann man den Cursor auf das Wort setzten, für das man Hilfe benötigt und einfach die Taste [F1] drücken. Bei neueren Tastaturen ist diese Taste auch schon mal direkt mit [Help] beschriftet.

3.3 Ctrl-F1

Im DevStudio.NET kann man sich mittels Ctrl-F1 die kontextsensitive Hilfe anzeigen lassen, was hin und wieder zu besseren Suchergebnissen führt.

3.4 Links (und Rechts)

Am Ende der meisten Hilfeseiten finden sich Links auf Funktionen, die sich im Umfeld der aktuellen Funktion bewegen, zum Beispiel die Get- zur aktuellen Set-Funktion.

Oft ist es auch interessant, sich Seiten im Umfeld der aktuellen Seite anzeigen zu lassen. Dazu gibt es in der Toolbar die Buttons [Previous] (Vorherige) und [Next] (Nächste).

3.5 Suchen

Reicht einem die Hilfe zu einer Funktion nicht aus, oder man sucht Codebeispiele oder ähnliches, kann man den Funktionsnamen einfach nochmal in das Suchfeld übernehmen und das MSDN weiter durchforsten.

3.6 Themengebiete

Hat man eine bestimmte Funktion gefunden, sucht aber eigentliche eine ähnliche, kann man sich durch den Toolbarbutton [Locate] den Kontext anzeigen lassen, in dem man sich bewegt. Dort findet man oft die gesuchte Funktion oder weiterführende Informationen.

Beispiel: Man weiß um die Funktion PathFindExtension, geht auf [Locate] und findet alle Path* und URL* Funktionen.

4. Suchen... und Finden!

4.1 Suche verfeinern

Erhält man zu viele Sucherergebnisse, so kann man durch geschicktes Eingrenzen der Suche, genauere Ergebnisse erzielen. Dazu zählen die Verwendung der Operatoren wie zum Beispiel NEAR, die Option Search Titles Only und das zusammenfassen von Worten mittels Gänsefüßchen, wie zum Beispiel "Paul DiLascia".

Beispiel: Suche nach "unresolved external symbol"
  - ohne Anführungszeichen führt zu 93 Treffern
  - mit Anführungszeichen 59 Treffer
  - nur Titel durchsuchen 6 Treffer

4.2 KB (Knowledge Base)

Seit November 2002 werden Artikel in der Knowledgebase von Microsoft nicht mehr mit vorangestelltem Buchstaben  Q angegeben. Wenn ihr also einen Hilfehinwies der Form Q209354 findet, ist der noch nach der alten Konvention erstellt worden. Diese Schreibweise wird ab Januar 2005 nicht mehr unterstützt.

Um KB-Artikel dennoch in komplexere Suchen integrieren zu können, hat Microsoft jedem ein Keyword, bestehend aus dem Kürzel KB und der Nummer des Artikels mitgegeben. Aus dem obigen Beispiel wird so: KB209354

Gesucht werden können solche Artikel dann online über den URL http://support.microsoft.com/?kbid=n wobei n die entsprechende Nummer ist. Die Auswahl der Sprache richtet sich dann nach den Einstellungen des Browsers.
In der Offlineversion kann man die Zahl weiter direkt in das Suchfeld übernehmen. Dabei sollte man darauf achten, daß man die Knowledge Base auch im aktuellen Subset hat. (Die Voreinstellung "C++ and related" enthält die KB zum Beispiel nicht!)

Man kann bei der Suche natürlich auch eines der extra zu diesem Zweck geschriebenen Tools bemühen. Weitere Informationen finden sich hier: Änderungen bei der Nummerierung von Knowledge Base (KB) Artikeln

4.3 TN042

Bekommt man als Hilfestellung eine einfache Zahl abgeboten, der ein TN vorangestellt ist, handelt es sich um eine Technical Note. Die gesamte Zahl inklusive TN einfach in das Indexfeld übernehmen. Der Artikel sollte dann schon in der Liste markiert sein.

4.4 C1042 und LNK1141

Finden sich nach dem Compilieren oder Linken solche Meldungen im Output-Fenster des DevStudios, handelt es sich um Compilerfehler, Warnungen oder Linkerfehler. Für Hilfe, entweder den Cursor auf die Nummer platzieren und [F1] drücken, oder das gesamte Literal in das Indexfeld übernehmen. Der Artikel sollte dann schon in der Liste markiert sein.

4.5 Fehlernummern

Spuckt ein Programm unbekannte Fehlernummern aus und das Tool errlook.exe hilft auch nicht weiter, kann man diese Nummern prima direkt in das Suchfeld eingeben, und die Fundstellen durchgrubbern. Es empfiehlt sich dabei, nach beide Schreibweisen suchen zu lassen: dezimal und hexadezimal.

4.6 MFC vs. SDK

Reicht die MFC-Beschreibung einer Funktion nicht aus, kann zusätzlich im Platform-SDK nach der gekapselten Windows-Message oder der SDK-Funktion gesucht werden.

Beispiel: CMenu::TrackPopupMenu(...) verweist auf 5 mögliche nFlags (TMP_*). Folgt man dem Link zu ::TrackPopupMenu findet sich zusätzlich noch TPM_RETURNCMD.

4.7 Structs

Findet sich eine Struktur der Schreibweise II_XXXXXX nicht in der Hilfe, kann man eventuell mit der Schreibweise IIXXXXXX fündig werden.

Beispiel: Der Link auf LV_ITEM geht ins Leere, die Struktur ist aber unter LVITEM erklärt.

Steht der Cursor auf einem Structpointer LPXXXXXX, findet der Hilfeaufruf kein Ziel. In diesem Fall in der Suche der Hilfe einfach den Long-Pointer-Anteil des Namens löschen.

Beispiel: Der Link auf LPNMDATETIMECHANGE geht ins Leere, die Struktur ist aber unter NMDATETIMECHANGE erklärt.

4.8 Unbekannte Funktionen

Sucht man eine Funktion, die etwas bestimmtes können soll, weiß ihren Namen aber nicht, kann man die englischen Begriffe aneinandergereiht in das Index- oder Suchfeld tippen.

Beispiel: Gesucht wird eine Funktion, die Dateien kopiert. Datei = file und kopieren = copy. FileCopy? Nicht wirklich. CopyFile? Treffer!

Ein empfehlenswertes Online-Wörterbuch ist zum Beispiel: http://dict.leo.org der TU München.

5. Sonstiges

5.1 Lesefutter

5.2 Tools

Rund um das MSDN und den Microsoft Support sind kleine Tools entstanden, die einem den Umgang mit dem Medium erleichtern sollen:

5.3 Danksagungen

Für die Mithilfe bei der Erstellung/Pflege des HOWTO danke ich: Martin Richter, Dieter Smode, Eberhard Schefold.



Copyright © Carsten Witte, 2002-2004 Valid HTML 4.01!