FSCTL_GET_OBJECT_ID IOCTL (winioctl.h)

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

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

BOOL DeviceIoControl(
  (HANDLE) hDevice,           // handle to file object
  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_CREATE_OR_GET_OBJECT_ID。 若要手动分配对象标识符,请使用 FSCTL_SET_OBJECT_ID

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

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

要求

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

另请参阅