วิธีการระบุและแก้ไขการเสียหายจาก Winsock2

ข้อมูลสำคัญ บทความนี้มีข้อมูลเกี่ยวกับการแก้ไขรีจิสตรี โปรดสำรองรีจิสตรีไว้ก่อนที่จะแก้ไข โปรดทำความเข้าใจกับการเรียกคืนรีจิสตรีในกรณีที่เกิดปัญหา สำหรับข้อมูลเกี่ยวกับวิธีสำรองข้อมูล เรียกคืน และแก้ไขรีจิสตรี โปรดคลิกที่หมายเลขบทความต่อไปนี้ เพื่อดูบทความใน Microsoft Knowledge Base:
256986 คำอธิบายรีจิสตรีของ Microsoft Windows (ลิงค์นี้อาจเชื่อมโยงไปยังเนื้อหาที่เป็นภาษาอังกฤษบางส่วน หรือทั้งหมด)

อาการ

เมื่อคุณพยายามคืนค่าและรับ IP address ใหม่โดยใช้โปรแกรม Ipconfig คุณอาจได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:
An error occurred while renewing interface 'Internet': An operation was attempted on something that is not a socket.
เมื่อเปิดโปรแกรม Internet Explorer คุณอาจได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:
The page cannot be displayed
เมื่อใช้งานเครื่องคอมพิวเตอร์ คุณอาจได้รับข้อความแจ้งข้อผิดพลาดต่อไปนี้:
Initialization function INITHELPERDLL in IPMONTR.DLL failed to start with error code 10107
นอกจากนี้ คุณอาจไม่มีไอพีแอดเดรสหรือไม่มีแอดเดรส Automatic Private IP Addressing (APIPA) และคุณอาจได้รับแพ็คเก็ต IP แต่ไม่สามารถส่งได้

เมื่อใช้คำสั่งipconfig /renew คุณอาจได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้

ข้อความที่ 1
An error occurred while renewing interface local area connection: an operation was attempted on something that is not a socket. Unable to contact driver Error code 2.
ข้อความที่ 2
The operation failed since no adapter is in the state permissible for this operation.
ข้อความที่ 3
The attempted operation is not supported for the type of object referenced.
ใน Device Manager เมื่อคุณคลิกShow Hidden Devicesไดรเวอร์ TCP/IP Protocol Driver มีการลิสต์เป็นไม่ใช้งานที่Non-Plug and Play drivers และคุณได้รับรหัสข้อผิดพลาด 24

เมื่อคุณสร้าง dial-up connection คุณอาจได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:
Error 720: ไม่มีการกำหนดค่าคอนฟิก PPP Control Protocols

สาเหตุ

เรื่องเหล่านี้อาจเกิดขึ้นได้หากรีจิสตรีคีย์ Winsock ได้รับความเสียหายหรือไม่สมบูรณ์

การแก้ไข

หมายเหตุ ข้อมูล "Guided Help" นี้มีให้สำหรับการทดสอบ GSAT เท่านั้น ข้อมูล Guided Help นี้ยังไม่สามารถใช้งานจริง

แนวทางวิธีการตรวจสอบและแก้ไขจากความเสียหายของ Winsock2

แนวทางวิธีการตรวจสอบและแก้ไขจากความเสียหายของ Winsock2 Guided Help สามารถนำคุณไปตามขั้นตอนต่างๆ หรือมิฉะนั้น Guided Help จะทำขั้นตอนเหล่านั้นให้คุณโดยอัตโนมัติ

การดำเนินการของ Guided Help จะไม่สามารถยกเลิกได้เมื่อ Guided Help ดำเนินการเสร็จแล้ว

ความต้องการ

  • คุณต้องใช้ Windows XP Home Edition, Windows XP Professional, Windows XP Media Center Edition หรือ Windows XP Tablet PC Edition จึงจะสามารถใช้ Guided Help ได้
  • คุณต้องเข้าสู่ระบบ Windows โดยใช้แอคเคาท์ของผู้ดูแลระบบคอมพิวเตอร์ จึงจะสามารถใช้ Guided Help นี้
ขั้นแรก คุณต้องดาวน์โหลด Guided Help โดยเริ่มต้นด้วยการคลิก ดาวน์โหลด Guided Help .

วิธีการตรวจสอบว่าคีย์ Winsock2 เสียหายหรือไม่

เพื่อตรวจสอบว่าอาการต่างๆ เกิดจากคีย์ Winsock2 หรือไม่ ให้ใช้วิธีการใดวิธีการหนึ่งต่อไปนี้

วิธีที่ 1: ใช้เครื่องมือ Netdiag



การใช้เครื่องมือ Netdiag คุณต้องยกเลิกการติดตั้งเครื่องมือสนับสนุน Microsoft Windows XP เสียก่อน โดยให้ทำตามขั้นตอนต่อไปนี้

