FSCTL_CREATE_OR_GET_OBJECT_ID IOCTL (winioctl.h)
Ruft den Objektbezeichner für die angegebene Datei oder das angegebene Verzeichnis ab. Wenn kein Objektbezeichner vorhanden ist, erstellt FSCTL_CREATE_OR_GET_OBJECT_ID einen.
Um diesen Vorgang auszuführen, rufen Sie die Funktion DeviceIoControl mit den folgenden Parametern auf.
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
);
Hinweise
Objektbezeichner werden verwendet, um Dateien und Verzeichnisse nachzuverfolgen. Sie sind für die meisten Anwendungen unsichtbar und sollten niemals von Anwendungen geändert werden. Das Ändern eines Objektbezeichners kann zum Verlust von Daten aus Teilen einer Datei führen, bis hin zu und einschließlich ganzer Datenmengen.
Dieser Vorgang erstellt einen Objektbezeichner, wenn das Objekt noch nicht über einen verfügt. Verwenden Sie den Vorgang FSCTL_GET_OBJECT_ID , um das Vorhandensein eines Objektbezeichners zu testen und diesen abzurufen, falls er vorhanden ist. Verwenden Sie den Vorgang FSCTL_SET_OBJECT_ID , um einen Objektbezeichner zu erstellen, ohne zuvor zu testen, dass ein Objekt vorhanden ist.
In Windows Server 2012 wird diese Funktion von den folgenden Technologien unterstützt.
Technologie | Unterstützt |
---|---|
SMB 3.0-Protokoll (Server Message Block) | Ja |
SMB 3.0 Transparent Failover (TFO) | Ja |
SMB 3.0 mit Dateifreigaben mit horizontaler Skalierung (SO) | Ja |
Dateisystem mit freigegebenen Clustervolumes (CsvFS) | Ja |
Robustes Dateisystem (Resilient File System, ReFS) | No |
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Kopfzeile | winioctl.h (einschließlich Windows.h) |