Can CreateFile() Ouvrir un fichier en même temps dans deux thread différentCan CreateFile() Ouvrir un fichier en même temps dans deux thread différent
void new_function(void * what) {
HANDLE h = CreateFile("c:\\tmp", GENERIC_ALL,FILE_SHARE_WRITE |
FILE_SHARE_READ , NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if (h == INVALID_HANDLE_VALUE)
{
DWORD d = GetLastError();
return ;
}
Sleep(10000);
}
int main() {
HANDLE h = CreateFile("c:\\tmp", GENERIC_ALL,FILE_SHARE_WRITE | FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
Sleep(10000);
return 1;
}
chaque fois qu'il sort à la position GetLastError
. et l'erreur est ERROR_SHARING_VIOLATION
(32, « Le processus ne peut pas accéder au fichier car il est utilisé par un autre processus . »)
si je CANOT partage ouvrir le fichier, alors quel est l'utilisation du FILE_SHARE_WRITE | FILE_SHARE_READ
Thanx
The program environment is Win32 Vs2003
Vous devez indiquer quelle langue, quel système d'exploitation et quelle version. –
On dirait C pour moi. CreateFile est une API Win32(). Vous auriez aimé qu'il le marque mieux ... Il est un utilisateur de réputation 63 qui a rejoint il ya 24 jours. Soyez paisible. Merci de l'avoir repermé. –