CRT-Konflikt bei "Getservbyname"

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 177653 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel wurde zuvor veröffentlicht unter D37104
Dieser Artikel wurde archiviert. Er wird im vorliegenden Zustand bereitgestellt und nicht mehr aktualisiert.
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
177653 CRT Conflict with Getservbyname
Alles erweitern | Alles schließen

Problembeschreibung

Wenn Sie die Funktion "getservbyname()" verwenden, wird eine Fehlermeldung ausgegeben und die Datei "Services", die sich im Verzeichnis "%SystemRoot\System32\Drivers\Etc" befindet, kann nicht verarbeitet werden.

Ursache

Wenn CRTs (CRT - C RunTimes) dynamisch verknüpft sind (/MD - verwenden Sie "Msvcrt.dll"), dann verwenden die Module gemeinsam eine Version der globalen Variablen "_fmode". Wenn die Standardeinstellung "_O_TEXT" in "_O_BINARY" geändert wird, sind davon alle Module betroffen, und die Funktion "getservbyname" schlägt fehlt, weil "_O_TEXT" erwartet wird.

Wenn CRTs statisch verknüpft sind, gibt es mehrere Versionen von CRT (und als Folge davon auch mehrere Kopien von "_fmode"). Das heißt, dass bei einer Änderung des Wertes für "_fmode" im Programm der Standardmodus für "fopen" in der EXE-Datei geändert wird. Im Standardmodus greifen Aufrufe für "fopen" der Sockets-DLL auf die _fmode-Variable in der CRT-DLL zu, deren Wert "_O_TEXT" ist, deshalb schlägt die Funktion in diesem Fall nicht fehl.

Lösung

Zum Beheben dieses Problems installieren Sie das neueste Service Pack für Windows NT, Version 4.0. Weitere Informationen finden Sie im folgenden Artikel in der Microsoft Knowledge Base.
   ARTIKEL-ID: Q152734
   TITEL     : How to Obtain the Latest Windows NT 4.0 Service Pack
Beachten Sie, dass eine spezielle Version dieses Hotfixes jetzt für Kunden verfügbar ist, bei denen dieses Problem auf den Windows NT Terminal Server auftritt. Wenden Sie sich bitte an den technischen Support von Microsoft, um diesen Fix zu erhalten.

Status

Microsoft hat bestätigt, dass es sich dabei um ein Problem in Windows NT, Version 4.0, handelt. Dieses Problem wurde zum ersten Mal mit Windows NT 4.0 Service Pack 4 behoben.

Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, daß nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.

Eigenschaften

Artikel-ID: 177653 - Geändert am: Samstag, 8. Februar 2014 - Version: 1.0
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT Server 4.0 Terminal Server
Keywords: 
kbnosurvey kbarchive kbwinnt400sp4fix KB177653
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.

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