วิธีการตรวจสอบว่า ระบบใช้ในเซฟโหมดจากไดรเวอร์ของอุปกรณ์

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 837643 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

สรุป

บทความนี้อธิบายวิธีการตรวจสอบว่า ระบบใช้ในเซฟโหมดจากไดรเวอร์ของอุปกรณ์

ข้อมูลเพิ่มเติม

ในส่งเคอร์เนลของระบบปฏิบัติการ Windows ออกตัวชี้ไปยังตัวแปร ULONG ที่ชื่อInitSafeBootMode. ตัวแปรนี้ประกอบด้วยการตั้งค่าเซฟโหมด

โปรแกรมควบคุมอุปกรณ์สามารถตรวจสอบว่า ระบบใช้ในเซฟโหมด ด้วยค่าของการInitSafeBootModeตัวแปร ค่า0หมายความว่าระบบไม่การทำงานในเซฟโหมด

ตารางต่อไปนี้แสดงโหมดสำหรับค่าอื่น ๆ
ยุบตารางนี้ขยายตารางนี้
ค่าโหมด
1safeboot_minimal
2safeboot_network
3 *safeboot_dsrepair
* หมายเหตุค่าของ 3 นำไปใช้กับคอนโทรลเลอร์โดเมน Windows เท่านั้น

คุณต้องกำหนดต่อไปนี้ในโปรแกรมควบคุมของคุณ
extern PULONG InitSafeBootMode; 
คุณต้องตรวจสอบค่าของInitSafeBootModeการตรวจสอบว่า ระบบใช้ในเซฟโหมด
if (*InitSafeBootMode > 0){ 

     // The system is in Safe Mode. 
     // Take appropriate action. 
     //     
} 
ตัวอย่างเช่น การป้องกันไม่ให้โปรแกรมควบคุมการทำงานในเซฟโหมด ใช้หนึ่งในวิธีการต่อไปนี้:
  • โปรแกรมควบคุมฟังก์ชัน

    ถ้าโปรแกรมควบคุมฟังก์ชันของคุณมีบริการที่เริ่มการทำงานของชนิดของ SERVICE_BOOT_START ตรวจสอบค่าของการInitSafeBootModeตัวแปรในนั้นAddDeviceล้มเหลวตามกำหนดเวลา และส่งคืนสินค้า

    หมายเหตุ:คุณไม่ต้องส่งคืนล้มเหลวจากนั้นDriverEntryชุดคำสั่ง
  • กรองโปรแกรมควบคุม

    หากโปรแกรมควบคุมของตัวกรองเริ่มต้นในระหว่างการเริ่มระบบครั้ง ตรวจสอบค่าของการInitSafeBootModeตัวแปรในนั้นAddDeviceชุดคำสั่ง ไม่แนบไปยังกองที่อุปกรณ์ กลับสู่ความสำเร็จจากนั้นAddDeviceชุดคำสั่ง
  • โปรแกรมควบคุมอื่น ๆ

    สำหรับโปรแกรมควบคุมที่ระบุไม่ไว้ก่อนหน้านี้ ตรวจสอบค่าของการInitSafeBootModeตัวแปรในนั้นDriverEntryชุดคำสั่ง กลับสู่ความล้มเหลวหากระบบในเซฟโหมด

คุณสมบัติ

หมายเลขบทความ (Article ID): 837643 - รีวิวครั้งสุดท้าย: 18 ตุลาคม 2553 - Revision: 2.0
ใช้กับ
  • Microsoft Windows XP Driver Development Kit
Keywords: 
kbinfo kbdev kbhardware kbdriver kbddk kbwdm kbmt KB837643 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:837643

ให้ข้อเสนอแนะ

 

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