Sürümünde bir üçüncü taraf DLL'nin açtığım bir dosyayı okumasını engellemeye çalışıyorum ve bunu iyi buldum ... iyi, imkansız.Windows, neden CreateFile (<paysız erişim>) bana yalan söylüyor?
Ne yaparsam yapayım ne olursa olsun, hangi bayrakları paylaştığım önemli değil, her zaman numaralı telefonu arayarak başarılı görünüyor!
Bu nasıl mümkündür: İlk CreateFile
çağrı benimdir ve dinlenme onların vardır - İşte
Süreç Monitor'den ekran görüntüsü nedir? Neden "Paylaşım Modu: Yok" bana yalan söylüyor ve bunu nasıl önleyebilirim?
#include <stdio.h>
#include <Windows.h>
int main()
{
LPCTSTR file = TEXT("C:\\Test1234.xml");
HANDLE hFile1 =
CreateFile(file, FILE_READ_ATTRIBUTES, 0, NULL, OPEN_ALWAYS, 0, NULL);
HANDLE hFile2 =
CreateFile(file, FILE_READ_DATA, 0, NULL, OPEN_ALWAYS, 0, NULL);
DWORD n;
BYTE buf[1];
printf("%d\n", ReadFile(hFile2, buf, sizeof(buf), &n, NULL));
CloseHandle(hFile1);
CloseHandle(hFile2);
DeleteFile(file);
}
Ayrıca, dosyanın I/O önceliğini başlangıçta "çok düşük" olarak nasıl ayarladıklarını bilmiyorum. Her dosya değişene kadar "normal" önceliğe sahip değil mi? – Mehrdad
Lütfen dosyayı açan kodu gösterin. –
@RemyLebeau: Güncellemeye bakın. – Mehrdad