FSCTL_CREATE_OR_GET_OBJECT_ID IOCTL (winioctl.h)
Recupera l'identificatore dell'oggetto per il file o la directory specificati. Se non esiste alcun identificatore di oggetto, l'uso di FSCTL_CREATE_OR_GET_OBJECT_ID crea uno.
Per eseguire questa operazione, chiamare la funzione DeviceIoControl con i parametri seguenti.
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
);
Commenti
Gli identificatori di oggetto vengono usati per tenere traccia dei file e delle directory. Sono invisibili alla maggior parte delle applicazioni e non devono mai essere modificate dalle applicazioni. La modifica di un identificatore di oggetto può causare la perdita di dati da parti di un file, fino a e includere interi volumi di dati.
Questa operazione crea un identificatore di oggetto se l'oggetto non ne ha già uno. Per testare la presenza di un identificatore di oggetto e recuperarlo se esiste, usare l'operazione di FSCTL_GET_OBJECT_ID . Per creare un identificatore di oggetto senza prima testare la presenza di uno, usare l'operazione di FSCTL_SET_OBJECT_ID .
In Windows Server 2012 questa funzione è supportata 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 con scalabilità orizzontale (SO) | Sì |
File system del volume condiviso del cluster (CsvFS) | Sì |
File system resiliente (ReFS) | No |
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Intestazione | winioctl.h (include Windows.h) |