FSCTL_LOOKUP_STREAM_FROM_CLUSTER IOCTL (winioctl.h)

Dado um identificador para um volume NTFS ou um arquivo em um volume NTFS, retorna uma cadeia de estruturas de dados que descreve fluxos que ocupam os clusters especificados.

Importante

FSCTL_LOOKUP_STREAM_FROM_CLUSTER é uma operação muito intensiva em recursos e normalmente usa uma quantidade muito grande de largura de banda, memória e tempo de disco. É improvável que grande parte dessas informações permaneça em cache, portanto, uma segunda chamada para FSCTL_LOOKUP_STREAM_FROM_CLUSTER levaria quase tanto tempo quanto a primeira chamada. Para fazer várias pesquisas, é mais eficiente usar FSCTL_ENUM_USN_DATA para enumerar cada registro MFT e, em seguida, usar FSCTL_GET_RETRIEVAL_POINTERS para coletar os dados a serem mapeados entre clusters e fluxos.

Para executar essa operação, chame a função DeviceIoControl com os parâmetros a seguir.

BOOL DeviceIoControl(
  (HANDLE)       hDevice,               // handle to file, directory, or volume
  FSCTL_LOOKUP_STREAM_FROM_CLUSTER,     // 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
);

Comentários

No Windows 8 e no Windows Server 2012, esse código é compatível com as tecnologias a seguir.

Tecnologia Com suporte
Protocolo SMB (SMB) 3.0 Não
TFO (Failover transparente) do SMB 3.0 Não
SMB 3.0 com compartilhamentos de arquivos de expansão (SO) Não
Sistema de arquivos de Volume Compartilhado Clusterizado (CsvFS) Sim

Requisitos

   
Cliente mínimo com suporte Windows 7 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 R2 [somente aplicativos da área de trabalho]
Cabeçalho winioctl.h (inclua Windows.h)

Confira também