PARSE.CPP
在示例提供程序组件中,Parse.cpp 是目录服务路径分析器的代码示例。 路径分析器是 AD 提供程序组件中的一个关键组件。 它验证传递给该提供程序的 AD 路径的语法有效性。 如果语法有效,就会生成一个 OBJECTINFO 结构,其中包含该对象的 ADspath 组件化版本。
请注意,这只是语法验证。 所有路径验证都必须符合分析器制定的语法规则,而不是对路径的每一次新迭代进行特例化。
下表列出了 Parse.cpp 中实现的函数和方法。
项 | 说明 |
---|---|
ADsObject | 分析传递给它的 ADspath。 此函数遵循以下语法规则:<ADsObject> -><ProviderName><SampleDSObject> |
SampleDSObject | 分析以下语法规则:<SampleDSObject> -> "\\" <identifier> "\" <Pathname> |
ProviderName | 如果没有,则添加语法正确的提供程序名称。 |
PathName | 分析以下语法规则:<Pathname> -><Component> "\\" <Pathname> OR <Pathname> -><Component> |
组件 | 分析以下语法规则:<Identifier> OR <Identifier> "=" <Identifier> |
CLexer::CLexer | 标准构造函数。 |
CLexer::~CLexer | 标准析构函数。 |
CLexer::GetNextToken | 分词器。 |
CLexer::NextChar | 检索下一个字符。 |
CLexer::PushBackToken | 备份到最后一个令牌的开头。 |
CLexer::PushbackChar | 备份一个字符。 |
CLexer::IsKeyword | 验证关键字列表。 在 Globals.h 中定义)。 |
AddComponent | 将此组件添加到组件数组中。 |
AddProviderName | 在 OBJECTINFO 结构中添加语法正确的提供程序名称。 |
AddRootRDN | 将语法正确的根相对可分辨名称 (RDN) 添加到 OBJECTINFO 结构中。 |
SetType | 设置对象的类型。 |
类型 | 分析 Type-> "user" | "group" 等。 |