Makale numarası: 68827 - Son Gözden Geçirme: 30 Ekim 2003 Perşembe - Gözden geçirme: 2.0

Güncelleştirme, özel profilleri (.ını dosyaları) önbelleğe alınmış

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.
Hepsini aç | Hepsini kapa

Özet

Windows sürüm 3.1, özel bir profil (.ını dosyası) ilk erişildiğinde</a0> altında sistem GetFileTime() apı'sini ve bu değer. WriteProfileString() API sonra GetFileTime() apı'sini ve dönüş değeri için saklanan değer karşılaştırın. Iki değerler eşleşirse, dosyanın iki saniye süreyle geçerli kabul edilir. Işlev değişiklikleri gerçekleştirir ve yeni içeriği diske yazar. Iki değeri eşleşmiyor, profili bir arabelleğe tekrar oku ve değişiklik yapılmaz. Aynı ilke değerlerini özel bir profilden okumak için gerçek tutar.

Ikinci iki sınır arkasında reasoning uygulamaların çoğu özel profillerini, uygulamanın başlangıcında bir veri bloğu okuma ve uygulama kapatma sırasında bir veri bloğu yazma ' dir. Bir okuma yirmi bir okuma sıra ceza yararları verilen kabul edilebilir, kabul edilir.

Windows sürüm 3. 0'da, özel bir profil olan bir uygulamanın, özel bir profil için bir metin düzenleyicisi tarafından yapılan değişiklikleri yanıtlamaz. Bir metin düzenleyicisi için özel bir profil güncelleştirdiğinde, diskteki dosya değiştirilir. Ancak, GetPrivateProfileString() GetPrivateProfileInt() değil okuyup disk dosyasından bir önbellek dosyasında bir kopyasını işlevleri yerine okuma. WritePrivateProfileString() önbelleğe alınmış dosya hem de disk dosyasının uygun bölümlerde güncelleştirir, tüm önbellek geçersiz sürece ancak işlevleri disk dosyasının önbelleğe yeniden değil. Aşağıda bulunan bilgiler bir disk dosyasından recached için özel bir profil zorlaması nasıl anlatılır.

Daha fazla bilgi

Windows, erişim süresini azaltmak için .ını dosyaları önbelleğe alır. Bu tasarım, dosyayı farklı bir .ını dosyası kadar veya bir uygulamanın dosyanın recaching zorlar kadar bellekte kalmasını sağlar.

Bir .ını dosyası recached zorlamak için <a0></a0>, (burada <fname.ini> Özel profil uygulamanın adıdır) aşağıdaki arama yapın:
   WritePrivateProfileString(NULL, NULL, NULL, <fname.ini>)
				
Bu çağrı, önbellekte geçersiz kılınan için tüm .ını dosyası zorlar. Sonraki aramanın GetPrivateProfileString() veya GetPrivateProfileInt() recached disk dosyası neden olur.

Erişim süresi en iyi duruma getirmek için .ını dosyaları önbelleğe alınır, ancak bir .ını dosyası nasıl ve ne zaman recached örnekleri şunlardır:

  1. Uygulama, uygulama profil bilgileri gerektiriyorsa, her disk önbelleğinden güncelleştirmesi. Yukarıda anlatılan şekilde WritePrivateProfileString işlevinin çağrılması önbelleğini temizleyin.

    Not: dosya, her erişim recached için önbellek yararı bu yöntemle kaybolur.
  2. Ayrı bir program veya kullanıcı açıkça önbellekteki geçersiz kılmak için Çağır bir işlev oluşturun. Windows Software Development Kit'e (SDK) ile sağlanan GENERIC örnek uygulamaya yerleştirilmesi bu amaç için bazı kod aşağıda verilmektedir:
       BOOL InitInstance(HANDLE hInstance, int nCmdShow)
       {
          LPSTR lpApplicationName, lpKeyName, lpDefault, lpReturnedString;
    
          int   nSize;
    
          /* initialize variables */ 
          ...
    
          WritePrivateProfileString(NULL, NULL, NULL, "MY.INI");
          GetPrivateProfileString(lpApplicationName, lpKeyName,
             lpDefault, lpReturnedString, nSize, "MY1.INI");
          MessageBox(NULL, "Cache Refreshed", szApp,
             MB_ICONINFORMATION | MB_OK);
          return TRUE;
       }
    						
    .ını dosyası, yalnızca bu zaman, düzenleyici tarafından bu nedenle önbelleğinin yararı değiştirilir korunur recached bir program veya bu işlevi kullanarak neden olur. Ancak, kullanıcı profili, bir düzenleyici ile değiştirildikten sonra başka bir uygulama veya işlev çağrısı için gerekli değildir.
  3. Bu teknikleri hiçbiri uygun değilse, uygulamanın .ını dosyası her erişim önbelleğinde invalidation gerekli olup olmadığını görmek için önce saat ve tarih damgası denetleyin. Bu seçenek kullanıcının başka bir program aranacak gerek kalmadan, önbelleği yararları sağlar. Saat ve tarih damgası okumak için gerekli ek yükü, dosyanın her çağrısıyla GetPrivateProfileString veya GetPrivateProfileInt işlevlerine recaching için karşılaştırma düzeydedir.

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Windows Software Development Kit 3.0
  • Microsoft Windows Software Development Kit 3.1
Anahtar Kelimeler: 
kbmt kb16bitonly KB68827 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:68827  (http://support.microsoft.com/kb/68827/en-us/ )
Retired KB ArticleKullanım Dışı Bilgi Bankası İçeriği Yasal Uyarı
Bu makale, Microsoft'un artık destek sağlamadığı ürünler ile ilgili olarak yazılmıştır. Bu nedenle, bu makale "olduğu gibi" sağlanmıştır ve bundan sonra güncelleştirilmeyecektir.