Freigeben über


FSCTL_GET_NTFS_FILE_RECORD IOCTL (winioctl.h)

Ruft den ersten verwendeten Dateidatensatz ab und weist einen geringeren oder gleichen Ordinalwert auf die angeforderte Dateireferenznummer auf.

Rufen Sie zum Ausführen dieses Vorgangs die DeviceIoControl-Funktion mit den folgenden Parametern auf.

BOOL DeviceIoControl(
  (HANDLE) hDevice,                 // handle to device
  FSCTL_GET_NTFS_FILE_RECORD,       // dwIoControlCode
  (LPVOID) lpInBuffer,              // input buffer
  (DWORD) nInBufferSize,            // size of input buffer
  (LPVOID) lpOutBuffer,             // output buffer
  (DWORD) nOutBufferSize,           // size of output buffer
  (LPDWORD) lpBytesReturned,        // number of bytes returned
  (LPOVERLAPPED) lpOverlapped       // OVERLAPPED structure
);

Bemerkungen

Dieser Steuerelementcode listet Dateibezeichner nach unten auf und gibt immer einen verwendeten Dateidatensatz zurück. Dies bedeutet, dass der von diesem Steuerelementcode zurückgegebene Dateibezeichner möglicherweise nicht mit dem im Eingabepuffer angegebenen Dateibezeichner identisch ist. Wenn z. B. Dateibezeichner 1 bis 9 und 15 verwendet werden, werden dateibezeichner 10 bis 14 nicht verwendet, und der Dateidatensatz, der dem Dateibezeichner 15 entspricht, wird dieser Dateidatensatz zurückgegeben.

Wenn die Dateieinträge, die Dateibezeichnern 10 bis 14 entsprechen, angefordert werden, wird der Dateidatensatz zurückgegeben, der dem Dateibezeichner 9 entspricht. Wenn eine der Dateieinträge, die dateibezeichnern 1 bis 9 entsprechen, angefordert werden, werden diese Dateidatensätze zurückgegeben.

Um die richtige Größe des Ausgabepuffers zu ermitteln, auf den lpOutBuffer verweist, rufen Sie zuerst den FSCTL_GET_NTFS_VOLUME_DATA-Steuerelementcode auf, um die Größe eines Dateidatensatzes abzurufen. Dies ist der Wert des BytesPerFileRecordSegment-Members der zurückgegebenen NTFS_VOLUME_DATA_BUFFER Struktur. Legen Sie dann die Größe des Ausgabepuffers auf den folgenden Ausdruck fest:

sizeof (NTFS_FILE_RECORD_OUTPUT_BUFFER) + sizeof (one file record) - 1

Wenn eine Datei aus mehreren Dateidatensätzen besteht, müssen sie einzeln abgerufen werden.

In Windows 8 und Windows Server 2012 wird dieser Code von den folgenden Technologien unterstützt.

Technologie Unterstützt
Server Message Block (SMB) 3.0-Protokoll Nein
SMB 3.0 Transparentes Failover (TFO) Nein
SMB 3.0 mit Skalierungsdateifreigaben (SO) Nein
Freigegebenes Clustervolumedateisystem (CsvFS) Yes
Robustes Dateisystem (Resilient File System (ReFS)) Nein

Anforderungen

Anforderung Wert
Mindestens unterstützter Client Windows XP [nur Desktop-Apps]
Mindestanforderungen für unterstützte Server Windows Server 2003 [Nur Desktop-Apps]
Header winioctl.h (enthalten Windows.h)

Siehe auch