หมายเหตุ
  • หากคุณได้ติดตั้ง Support Tools ให้ไปที่ขั้นที่สองในส่วนนี้
  • หากคุณไม่ได้ติดตั้ง Support Tools และไม่มี Windows XP Setup CD ให้ใช้วิธีที่ 2
  1. ใส่แผ่น Windows XP Setup CD แล้วหาโฟลเดอร์ Support\Tools
  2. ดับเบิลคลิกที่โฟลเดอร์ Setup.exe
  3. ทำตามขั้นตอนต่างๆ บนหน้าจอจนกระทั่งถึงหน้าจอSelect An Installation Type
  4. ที่หน้าจอSelect An Installation Type คลิกCompleteแล้วคลิกNext
เมื่อการติดตั้งเสร็จสมบูรณ์แล้ว ให้ทำตามขั้นตอนต่างๆ ต่อไปนี้:
  1. คลิกที่ Start คลิก Runพิมพ์ Command แล้วคลิก OK
  2. พิมพ์ netdiag /test:winsock แล้วกด ENTER
เครื่องมือ Netdiag จะคืนผลการทดสอบสำหรับองค์ประกอบเน็ตเวิร์กหลายๆ อย่างรวมทั้ง Winsock สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการทดสอบ ใช้/v ที่ท้ายคำสั่ง netdiag: netdiag /test:winsock /v

วิธีที่ 2: ใช้โปรแกรม Msinfo32

