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