FSCTL_GET_OBJECT_ID IOCTL (winioctl.h)

检索指定文件或目录的对象标识符。

若要执行此操作,请使用以下参数调用 DeviceIoControl 函数。

BOOL DeviceIoControl(
  (HANDLE) hDevice,           // handle to device
  FSCTL_GET_OBJECT_ID,        // dwIoControlCode
  NULL,                       // lpInBuffer
  0,                          // nInBufferSize
  (LPVOID) lpOutBuffer,       // output buffer
  (DWORD) nOutBufferSize,     // size of output buffer
  (LPDWORD) lpBytesReturned,  // number of bytes returned
  (LPOVERLAPPED) lpOverlapped // OVERLAPPED structure
);

注解

对象标识符用于跟踪文件和目录。 它们对大多数应用程序不可见,并且永远不应被应用程序修改。 修改对象标识符可能会导致文件部分(最多包括整个数据量)的数据丢失。

如果没有与指定句柄关联的对象标识符,则不创建任何对象标识符,并返回错误。 若要创建对象标识符,请使用 FSCTL_SET_OBJECT_ID。 若要检索现有对象标识符或在一个步骤中没有现有对象标识符时生成一个,请使用 FSCTL_CREATE_OR_GET_OBJECT_ID

在 Windows 8 和 Windows Server 2012 中,以下技术支持此代码。

技术 支持
服务器消息块 (SMB) 3.0 协议
SMB 3.0 透明故障转移 (TFO)
具有横向扩展文件共享的 SMB 3.0 (SO)
群集共享卷文件系统 (CSV)
弹性文件系统 (ReFS)

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
标头 winioctl.h (包括 Windows.h)

另请参阅