gpt4 book ai didi

c# - 了解 WMI 对象路径格式

转载 作者:太空狗 更新时间:2023-10-29 17:58:36 24 4
gpt4 key购买 nike

我想编写一个与 .NET ManagementPath 类具有相似功能的类。 MSDN 上有一组处理对象路径格式的文章。但是,我还不了解所有特殊情况

  • 处理对象路径的字符串比较始终不区分大小写。 ==> 这是否也适用于查询对象实例时的键值?

  • 整数的十六进制常量。 ==> 它们会出现在哪里?仅在键的值中?

  • 具有采用 bool 值的键的类的 bool 常量。 ==> 常量是什么?真假? 0/1?

  • 具有部分命名空间路径的假定本地服务器。因此,指定根命名空间和默认命名空间意味着本地服务器上的根命名空间和默认命名空间。 ==> 这是否 意味着如果我不指定服务器,那么“。”用作服务器?

  • 元素内或元素之间没有空格。 ==> 为什么最初的 .NET 实现允许在服务器名称中使用空格?

  • 允许在对象路径中嵌入引号,但必须用转义字符分隔引号,就像在 C 或 C++ 应用程序中一样。 ==> ???

  • 只有十进制值被识别为键的数字部分。 ==> ???

  • 此页面上的所有内容:http://msdn.microsoft.com/en-us/library/aa389223(v=VS.85).aspx ==> ?

好吧,我认为有效的基本路径看起来像

\\Server\Namespace
\Namespace
\\Server\Namespace:Class
\Namespace:Class
Class
\\Server\Namespace:Class.KeyName=KeyValue
\Namespace:Class.KeyName=KeyValue
Class.KeyName=KeyValue
\\Server\Namespace:Class=KeyValue
\Namespace:Class=KeyValue
Class=KeyValue
\\Server\Namespace:Class.FirstKey=FirstValue,SecondKey=SecondValue
\Namespace:Class.FirstKey=FirstValue,SecondKey=SecondValue
Class.FirstKey=FirstValue,SecondKey=SecondValue
\\Server\Namespace:Class=@
\Namespace:Class=@
Class=@
as well as all combinations were the \\ is replaced by a // and/or the
\ between server and namespace is replaced by /

我在这里忘记了什么吗?

这是可以从 MSDN 中提取的内容。但是,单个 token 可能是什么样子的?我认为可能是这样的:

KeyValue = "string"      <-- string
1 <-- numeric
0x1 <-- hex
?????????? <-- about the "decimal value" thing and
"embedded quitation mark" thing.
Also, what about whitespaces?
do they have to be abreviated by %20?

KeyName / Class / Server
= string without : or / or \ inside and maybe only [a-z0-9_] ?

Namespace
= string without : or / inside and maybe only [a-z0-9_\]
(.NET implementation also buggy here. accepts forward slashes regardless of
"You cannot use forward slashes within namespace names." on MSDN)
Also, are they allowed to start with \ and end with a : ?

如果可以为每个标记给出一个正则表达式来表示它的外观,那将非常有帮助。

最佳答案

可能您可以通过查看 source code 获得有用的信息类(class)的。

如果你想测试一个字符串是否匹配正则表达式,你可以使用 tester .

祝你好运。

关于c# - 了解 WMI 对象路径格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7586952/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com