estrutura NTFS_STATISTICS_EX (winioctl.h)

Contém informações estatísticas do sistema de arquivos NTFS. O suporte para essa estrutura começou com Windows 10.

Sintaxe

typedef struct _NTFS_STATISTICS_EX {
  DWORD     LogFileFullExceptions;
  DWORD     OtherExceptions;
  DWORDLONG MftReads;
  DWORDLONG MftReadBytes;
  DWORDLONG MftWrites;
  DWORDLONG MftWriteBytes;
  struct {
    DWORD Write;
    DWORD Create;
    DWORD SetInfo;
    DWORD Flush;
  } MftWritesUserLevel;
  DWORD     MftWritesFlushForLogFileFull;
  DWORD     MftWritesLazyWriter;
  DWORD     MftWritesUserRequest;
  DWORDLONG Mft2Writes;
  DWORDLONG Mft2WriteBytes;
  struct {
    DWORD Write;
    DWORD Create;
    DWORD SetInfo;
    DWORD Flush;
  } Mft2WritesUserLevel;
  DWORD     Mft2WritesFlushForLogFileFull;
  DWORD     Mft2WritesLazyWriter;
  DWORD     Mft2WritesUserRequest;
  DWORDLONG RootIndexReads;
  DWORDLONG RootIndexReadBytes;
  DWORDLONG RootIndexWrites;
  DWORDLONG RootIndexWriteBytes;
  DWORDLONG BitmapReads;
  DWORDLONG BitmapReadBytes;
  DWORDLONG BitmapWrites;
  DWORDLONG BitmapWriteBytes;
  DWORD     BitmapWritesFlushForLogFileFull;
  DWORD     BitmapWritesLazyWriter;
  DWORD     BitmapWritesUserRequest;
  struct {
    DWORD Write;
    DWORD Create;
    DWORD SetInfo;
    DWORD Flush;
  } BitmapWritesUserLevel;
  DWORDLONG MftBitmapReads;
  DWORDLONG MftBitmapReadBytes;
  DWORDLONG MftBitmapWrites;
  DWORDLONG MftBitmapWriteBytes;
  DWORD     MftBitmapWritesFlushForLogFileFull;
  DWORD     MftBitmapWritesLazyWriter;
  DWORD     MftBitmapWritesUserRequest;
  struct {
    DWORD Write;
    DWORD Create;
    DWORD SetInfo;
    DWORD Flush;
  } MftBitmapWritesUserLevel;
  DWORDLONG UserIndexReads;
  DWORDLONG UserIndexReadBytes;
  DWORDLONG UserIndexWrites;
  DWORDLONG UserIndexWriteBytes;
  DWORDLONG LogFileReads;
  DWORDLONG LogFileReadBytes;
  DWORDLONG LogFileWrites;
  DWORDLONG LogFileWriteBytes;
  struct {
    DWORD     Calls;
    DWORD     RunsReturned;
    DWORD     Hints;
    DWORD     HintsHonored;
    DWORD     Cache;
    DWORD     CacheMiss;
    DWORDLONG Clusters;
    DWORDLONG HintsClusters;
    DWORDLONG CacheClusters;
    DWORDLONG CacheMissClusters;
  } Allocate;
  DWORD     DiskResourcesExhausted;
  DWORDLONG VolumeTrimCount;
  DWORDLONG VolumeTrimTime;
  DWORDLONG VolumeTrimByteCount;
  DWORDLONG FileLevelTrimCount;
  DWORDLONG FileLevelTrimTime;
  DWORDLONG FileLevelTrimByteCount;
  DWORDLONG VolumeTrimSkippedCount;
  DWORDLONG VolumeTrimSkippedByteCount;
  DWORDLONG NtfsFillStatInfoFromMftRecordCalledCount;
  DWORDLONG NtfsFillStatInfoFromMftRecordBailedBecauseOfAttributeListCount;
  DWORDLONG NtfsFillStatInfoFromMftRecordBailedBecauseOfNonResReparsePointCount;
} NTFS_STATISTICS_EX, *PNTFS_STATISTICS_EX;