หมายเหตุ ใช้วิธีการนี้เฉพาะเมื่อคุณไม่มีแผ่น Windows XP Setup CD และคุณไม่ได้ติดตั้ง Support Tools ไว้
  1. คลิกที่ Start คลิก Run พิมพ์ Msinfo32 แล้วคลิก OK
  2. ขยายComponentsขยายNetworkแล้วคลิกProtocol
  3. มีสิบส่วนภายในProtocol ส่วนหัวของส่วนต่างๆ จะมีชื่อต่างๆ ต่อไปนี้หากคีย์ Winsock2 ไม่ได้รับความเสียหาย:

    • MSAFD Tcpip [TCP/IP]
    • MSAFD Tcpip [UDP/IP]
    • RSVP UDP Service Provider
    • RSVP TCP Service Provider
    • MSAFD NetBIOS [\Device\NetBT_Tcpip...
    • MSAFD NetBIOS [\Device\NetBT_Tcpip...
    • MSAFD NetBIOS [\Device\NetBT_Tcpip...
    • MSAFD NetBIOS [\Device\NetBT_Tcpip...
    • MSAFD NetBIOS [\Device\NetBT_Tcpip...
    • MSAFD NetBIOS [\Device\NetBT_Tcpip...

    หากชื่อต่างๆ แตกต่างไปจากลิสต์ แสดงว่าคีย์ Winsock2 เสียหาย หรือคุณมีโปรแกรมเพิ่มเติมอื่นๆ เช่นซอฟท์แวร์พรอกซี่ติดตั้งไว้
หากคุณได้ติดตั้งโปรแกรมเพิ่มเติมจากผู้ผลิตอื่นๆ ชื่อของโปรแกรมเพิ่มเติมจะแทนที่อักษร "MSAFD" ในลิสต์

หากมีมากกว่าสิบส่วนในลิสต์ แสดงว่าคุณมีโปรแกรมอื่นๆ ติดตั้งไว้

หากมีน้อยกว่าสิบส่วน หมายถึงการที่มีข้อมูลขาดหายไป


หมายเหตุ รายการต่างๆ เหล่านี้แสดงการติดตั้งเฉพาะเมื่อมีการติดตั้งโปรโตคอล TCP/IP เท่านั้น คุณสามารถมี Winsock ที่ใช้งานอยู่และดูรายการอื่นๆ เพิ่มเติมได้หากมีการติดตั้งโปรโตคอลอื่นๆ ไว้ ตัวอย่างเช่น หากคุณติดตั้ง NWLink IPX/SPX ไว้ จะเห็นส่วนเพิ่มเติมอื่นๆ อีก 7 ส่วน ทำให้รวมเป็นทั้งหมด 17 ส่วน ด้านล่างนี้คือส่วนหัวของส่วนหนึ่งในส่วนใหม่:
MSAFD nwlnkipx [IPX]
และแต่ละส่วนใหม่ที่ถูกสร้างขึ้นโดยการติดตั้ง NWLink IPX/SPX จะเริ่มต้นด้วยชื่อ "MSAFD." โดยมีเพียงสองส่วนเท่านั้นที่ไม่ได้เริ่มต้นชื่อด้วยอักขระต่างๆ เหล่านั้น


หากการทดสอบ Netdiag ล้มเหลว หรือหากคุณตรวจสอบพบว่าเกิดความเสียหายกับ Winsock โดยการดูที่ Msinfo32 คุณต้องแก้ไขคีย์ Winsock2 โดยการใช้ขั้นตอนต่างๆ เหล่านี้ในส่วนถัดไป

วิธีการแก้ไขจากการเสียหายของไฟล์ Winsock2

Windows XP พร้อมด้วยคำแนะนำ Service Pack 2

การแก้ไข Winsock หากคุณติดตั้ง Windows XP Service Pack 2 (SP2) ไว้ ให้พิมพ์netsh winsock reset ที่พรอมต์คำสั่ง แล้วกดปุ่ม ENTER

หมายเหตุ รีสตาร์ทเครื่องคอมพิวเตอร์หลังจากรันคำสั่งนี้แล้ว นอกจากนี้ สำหรับคอมพิวเตอร์ที่รัน Windows XP SP2 มีคำสั่งใหม่คือnetsh ที่สามารถสร้างคีย์ Winsock ใหม่ได้ สำหรับข้อมูลเพิ่มเติม โปรดแวะไปที่เว็บไซต์ต่อไปนี้: คำเตือน โปรแกรมต่างๆ ที่ใช้งานหรือตรวจสอบอินเทอร์เน็ตเช่น โปรแกรมป้องกันไวรัส ไฟร์วอลล์หรือไคลเอนต์พร็อกซี่อาจได้รับผลกระทบเมื่อคุณรันคำสั่งnetsh winsock reset หากคุณมีโปรแกรมที่ทำงานได้ไม่ถูกต้องหลังจากคุณใช้วิธีการแก้ปัญหานี้แล้ว ให้ติดตั้งโปรแกรมนั้นๆ ใหม่เพื่อให้ทำงานได้อย่างถูกต้อง

หมายเหตุ หากขั้นตอนเหล่านี้ไม่สามารถแก้ปัญหาได้ ให้ทำตามขั้นตอนต่างๆ ในส่วนถัดไป

คำแนะนำสำหรับ Windows XP ที่ไม่ได้ติดตั้งเซอร์วิสแพ็ค 2

เพื่อแก้ไข Winsock หากคุณไม่ได้ติดตั้ง Windows XP SP2 ไว้ ให้ลบรีจิสตรีคีย์ที่เสียหายทิ้ง แล้วติดตั้งโปรโตคอล TCP/IP ใหม่
ขั้นที่ 1: ลบรีจิสตรีคีย์ที่เสียหาย
คำเตือน อาจเกิดปัญหาร้ายแรง หากคุณแก้ไขรีจิสตรีไม่ถูกต้อง โดยใช้ Registry Editor หรือโดยใช้วิธีอื่น ซึ่งคุณอาจต้องติดตั้งระบบปฏิบัติการใหม่เพื่อแก้ไขปัญหาเหล่านี้ ไมโครซอฟท์ไม่อาจรับประกันได้ว่าปัญหาจะสามารถแก้ไขได้ คุณต้องยอมรับความเสี่ยงในการแก้ไขรีจิสตรีด้วยตนเอง

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการแบ็คอัปรีจิสตรี โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:

322756 วิธีการแบ็คอัป แก้ไขและคืนค่ารีจิสตรีใน Windows XP และ Windows Server 2003 (ลิงค์นี้อาจเชื่อมโยงไปยังเนื้อหาที่เป็นภาษาอังกฤษบางส่วน หรือทั้งหมด)

  1. คลิกที่ Start และคลิกที่ Run
  2. ในช่อง Open ให้พิมพ์ regedit และคลิกที่ OK
  3. ใน Registry Editor หาคีย์ต่างๆ ต่อไปนี้ คลิกขวาที่แต่ละคีย์ แล้วคลิกDelete:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Winsock
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Winsock2
  4. เมื่อระบบพรอมต์ให้คุณยืนยันการลบ ให้คลิก Yes
หมายเหตุ รีสตาร์ทเครื่องคอมพิวเตอร์หลังจากลบคีย์ Winsock แล้ว การทำดังกล่าวจะทำให้ระบบปฏิบัติการ Windows XP สร้างรายการเชลล์ใหม่สำหรับคีย์ทั้งสอง หากคุณไม่รีสตาร์ทเครื่องคอมพิวเตอร์หลังจากลบคีย์ Winsock ขั้นตอนถัดไปจะทำงานไม่ถูกต้อง
ขั้นที่ 2: ติดตั้ง TCP/IP
  1. คลิกขวาที่การเชื่อมต่อเน็ตเวิร์ก แล้วคลิกProperties
  2. คลิก Install
  3. คลิกProtocol แล้วคลิกAdd
  4. คลิกHave Disk
  5. พิมพ์C:\Windows\infแล้วคลิกOK
  6. ในลิสต์ของโปรโตคอลต่างๆ ที่ใช้ได้ ให้คลิกInternet Protocol (TCP/IP)แล้วคลิกOK
  7. รีสตาร์ทคอมพิวเตอร์
คุณสมบัติ

รหัสบทความ: 811259 - การตรวจสอบครั้งสุดท้าย: 5 มี.ค. 2008 - ฉบับแก้ไข: 1

คำติชม