FIX: Windows NT 4.0 con SP4 causa danneggiamento dei dati in chiamate RPC

Traduzione articoli Traduzione articoli
Identificativo articolo: 216766 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

Sintomi

Se si utilizza un puntatore alla struttura conformi come un campo di una struttura complessa in Windows NT 4.0 con Service Pack 4 (SP4), il lato l'unmarshalling dei Ottiene i dati non inizializzati. Se una struttura di dati è un parametro [in], la routine di gestione di server vede il danneggiamento. Se è un parametro [out], il danneggiamento, il client vedrà il danneggiamento.

Lo stesso problema viene visualizzato se l'applicazione RPC è in esecuzione in Windows 95 con aggiornamento DCOM95 1.2 o Windows 98 con aggiornamento DCOM98 come documentato nel seguente articolo della Microsoft Knowledge Base riportato di seguito:
216889 FIX: DCOM95 1.2 o DCOM98 causa danneggiamento dei dati in chiamate RPC
struttura di dati:
typedef struct tagConformantStruct 
{
   unsigned long        size;
   [size_is(size)] char data[];
} ConformantStruct;

typedef enum tagColor
{
   Red, Blue, Green
} Color;

typedef union tagMyUnion switch (Color type) u
{
   case Red :  long  longArm;
   case Blue:  short shortArm;
   case Green: char  charArm;
} MyUnion;

typedef struct tagComplexStruct
{
   unsigned long numUnions;
   ConformantStruct* pConfStruct; // PROBLEM! pointer to conformant struct.
   [size_is(numUnions)] MyUnion myUnions[]; // Makes the struct complex.
} ComplexStruct;
				

Cause

Un difetto della rpcrt4.dll è fornita con Windows Service Pack 4 (DCOM95 1.2) e DCOM98 impedisce la parte di conformi la struttura conforme per effettuare il marshalling. Il lato l'unmarshalling dei prevede la parte conforme e unmarshals da una parte del buffer RPC probabilmente non inizializzata. Causando il danneggiamento dei dati.

Risoluzione

Windows NT 4.0

Per risolvere il problema, richiedere il service pack più recente per Windows NT 4.0 o l'aggiornamento del singolo componente software. Per ulteriori informazioni su come ottenere l'ultimo service pack, visitare il sito:
Per informazioni su come ottenere l'aggiornamento del singolo prodotto software, contattare il servizio supporto tecnico clienti Microsoft. Per un elenco completo di numeri di telefono del servizio supporto tecnico clienti Microsoft e per informazioni sui costi dell'assistenza, visitare il seguente indirizzo sito Web:
http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS

Windows NT Server 4.0, Terminal Server Edition

Per risolvere questo problema, è necessario ottenere il service pack più recente per Windows NT Server 4.0, Terminal Server Edition. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
152734Come ottenere il più recente di Windows NT 4.0 Service Pack

Status

Microsoft ha confermato che questo problema riguarda Windows NT 4.0 Service Pack 4 e Windows NT Server 4.0, Terminal Server Edition Service Pack 4. Questo problema è stato primo corretto in Windows NT versione 4.0 Service Pack 5 e Windows NT Server 4.0, Terminal Server Edition Service Pack 5.

Proprietà

Identificativo articolo: 216766 - Ultima modifica: domenica 25 febbraio 2007 - Revisione: 1.6
Le informazioni in questo articolo si applicano a:
  • Microsoft Windows NT Server 4.0, Terminal Server Edition Service Pack 4
  • Microsoft Windows NT 4.0 Service Pack 4
  • Microsoft Windows NT 4.0 Service Pack 4
Chiavi: 
kbmt kbhotfixserver kbqfe kbbug kbfix kboswinnt400sp4fix kbqfe kbrpc KB216766 KbMtit
Traduzione automatica articoli
Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 216766
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.

Invia suggerimenti

 

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