CAsyncSocket::IOCtl
BOOLIOCtl (lCommand,ยาวDWORD *lpArgument);
ส่งกลับค่า
ไม่ใช่ศูนย์ถ้าฟังก์ชันนี้จะสำเร็จ มิฉะนั้น 0 และรหัสข้อผิดพลาดเฉพาะสามารถเรียกข้อมูล โดยการเรียกGetLastError ข้อผิดพลาดต่อไปนี้ใช้ฟังก์ชันนี้สมาชิก:
-
WSANOTINITIALISEDnbspAfxSocketInitประสบความสำเร็จต้องเกิดขึ้นก่อนที่จะใช้ API นี้(&N)?
-
WSAENETDOWNnbsp การใช้งาน Windows Sockets ที่ตรวจพบว่า ระบบย่อยเครือข่ายล้มเหลว(&N)?
-
WSAEINVALnbsplCommandไม่เป็นคำสั่งที่ถูกต้องlpArgumentไม่มีพารามิเตอร์ที่ยอมรับได้สำหรับlCommandหรือคำสั่งไม่สามารถใช้ได้กับชนิดของซ็อกเก็ตที่ให้มา(&N)?
-
WSAEINPROGRESSnbsp การดำเนินการ Windows Sockets บล็อกกำลังดำเนินการอยู่(&N)?
-
WSAENOTSOCKnbsp ตัวบอกลักษณะไม่ใช่ซ็อกเก็ต(&N)?
พารามิเตอร์
lCommand
คำสั่งการดำเนินการบนซ็อกเก็ต?
lpArgument
ตัวชี้การพารามิเตอร์สำหรับlCommand?
หมายเหตุ
เรียกฟังก์ชันนี้สมาชิกเพื่อควบคุมโหมดของซ็อกเก็ต ขั้นตอนนี้สามารถใช้บนซ็อกเก็ตใด ๆ ที่รัฐ การใช้การรับ หรือเรียกใช้พารามิเตอร์ปฏิบัติที่เกี่ยวข้องกับซ็อกเก็ต ขึ้นอยู่กับโพรโทคอลและการสื่อสารระบบย่อย คำสั่งต่อไปนี้ได้รับการสนับสนุน:
-
FIONBIOnbsp การเปิด หรือปิดใช้งานโหมด nonblocking บนซ็อกเก็ต พารามิเตอร์lpArgumentจุดที่DWORDใน ซึ่งจะไม่ใช่ศูนย์ถ้าต้องการ เปิดใช้งาน และศูนย์ถ้าว่าจะปิดใช้งานโหมด nonblocking ถ้ามีการออกAsyncSelectบนซ็อกเก็ต แล้วใด ๆ จะใช้IOCtlเพื่อตั้งค่าซ็อกเก็ตกลับไปยังโหมดการบล็อคจะล้มด้วยWSAEINVAL การกำหนดซ็อกเก็ตกลับไปยังโหมดการบล็อก และป้องกันข้อผิดพลาดWSAEINVALโปรแกรมประยุกต์ต้องก่อนการปิดใช้งานการAsyncSelectโดยเรียกAsyncSelectกับพารามิเตอร์lEventเท่ากับ 0 แล้วเรียกIOCtl(&N)?
-
FIONREADnbsp กำหนดจำนวนสูงสุดของไบต์ที่สามารถอ่านได้ โดยการเรียกรับหนึ่งจากซ็อกเก็ตนี้ พารามิเตอร์lpArgumentชี้ผลที่DWORDในร้านค้าใดIOCtl ถ้าซ็อกเก็ตนี้เป็นชนิดSOCK_STREAM, FIONREADส่งกลับยอดรวมของข้อมูลซึ่งสามารถอ่านได้ในเดียวรับ นี้ว่าโดยปกติเหมือนยอดรวมของข้อมูลการจัดคิวบนซ็อกเก็ต ถ้าซ็อกเก็ตนี้เป็นชนิดSOCK_DGRAM, FIONREADส่งกลับขนาดของเดตาแกรมแรกจัดคิวบนซ็อกเก็ต(&N)?
-
SIOCATMARKnbsp ตรวจสอบว่า ทั้งหมดออกของแถบข้อมูลถูกอ่าน ใช้เฉพาะกับซ็อกเก็ตชนิดSOCK_STREAMซึ่งได้ถูกกำหนดค่าสำหรับการต้อนรับในบรรทัดของข้อมูลใด ๆ ออกของวง (SO_OOBINLINE) ถ้าไม่มีข้อมูลออกของวงคือรอการอ่าน การดำเนินการส่งกลับไม่ใช่ศูนย์ มิฉะนั้น จะส่งกลับค่า 0 และReceiveFromทำบนซ็อกเก็ตหรือถัดไปรับจะดึงข้อมูลบางส่วนหรือทั้งหมดของข้อมูลอยู่ก่อนหน้า "เครื่องหมาย" แอปพลิเคชันควรใช้การดำเนินการของSIOCATMARKเพื่อตรวจสอบว่า ข้อมูลใด ๆ อยู่ ถ้าไม่มีข้อมูลใด ๆ ปกติก่อนหน้าข้อมูล (ออกของวง) "เร่งด่วน" มันจะได้รับในใบสั่ง (โปรดทราบว่า การรับหรือReceiveFromจะไม่รวมข้อมูลออกของวงดนตรี และปกติในสายเดียวกัน) พารามิเตอร์lpArgumentจุดที่DWORDในร้านค้าใดIOCtlผลลัพธ์(&N)?
ฟังก์ชันนี้เป็นเซตย่อยของioctl()เป็นใช้ใน Berkeley sockets โดยเฉพาะอย่างยิ่ง ไม่มีไม่มีคำสั่งซึ่งจะเท่ากับFIOASYNCในขณะที่SIOCATMARKคำสั่งซ็อกเก็ตระดับเท่านั้นซึ่งได้รับการสนับสนุน?
ภาพรวม CAsyncSocket |nbsp สมาชิกของคลาส| แผนภูมิของลำดับชั้น(&N)
ดูเพิ่มเติมnbspCAsyncSocket::AsyncSelect, CAsyncSocket::Create, CAsyncSocket::GetSockOpt, CAsyncSocket::SetSockOpt(&N)