Membros

LogFileFullExceptions

O número de exceções geradas devido ao arquivo de log estar cheio.

OtherExceptions

O número de outras exceções geradas.

MftReads

O número de operações de leitura na tabela de arquivos master (MFT).

MftReadBytes

O número de bytes lidos do MFT.

MftWrites

O número de operações de gravação no MFT.

MftWriteBytes

O número de bytes gravados no MFT.

MftWritesUserLevel

MftWritesUserLevel.Write

O número de gravações MFT devido a uma operação de gravação.

MftWritesUserLevel.Create

O número de gravações MFT devido a uma operação de criação.

MftWritesUserLevel.SetInfo

O número de gravações de MFT devido à configuração de informações de arquivo.

MftWritesUserLevel.Flush

O número de gravações MFT devido a uma operação de liberação.

MftWritesFlushForLogFileFull

O número de liberações do MFT executadas porque o arquivo de log estava cheio.

MftWritesLazyWriter

O número de operações de gravação MFT executadas pelo thread de gravador lento.

MftWritesUserRequest

Reservado.

Mft2Writes

O número de operações de gravação no espelho MFT.

Mft2WriteBytes

O número de bytes gravados no espelho MFT.

Mft2WritesUserLevel

Mft2WritesUserLevel.Write

O número de gravações de espelho MFT devido a uma operação de gravação.

Mft2WritesUserLevel.Create

O número de gravações de espelho MFT devido a uma operação de criação.

Mft2WritesUserLevel.SetInfo

O número de gravações de espelho MFT devido à configuração de informações de arquivo.

Mft2WritesUserLevel.Flush

O número de gravações de espelho MFT devido a uma operação de liberação.

Mft2WritesFlushForLogFileFull

O número de liberações do MFT espelho executadas porque o arquivo de log estava cheio.

Mft2WritesLazyWriter

O número de operações de gravação espelho MFT executadas pelo thread de gravador lento.

Mft2WritesUserRequest

Reservado.

RootIndexReads

O número de operações de leitura no índice raiz.

RootIndexReadBytes

O número de bytes lidos do índice raiz.

RootIndexWrites

O número de operações de gravação no índice raiz.

RootIndexWriteBytes

O número de bytes gravados no índice raiz.

BitmapReads

O número de operações de leitura no bitmap de alocação do cluster.

BitmapReadBytes

O número de bytes lidos do bitmap de alocação do cluster.

BitmapWrites

O número de operações de gravação no bitmap de alocação do cluster.

BitmapWriteBytes

O número de bytes gravados no bitmap de alocação do cluster.

BitmapWritesFlushForLogFileFull

O número de liberações do bitmap executado porque o arquivo de log estava cheio.

BitmapWritesLazyWriter

O número de operações de gravação de bitmap executadas pelo thread de gravador lento.

BitmapWritesUserRequest

Reservado.

BitmapWritesUserLevel

BitmapWritesUserLevel.Write

O número de gravações de bitmap devido a uma operação de gravação.

BitmapWritesUserLevel.Create

O número de gravações de bitmap devido a uma operação de criação.

BitmapWritesUserLevel.SetInfo

O número de gravações de bitmap devido à configuração de informações de arquivo.

BitmapWritesUserLevel.Flush

O número de gravações de bitmap devido a uma operação de liberação.

MftBitmapReads

O número de operações de leitura no bitmap MFT.

MftBitmapReadBytes

O número de bytes lidos do bitmap MFT.

MftBitmapWrites

O número de operações de gravação no bitmap MFT.

MftBitmapWriteBytes

O número de bytes gravados no bitmap MFT.

MftBitmapWritesFlushForLogFileFull

O número de liberações do bitmap MFT executado porque o arquivo de log estava cheio.

MftBitmapWritesLazyWriter

