Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Exemplet i det här avsnittet visar hur du använder grundläggande NTFS-filsystemströmmar.
I det här exemplet skapas en fil med namnet "TestFile" med storleken 16 byte. Filen har dock även en ytterligare ::$DATA strömtyp med namnet "Stream" som lägger till ytterligare 23 byte som inte rapporteras av operativsystemet. När du visar filstorleksegenskapen för filen ser du därför bara storleken på standardvärdet ::$DATA dataström för filen.
#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;
}
}
Om du skriver Skriv TestFile i kommandotolken visas följande utdata:
This is TestFile
Men om du skriver orden Skriv TestFile:Streamgenereras följande fel:
"Syntaxen för filnamn, katalognamn eller volymetikett är felaktig."
Om du vill visa vad som finns i TestFile:stream använder du något av följande kommandon:
Mer < TestFile:Stream
Mer < TestFile:Stream:$DATA
Texten som visas är följande:
This is TestFile:Stream
Relaterade ämnen