Auf Englisch lesen

Freigeben über


PARSE. CPP

In der Beispielanbieterkomponente befindet sich ein Codebeispiel des Verzeichnisdienstpfadparsers in Parse.cpp. Der Pfadparser ist eine Schlüsselkomponente in ADs-Anbieterkomponenten. Es überprüft die syntaktische Gültigkeit eines ADs-Pfads, der an diesen Anbieter übergeben wurde. Wenn die Syntax gültig ist, wird eine OBJECTINFO-Struktur erstellt, die eine komponentenisierte Version des ADspath für dieses Objekt enthält.

Beachten Sie, dass dies nur eine Syntaxüberprüfung ist. Anstelle von Sonderfällen bei jeder neuen Iteration des Pfads muss die gesamte Pfadüberprüfung den vom Parser festgelegten Grammatikregeln entsprechen.

In der folgenden Tabelle sind die In Parse.cpp implementierten Funktionen und Methoden aufgeführt.

Element BESCHREIBUNG
ADsObject Analysiert den an ihn übergebenen ADspath. Diese Funktion folgt den folgenden Grammatikregeln: <ADsObject> -><ProviderName><SampleDSObject>
SampleDSObject Analysiert die folgenden Grammatikregeln: <SampleDSObject> -> "\\" <Bezeichner> "\" <Pathname>
ProviderName Fügt den syntaktisch korrekten Anbieternamen hinzu, falls nicht vorhanden.
PathName Analysiert die folgenden Grammatikregeln: <Pathname> -<>Component> "\\" <Pathname> OR
<Pfadname> -><Komponente>
Komponente Analysiert die folgenden Grammatikregeln: <Bezeichner> ODER
<Bezeichner> "=" <Bezeichner>
CLexer::CLexer Standardkonstruktor.
CLexer::~CLexer Standard-Destruktor.
CLexer::GetNextToken Tokenizer.
CLexer::NextChar Ruft das nächste einzelne Zeichen ab.
CLexer::P ushBackToken Sichert bis zum Start des letzten Tokens.
CLexer::P ushbackChar Sichert ein Zeichen.
CLexer::IsKeyword Überprüft Schlüsselwort (keyword) Liste. Definiert in Globals.h).
Addcomponent Fügt diese Komponente dem Komponentenarray hinzu.
AddProviderName Fügt der OBJECTINFO-Struktur einen syntaktisch korrekten Anbieternamen hinzu.
AddRootRDN Fügt der OBJECTINFO-Struktur den syntaktisch korrekten RDN-Namen (Root Relative Distinguished Name) hinzu.
SetType Legt den Typ des Objekts fest.
Typ Analysetyp:> "Benutzer" | "group" usw.