Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Yürütülebilir dosyalar, bellekle eşlenen bir görüntü dosyası kullanılarak işlemin adres alanına yüklenir. Dosyanın açılması veya bir tanıtıcı oluşturulması gerekmez çünkü eşleme bir bölüm yoluyla yapılır. Dosya sistemleri, bellekle eşlenen dosyaları destekliyorsa, bu özel semantiklerin uygulanmasını sağlamak için denetlemelidir. Örneğin, bu durumu denetlemek için FASTFAT dosya sistemi kodu, WDK'nin içerdiği fastfat örneklerinden Create.c kaynak dosyasındaki FatOpenExistingFCB işlevinde bulunabilir:
//
// If the user wants write access to the file, make sure there
// is not a process mapping this file as an image. Any attempt to
// delete the file will be stopped in fileinfo.c
//
// If the user wants to delete on close, check at this
// point though.
//
if (FlagOn(*DesiredAccess, FILE_WRITE_DATA) || DeleteOnClose) {
Fcb->OpenCount += 1;
DecrementFcbOpenCount = TRUE;
if (!MmFlushImageSection( &Fcb->NonPaged->SectionObjectPointers,
MmFlushForWrite )) {
Iosb.Status = DeleteOnClose ? STATUS_CANNOT_DELETE :STATUS_SHARING_VIOLATION;
try_return( Iosb );
}
}
Bu nedenle dosya sistemi, dosya açık olmasa bile yürütülebilir görüntü de dahil olmak üzere bellekle eşlenen bir dosyanın silinememesini sağlar.