用于本地计算机名称的句点字符

ror*_*.ap 7 windows windows-domain wmi hostname

我想知道.用作本地计算机名称快捷方式的句点字符。例如,您可以在登录 Windows 7 时使用它来指定您输入的用户帐户属于本地计算机而不是域:

.\MyLocalUserAccount
Run Code Online (Sandbox Code Playgroud)

您可以在 Windows Management Instrumentation (WMI) 查询中使用它来指示目标是本地计算机而不是远程计算机。您也可以在使用命名管道时将其用于类似目的。

但是,您不能将其用作计算机的 UNC 网络名称,如下所示:

\\.\MyShare
Run Code Online (Sandbox Code Playgroud)

此角色是否有正式名称(例如“LocalHostToken”)以及何时何地可以用于此目的?

har*_*ymc 4

这篇 Microsoft 文章对以下内容进行了很好的描述\\\\.\\
\n命名文件、路径和命名空间 - Win32 设备命名空间

\n\n

文章说:

\n\n
\n

\\\\.\\前缀将访问 Win32 设备命名空间而不是 Win32 文件命名空间。如果 API 支持这种类型的访问,这就是直接完成对物理磁盘和卷的访问的方式,而无需通过文件系统。您可以通过这种方式访问​​磁盘以外的许多设备(例如,使用 CreateFile 和 DefineDosDevice 函数)。

\n\n

例如,如果要打开系统的串行通信端口 1,则可以在调用 CreateFile 函数时使用“COM1”。\n 这是可行的,因为 COM1\xe2\x80\x93COM9 是NT 命名空间中的保留名称,尽管使用\\\\.\\前缀也适用于这些设备名称。相比之下,如果您安装了 100 端口串行扩展板并想要打开 COM56,则无法使用“COM56”打开它,因为 COM56 没有预定义的 NT 命名空间。您将需要使用打开它,\\\\.\\COM56因为\\\\.\\直接进入设备名称空间,而不尝试查找预定义的别名。

\n\n

使用 Win32 设备命名空间的另一个示例是将 CreateFile 函数与\\\\.\\PhysicalDiskX(其中 X 是有效的整数值)或 一起使用\\\\.\\CdRomX。这允许您绕过文件系统直接访问这些设备。这是可行的,因为这些设备名称是在枚举这些设备时由系统创建的,并且某些驱动程序还将在系统中创建其他别名。例如,实现名称“C:\\”\n 的设备驱动程序有自己的命名空间,该命名空间也恰好是文件系统。

\n\n

通过 CreateFile 函数的 API 通常使用 \n \\\\.\\前缀,因为 CreateFile 是用于打开\n 文件和设备的函数,具体取决于您使用的参数。

\n\n

如果您使用 Windows API 函数,则应使用 \n \\\\.\\前缀仅访问设备而不是文件

\n\n

大多数 API 不支持\\\\.\\; 只有那些设计用于使用设备命名空间的设备才能识别它。请务必检查每个 API 的\n 参考主题以进行确定。

\n
\n\n

除了其他应用程序之外,此设备寻址约定应始终在命令提示符 (cmd) 中有效。\n

\n