다음을 통해 공유


FSCTL_SET_OBJECT_ID_EXTENDED IOCTL(winioctl.h)

지정된 파일 또는 디렉터리에 대한 개체 식별자와 연결된 사용자 데이터를 수정합니다.

이 작업을 수행하려면 다음 매개 변수를 사용하여 DeviceIoControl 함수를 호출합니다.

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

설명

개체 식별자는 파일 및 디렉터리를 추적하는 데 사용됩니다. 대부분의 애플리케이션에는 표시되지 않으며 애플리케이션에서 수정해서는 안 됩니다. 개체 식별자를 수정하면 파일의 일부에서 전체 데이터 볼륨까지 데이터가 손실됩니다.

이 작업은 개체 식별자에서만 사용자 데이터를 설정합니다. 가능한 용도는 개체 식별자를 만들기 위한 타임스탬프를 저장하거나 단조롭게 증가하는 버전 번호를 저장하는 것입니다. FILE_OBJECTID_BUFFER 구조체의 ObjectId 멤버는 무시됩니다. ObjectId 멤버를 수정하는 메커니즘은 없습니다. FSCTL_SET_OBJECT_ID_EXTENDED 제어 코드의 일반적인 사용은 시스템에서 개체 식별자를 만들 때 애플리케이션이 NTFS 파일 시스템에서 생성된 사용자 데이터를 사용하지 않는 곳입니다.

아직 없는 개체에서 개체 식별자를 설정하려면 FSCTL_SET_OBJECT_ID 제어 코드를 사용합니다. NTFS 파일 시스템이 없는 경우 개체 식별자를 생성하도록 하려면 FSCTL_CREATE_OR_GET_OBJECT_ID 제어 코드를 사용합니다.

원격 파일에 대한 타임스탬프를 올바르게 업데이트하지 못할 수 있습니다. 일관된 결과를 보장하려면 버퍼되지 않은 I/O를 사용합니다.

Windows 8 및 Windows Server 2012에서 이 코드는 다음 기술에서 지원됩니다.

기술 지원됨
SMB(서버 메시지 블록) 3.0 프로토콜
SMB 3.0 TFO(투명 장애 조치(failover))
SO(스케일 아웃 파일 공유)를 사용하는 SMB 3.0
CsvFS(클러스터 공유 볼륨 파일 시스템)
ReFS(Resilient File System) No

요구 사항

   
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
머리글 winioctl.h(Windows.h 포함)

추가 정보