FSCTL_SET_OBJECT_ID IOCTL (winioctl.h)

Définit l’identificateur d’objet pour le fichier ou le répertoire spécifié.

Pour effectuer cette opération, appelez la fonction DeviceIoControl avec les paramètres suivants.

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
);

Remarques

Les identificateurs d’objet sont utilisés pour effectuer le suivi des fichiers et des répertoires. Elles sont invisibles pour la plupart des applications et ne doivent jamais être modifiées par les applications. La modification d’un identificateur d’objet peut entraîner la perte de données à partir de parties d’un fichier, jusqu’à des volumes de données entiers inclus.

Utilisez cette opération pour définir explicitement un identificateur d’objet sur une valeur que vous fournissez. Toute tentative de définition d’un identificateur d’objet sur un objet qui a déjà un identificateur d’objet échoue. Une tentative d’utilisation d’un identificateur d’objet déjà utilisé sur le volume échoue également. Utilisez l’opération FSCTL_CREATE_OR_GET_OBJECT_ID pour que le système de fichiers NTFS génère un identificateur d’objet si l’objet n’en a pas déjà un.

Notez que les horodatages peuvent ne pas être mis à jour correctement pour un fichier distant. Pour garantir des résultats cohérents, utilisez des E/S non déboguées.

Dans Windows 8 et Windows Server 2012, ce code est pris en charge par les technologies suivantes.

Technologie Prise en charge
Protocole Server Message Block (SMB) 3.0 Oui
Basculement transparent SMB 3.0 (TFO) Oui
SMB 3.0 avec partages de fichiers avec montée en puissance parallèle (SO) Oui
Système de fichiers du volume partagé de cluster (CsvFS) Oui
Système de fichiers résilient (ReFS) No

Configuration requise

   
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
En-tête winioctl.h (inclure Windows.h)

Voir aussi