Je bent nu offline; er wordt gewacht tot er weer een internetverbinding is

Alternatieve NTFS-gegevensstromen gebruiken

Dit artikel is eerder gepubliceerd onder NL105763
Samenvatting
In de documentatie van het NTFS-bestandssysteem wordt gemeld dat NTFS meerdere gegevensstromen ondersteunt. De documentatie bevat echter geen informatie over de syntaxis voor deze stromen.

In de Windows NT Resource Kit wordt de stroomsyntaxis als volgt beschreven:
bestandsnaam:stream
Alternatieve gegevensstromen kunnen alleen in het bestandssysteem NTFS worden gebruikt en worden mogelijk niet ondersteund in toekomstige bestandssystemen. NTFS zal echter wel worden ondersteund in toekomstige versies van Windows NT.

Toekomstige bestandssystemen ondersteunen een model dat is gebaseerd op opslag die door OLE 2.0 wordt gestructureerd (IStream en IStorage). Door het gebruik van OLE 2.0 kan een toepassing meerdere stromen ondersteunen op alle bestandssystemen en in alle ondersteunde besturingssystemen (Windows, Macintosh, Windows NT en Win32s).
Meer informatie
Hier volgt een voorbeeld van NTFS-stromen:

Voorbeeldcode

   #include <windows.h>   #include <stdio.h>   void main( )   {      HANDLE hFile, hStream;      DWORD dwRet;      hFile = CreateFile( "testfile",                       GENERIC_WRITE,                    FILE_SHARE_WRITE,                                NULL,                         OPEN_ALWAYS,                                   0,                                NULL );      if( hFile == INVALID_HANDLE_VALUE )         printf( "Cannot open testfile\n" );      else          WriteFile( hFile, "This is testfile", 16, &dwRet, NULL );      hStream = CreateFile( "testfile:stream",                                GENERIC_WRITE,                             FILE_SHARE_WRITE,                                         NULL,                                  OPEN_ALWAYS,                                            0,                                         NULL );      if( hStream == INVALID_HANDLE_VALUE )         printf( "Cannot open testfile:stream\n" );      else         WriteFile(hStream, "This is testfile:stream", 23, &dwRet, NULL);   }				
De bestandsgrootte die in een mappenoverzicht zou worden weergegeven, is 16. U bekijkt namelijk alleen 'testfile'. Hierdoor
resulteert de instructie testfile
in:
   This is testfile				
De instructie
type testfile:stream
resulteert echter in:
   The filename syntax is incorrect				
Als u de inhoud van testfile:stream wilt bekijken, gebruikt u:
more < testfile:stream
-of-
mep testfile:stream
waarbij 'mep' staat voor de Microsoft-editor die in de Platform SDK is opgenomen.
Eigenschappen

Artikel-id: 105763 - Laatst bijgewerkt: 05/24/2006 08:43:00 - Revisie: 4.2

Microsoft Win32-API

  • kbhowto kbapi kbkernbase kbfileio KB105763
Feedback
mov.clickstreamTracker.init();