FSCTL_CREATE_OR_GET_OBJECT_ID IOCTL (winioctl.h)
Recupera el identificador de objeto del archivo o directorio especificados. Si no existe ningún identificador de objeto, el uso de FSCTL_CREATE_OR_GET_OBJECT_ID crea uno.
Para realizar esta operación, llame a la función DeviceIoControl con los siguientes parámetros.
BOOL DeviceIoControl(
(HANDLE) hDevice, // handle to device
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
);
Comentarios
Los identificadores de objeto se usan para realizar un seguimiento de archivos y directorios. Son invisibles para la mayoría de las aplicaciones y nunca las deben modificar las aplicaciones. La modificación de un identificador de objeto puede dar lugar a la pérdida de datos de partes de un archivo, hasta y hasta volúmenes completos de datos.
Esta operación crea un identificador de objeto si el objeto aún no tiene uno. Para probar la presencia de un identificador de objeto y recuperarlo si existe, use la operación FSCTL_GET_OBJECT_ID . Para crear un identificador de objeto sin probar primero la presencia de uno, use la operación FSCTL_SET_OBJECT_ID .
En Windows Server 2012, esta función es compatible con las siguientes tecnologías.
Tecnología | Compatible |
---|---|
Protocolo Bloque de mensajes del servidor (SMB) 3.0 | Sí |
Conmutación por error transparente (TFO) de SMB 3.0 | Sí |
SMB 3.0 con recursos compartidos de archivos de escalabilidad horizontal (SO) | Sí |
Sistema de archivos de Volumen compartido de clúster (CsvFS) | Sí |
Sistema de archivos resistente a errores (ReFS) | No |
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Encabezado | winioctl.h (incluye Windows.h) |