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