FSCTL_GET_OBJECT_ID IOCTL (winioctl.h)

Récupère 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_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
);

Remarques

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

Si aucun identificateur d’objet n’est associé au handle spécifié, aucun n’est créé et une erreur est retournée. Pour créer un identificateur d’objet, utilisez FSCTL_SET_OBJECT_ID. Pour récupérer un identificateur d’objet existant ou en générer un s’il n’existe aucun identificateur d’objet en une seule étape, utilisez FSCTL_CREATE_OR_GET_OBJECT_ID.

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

Condition requise Valeur
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