O número de operações de gravação de bitmap MFT executadas pelo thread de gravador lento.

MftBitmapWritesUserRequest

Reservado.

MftBitmapWritesUserLevel

MftBitmapWritesUserLevel.Write

O número de gravações de bitmap MFT devido a uma operação de gravação.

MftBitmapWritesUserLevel.Create

O número de gravações de bitmap devido a uma operação de criação.

MftBitmapWritesUserLevel.SetInfo

O número de gravações de bitmap devido à configuração de informações de arquivo.

MftBitmapWritesUserLevel.Flush

O número de gravações de bitmap devido a uma operação de liberação.

UserIndexReads

O número de operações de leitura no índice do usuário.

UserIndexReadBytes

O número de bytes lidos do índice de usuário.

UserIndexWrites

O número de operações de gravação no índice do usuário.

UserIndexWriteBytes

O número de bytes gravados no índice do usuário.

LogFileReads

O número de operações de leitura no arquivo de log.

LogFileReadBytes

O número de bytes lidos do arquivo de log.

LogFileWrites

O número de operações de gravação no arquivo de log.

LogFileWriteBytes

O número de bytes gravados no arquivo de log.

Allocate

Allocate.Calls

O número de chamadas individuais para alocar clusters.

Allocate.RunsReturned

O número de execuções usadas para atender a todas as solicitações.

Allocate.Hints

O número de vezes que uma dica foi especificada.

Allocate.HintsHonored

O número de vezes que a dica foi útil.

Allocate.Cache

O número de vezes que o cache foi útil além da dica.

Allocate.CacheMiss

O número de vezes que o cache não foi útil.

Allocate.Clusters

O número de clusters alocados.

Allocate.HintsClusters

O número de clusters alocados por meio da dica.

Allocate.CacheClusters

O número de clusters alocados por meio do cache diferente da dica.

Allocate.CacheMissClusters

O número de clusters alocados sem o cache.

DiskResourcesExhausted

O número de tentativas com falha feitas para adquirir uma laje de armazenamento para uso no volume atualmente provisionado.

VolumeTrimCount

O número de operações de corte de nível de volume emitidas.

VolumeTrimTime

O tempo total decorrido durante todas as operações de corte no nível do volume. Esse valor, dividido pelo valor de frequência de QueryPerformanceFrequency ou KeQueryPerformanceCounter, dará o tempo em segundos.

VolumeTrimByteCount

O número total de bytes emitidos por todas as operações de corte de nível de volume.

FileLevelTrimCount

O número de operações de corte no nível do arquivo emitidas.

FileLevelTrimTime

O tempo total decorrido durante todas as operações de corte no nível do arquivo. Esse valor, dividido pelo valor de frequência de QueryPerformanceFrequency ou KeQueryPerformanceCounter, dará o tempo em segundos.

FileLevelTrimByteCount

O número total de bytes emitidos por todas as operações de corte no nível do arquivo.

VolumeTrimSkippedCount

O número de vezes que uma operação de corte no nível do volume foi anulada antes de ser enviada pela pilha de armazenamento.

VolumeTrimSkippedByteCount

O número de bytes que não foram enviados por meio de uma operação de corte de nível de volume porque foram ignorados.

NtfsFillStatInfoFromMftRecordCalledCount

NtfsFillStatInfoFromMftRecordBailedBecauseOfAttributeListCount

NtfsFillStatInfoFromMftRecordBailedBecauseOfNonResReparsePointCount

Comentários

O MFT, o MFT espelho, o índice raiz, o índice do usuário, o bitmap e o bitmap MFT são contados como arquivos de metadados. O arquivo de log não é contado como um arquivo de metadados.

O número de operações de leitura e gravação medidas é o número de operações de paginação.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2016 [somente aplicativos da área de trabalho]
Cabeçalho winioctl.h (inclua Windows.h)

Confira também

FILESYSTEM_STATISTICS

KeQueryPerformanceCounter

QueryPerformanceFrequency