Share via


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
Failover trasparente SMB 3.0 (TFO)
SMB 3.0 con condivisioni file con scalabilità orizzontale (SO)
File system del volume condiviso del cluster (CsvFS)
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)

Vedi anche