FSCTL_SET_OBJECT_ID IOCTL (winioctl.h)
Imposta l'identificatore dell'oggetto per il file o la directory specificata.
Per eseguire questa operazione, chiamare la funzione DeviceIoControl con i parametri seguenti.
BOOL DeviceIoControl(
(HANDLE) hDevice, // handle to device
FSCTL_SET_OBJECT_ID, // 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
);
Commenti
Gli identificatori di oggetto vengono usati per tenere traccia di file e directory. Sono invisibili alla maggior parte delle applicazioni e non devono mai essere modificate dalle applicazioni. La modifica di un identificatore di oggetto può comportare la perdita di dati da parti di un file, fino a e includere interi volumi di dati.
Utilizzare questa operazione per impostare in modo esplicito un identificatore di oggetto su un valore specificato. Il tentativo di impostare un identificatore di oggetto su un oggetto che dispone già di un identificatore di oggetto avrà esito negativo. Anche un tentativo di usare un identificatore di oggetto già in uso nel volume avrà esito negativo. Utilizzare l'operazione FSCTL_CREATE_OR_GET_OBJECT_ID per fare in modo che il file system NTFS generi un identificatore di oggetto se l'oggetto non ne ha già uno.
Si noti che i timestamp potrebbero non essere aggiornati correttamente per un file remoto. Per garantire risultati coerenti, usare l'I/O non memorizzato nel buffer.
In Windows 8 e Windows Server 2012 questo codice è supportato dalle tecnologie seguenti.
Tecnologia | Supportato |
---|---|
Protocollo SMB (Server Message Block) 3.0 | Sì |
Failover trasparente SMB 3.0 (TFO) | Sì |
SMB 3.0 con condivisioni file di scalabilità orizzontale (SO) | Sì |
File system del volume condiviso cluster (CsvFS) | Sì |
Resilient File System (ReFS) | No |
Requisiti
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Intestazione | winioctl.h (include Windows.h) |