Compartilhar via


FSCTL_CREATE_OR_GET_OBJECT_ID IOCTL (winioctl.h)

Recupera o identificador de objeto para o arquivo ou diretório especificado. Se nenhum identificador de objeto existir, usar FSCTL_CREATE_OR_GET_OBJECT_ID criará um.

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

BOOL DeviceIoControl(
  (HANDLE) hDevice,              // handle to file
  FSCTL_CREATE_OR_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
);

Observações

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.

Essa operação criará um identificador de objeto se o objeto ainda não tiver um. Para testar a presença de um identificador de objeto e recuperá-lo se ele existir, use a operação FSCTL_GET_OBJECT_ID . Para atribuir manualmente um identificador de objeto, use a operação FSCTL_SET_OBJECT_ID .

No Windows Server 2012, essa função é compatível com as tecnologias a seguir.

Tecnologia Suportado
Protocolo SMB (Bloco de Mensagens do Servidor) 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 de Cluster (CsvFS) Sim
ReFS (Sistema de Arquivos Resiliente) Não

Requisitos

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

Consulte também