FSCTL_GET_OBJECT_ID IOCTL (winioctl.h)

Recupera o identificador de objeto do arquivo ou diretório especificado.

Para executar essa operação, chame a função DeviceIoControl com os parâmetros a seguir.

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
);

Comentários

Os identificadores de objeto são usados para rastrear arquivos e diretórios. Eles são invisíveis para a maioria dos aplicativos e nunca devem ser modificados por aplicativos. Modificar um identificador de objeto pode resultar na perda de dados de partes de um arquivo, até e incluindo volumes inteiros de dados.

Se não houver nenhum identificador de objeto associado ao identificador especificado, nenhum será criado e um erro será retornado. Para criar um identificador de objeto, use FSCTL_SET_OBJECT_ID. Para recuperar um identificador de objeto existente ou gerar um se não houver nenhum identificador de objeto existente em uma etapa, use FSCTL_CREATE_OR_GET_OBJECT_ID.

Em Windows 8 e Windows Server 2012, esse código é compatível com as tecnologias a seguir.

Tecnologia Com suporte
Protocolo SMB (SMB) 3.0 Sim
TFO (Failover transparente) do SMB 3.0 Sim
SMB 3.0 com compartilhamentos de arquivos de expansão (SO) Sim
Sistema de arquivos de Volume Compartilhado Clusterizado (CsvFS) Sim
ReFS (Sistema de Arquivos Resiliente) No

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Cabeçalho winioctl.h (inclua Windows.h)

Confira também