Un programma che passa parametri delle dimensioni dello schermo non corretti causa una violazione di accesso

Traduzione articoli Traduzione articoli
Identificativo articolo: 311486 - Visualizza i prodotti a cui si riferisce l?articolo.
Questo articolo è stato precedentemente pubblicato con il codice di riferimento I311486
Questo articolo è stato archiviato. L?articolo, quindi, viene offerto ?così come è? e non verrà più aggiornato.
Espandi tutto | Chiudi tutto

In questa pagina

Sintomi

Le versioni di Windows elencate all'inizio di questo articolo presentano il seguente problema: quando si esegue un programma locale che passa parametri non validi con dimensioni inferiori a quelle dello schermo, si verifica una violazione di accesso e il sistema si blocca.

Codice di esempio

È noto che il seguente codice di esempio non compilato causa il seguente comportamento:
#include <stdio.h>

int main(void)
{
while(1)
printf("\t\t\b\b\b\b\b\b");
return 0;
}

Cause

Questo problema si verifica perché in Windows vengono controllati i parametri non validi con dimensioni superiori a quelle dello schermo, ma attualmente non vengono controllati quelli con dimensioni inferiori.

Risoluzione

Windows XP

Per risolvere il problema, procurarsi l'ultimo Service Pack per Windows XP. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
322389 How to Obtain the Latest Windows XP Service Pack
La versione in lingua inglese di questa correzione deve avere i seguenti attributi di file (o successivi):
   Data       Ora    Versione     Dimensione  Nome file
   -----------------------------------------------------
   02-Nov-01  21.43  5.1.2600.19  272.384     Winsrv.dll
   02-Nov-01  21.43  5.1.2600.19  272.384     Winsrv.dll

Windows 2000

Per risolvere questo problema è necessario ottenere la versione più recente del Service Pack per Windows 2000. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
260910 How to Obtain the Latest Windows 2000 Service Pack
La versione in lingua inglese di questa correzione deve avere i seguenti attributi di file (o successivi):
   Data         Ora    Versione       Dimensione Nome file
   ----------------------------------------------------------
   05-Nov-2001  18.57  5.0.2195.4572    222.480  Gdi32.dll
   05-Nov-2001  18.57  5.0.2195.4272    731.920  Kernel32.dll
   25-Giu-2001  18.17  3.10.0.103        47.808  User.exe
   05-Nov-2001  18.57  5.0.2195.4314    402.192  User32.dll
   05-Nov-2001  18.57  5.0.2195.4345    371.984  Userenv.dll
   27-Set-2001  15.00  5.0.2195.4426  1.731.536  Win32k.sys
   30-Ott-2001  18.17  5.0.2195.4575    178.960  Winlogon.exe
   05-Nov-2001  18.58  5.0.2195.4553    243.472  Winsrv.dll
   05-Nov-2001  18.58  5.0.2195.4272    731.920  Kernel32.dll
   05-Nov-2001  18.58  5.0.2195.4426  1.731.536  Win32k.sys
   05-Nov-2001  18.58  5.0.2195.4553    243.472  Winsrv.dll

Status

Microsoft ha confermato che questo problema si verifica con i prodotti elencati all'inizio di questo articolo. Questo problema è stato corretto per la prima volta nel Service Pack 3 (SP3) per Microsoft Windows 2000 e nel Service Pack 1 (SP1) per Microsoft Windows XP.

Informazioni

A seguito di questo aggiornamento vengono controllati i limiti inferiori. L'aggiornamento influisce direttamente sul file Winsrv.dll, ma sono inclusi anche i seguenti file per problemi di dipendenza:
User.exe
User32.dll
Win32k.sys
Gdi32.dll
Userenv.dll
Kernel32.dll
Winlogon.exe

Proprietà

Identificativo articolo: 311486 - Ultima modifica: lunedì 24 febbraio 2014 - Revisione: 4.1
Le informazioni in questo articolo si applicano a
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional Edition
Chiavi: 
kbnosurvey kbarchive kbqfe kbhotfixserver kbbug kbfix kbsecurity kbshell kbwin2000presp3fix kbwin2000sp3fix kbwinnt400presp7fix kbwinxppresp1fix kbwinxpsp1fix KB311486
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com