WMI-Automatisierung Schnittstellen Programm Herunterfahren und Datenverlust führt möglicherweise zu

Artikel-ID: 292766 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Problembeschreibung

Wenn Sie Programme, die die asynchrone Automatisierungsschnittstellen (Windows Management INSTRUMENTATION) verwenden ausführen, die Programme möglicherweise sporadisch und unvorhersehbar reagiert oder heruntergefahren, verursacht möglicherweise Datenverlust.

Lösung

Installieren Sie das neueste Service Pack für Windows 2000, um dieses Problem zu beheben. Weitere Informationen finden Sie die folgende KB-Artikelnummer:
260910Wie Sie das neueste Service Pack für Windows 2000 erhalten

Status

Microsoft hat bestätigt, dass es sich hierbei um ein Problem in Microsoft Windows 2000 handelt.

Dieses Problem wurde erstmals in Windows 2000 Service Pack 2.

Weitere Informationen

Alle Programme, die asynchrone WMI-Automatisierungsschnittstellen verwendet möglicherweise unterliegen zu nicht vorhersehbarem Verhalten aufgrund von verschiedenen Zeitprobleme sein. Dieses Verhalten kann nicht während der Entwicklung eines Programms identifiziert werden, da nur selten geschachtelte Ereignisse auftreten. Obwohl das Verhalten nicht auf den meisten Systemen angezeigt wird, können CPU-Geschwindigkeit, Netzwerkgeschwindigkeit, Systemauslastung externen Variablen es auslösen und zu Unerwarteter Programmabbruch oder zur Beschädigung von Daten.

Beispielsweise kann eine JScript Garbagecollection Ereignisse auszulösen, erzeugt ein nicht behebbarer Absturz in JScript und alle weiteren Skriptcode Ausführung beendet verursachen. Eine neuere Version von JScript (höher als Windows 2000) unterdrückt die plötzliche beenden und Herunterfahren, aber WMI Automatisierung löst weiterhin Ereignisse zu falschen Zeiten. Insbesondere kann ein Ereignis zu zufälligen Zeitpunkten ausgelöst werden, während ein anderes Ereignis verarbeitet wird, führt einfach zu Beschädigungen von Daten im Ereignis-Handler.

Betrachten Sie beispielsweise die folgende JScript:
function Sink::OnObjectReady(obj, ...) {
  sz = obj.Name;
  AddLineToOutput(sz);
}
				
der Sinn des der Funktion besteht darin, Hinzufügen einer Zeichenfolge eine Ausgabe an, wie asynchron Objekte über das OnObjectReady-Ereignis zurückgegebenen. Über Effekt JScript Garbagecollection können die WMI-Automatisierungsschnittstellen ein geschachtelte-Ereignis zwischen den ersten und zweiten Zeilen der Funktion ausgelöst. Das Ergebnis ist, dass die verschachtelte Funktion den Inhalt der Variablen Sz mitten in die un-nested-Funktion überschrieben werden. Dadurch wird die Ausgabe geschachtelte-Ereignis zweimal angezeigt, und die Informationen über das un-nested-Ereignis geht verloren.

Die Symptome des Fehlers sind unvorhersehbar, da diese abhängig, sind auf die zeitliche Steuerung der Garbagecollection und die Geschwindigkeit mit der asynchronen Vorgänge abgeschlossen. In realen Programmen dieser Fehler ist die Quelle der Probleme, die selten angezeigt, nur einmal in der Verwendung von 40 Stunden oder in viele Tausende von erfolgreiche Operationen wiederholt.

Eigenschaften

Artikel-ID: 292766 - Geändert am: Mittwoch, 31. Januar 2007 - Version: 3.2
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Windows 2000 Server SP1
  • Microsoft Windows 2000 Advanced Server SP1
  • Microsoft Windows 2000 Professional SP1
Keywords: 
kbmt kbbug kbfix kbwin2000presp2fix KB292766 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 292766
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns