Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In het voorbeeld in dit onderwerp ziet u hoe u eenvoudige NTFS-bestandssysteemstreams gebruikt.
In dit voorbeeld wordt een bestand met de naam TestFile gemaakt met een grootte van 16 bytes. Het bestand heeft echter ook een extra stroomtype ::$DATA, met de naam 'Stream', waarmee een extra 23 bytes wordt toegevoegd die niet door het besturingssysteem wordt gerapporteerd. Wanneer u de eigenschap bestandsgrootte voor het bestand bekijkt, ziet u daarom alleen de standaardgrootte ::$DATA stream voor het bestand.
#include <windows.h>
#include <stdio.h>
void main( )
{
HANDLE hFile, hStream;
DWORD dwRet;
hFile = CreateFile( TEXT("TestFile"), // Filename
GENERIC_WRITE, // Desired access
FILE_SHARE_WRITE, // Share flags
NULL, // Security Attributes
OPEN_ALWAYS, // Creation Disposition
0, // Flags and Attributes
NULL ); // OVERLAPPED pointer
if( hFile == INVALID_HANDLE_VALUE )
{
printf( "Cannot open TestFile\n" );
return;
}
else
{
WriteFile( hFile, // Handle
"This is TestFile", // Data to be written
16, // Size of data, in bytes
&dwRet, // Number of bytes written
NULL ); // OVERLAPPED pointer
CloseHandle( hFile );
hFile = INVALID_HANDLE_VALUE;
}
hStream = CreateFile( TEXT("TestFile:Stream"), // Filename
GENERIC_WRITE, // Desired access
FILE_SHARE_WRITE, // Share flags
NULL, // Security Attributes
OPEN_ALWAYS, // Creation Disposition
0, // Flags and Attributes
NULL ); // OVERLAPPED pointer
if( hStream == INVALID_HANDLE_VALUE )
printf( "Cannot open TestFile:Stream\n" );
else
{
WriteFile( hStream, // Handle
"This is TestFile:Stream", // Data to be written
23, // Size of data
&dwRet, // Number of bytes written
NULL); // OVERLAPPED pointer
CloseHandle( hStream );
hStream = INVALID_HANDLE_VALUE;
}
}
Als u Type TestFile bij een opdrachtprompt typt, wordt de volgende uitvoer weergegeven:
This is TestFile
Als u echter de woorden typt Type TestFile:Stream, wordt de volgende fout gegenereerd:
De syntaxis van de bestandsnaam, mapnaam of volume-etiket is onjuist.
Als u wilt weergeven wat zich in TestFile:stream bevindt, gebruikt u een van de volgende opdrachten:
Meer < TestFile:Stream
Meer < TestFile:Stream:$DATA
De weergegeven tekst is als volgt:
This is TestFile:Stream
Verwante onderwerpen