複製鏈接
請複製以下鏈接發送給好友

GetMailslotInfo

鎖定
Retrieves information about the specified mailslot.
Mailslot,利用郵槽實現進程間通信。
外文名
GetMailslotInfo
説    明
獲取與一個郵路有關的信息
參    數
hMailslot Long

GetMailslotInfoVB定義

Declare Function GetMailslotInfo Lib "kernel32" Alias "GetMailslotInfo" (ByVal hMailslot As Long, lpMaxMess [1]  ageSize As Long, lpNextSize As Long, lpMessageCount As Long, lpReadTimeout As Long) As Long

GetMailslotInfoVC定義

BOOL WINAPI GetMailslotInfo(
_In_HANDLE hMailslot,
_Out_opt_LPDWORD lpMaxMessageSize,
_Out_opt_LPDWORD lpNextSize,
_Out_opt_LPDWORD lpMessageCount,
_Out_opt_LPDWORD lpReadTimeout
);

GetMailslotInfo參數説明

獲取與一個郵路有關的信息
返回值 [2] 
Long,非零表示成功,零表示失敗。會設置GetLastError
參數表
參數 類型及説明
hMailslot Long,指定一個郵路的句柄, 由CreateMailslot創建
lpMaxMessageSize Long,指定一個長整數變量地址,用於裝載這個郵路的最大消息長度
The maximum message size, in bytes, allowed for this mailslot. This value can be greater than or equal to the value specified in the cbMaxMsg parameter of the CreateMailslot function that created the mailslot. 這個參數可以為NULL。
lpNextSize Long,指定一個長整數變量地址,用於裝載下一條消息的長度。如沒有消息準備好,則可被為常數MAILSLOT_NO_MESSAGE。這個參數可以為NULL。
lpMessageCount Long,指定一個長整數變量地址,用於裝載郵路中準備好的消息數量。這個參數可以為NULL。
lpReadTimeout Long,指定一個長整數變量地址,用於裝載郵路的默認閲讀超時。這個參數可以為NULL。
使用郵槽通信的進程分為服務端和客户端.
郵槽由服務端創建,在創建時需要指定郵槽名,創建後服務端得到郵槽的句柄.
在郵槽創建後,客户端可以通過郵槽名打開郵槽,在獲得句柄後可以向郵槽寫入消息.
郵槽通信是單向的,只有服務端才能從郵槽中讀取消息,客户端只能寫入消息.
消息是先入先出的,客户端先寫入的消息在服務端先被讀取.
郵槽除了在本機內進行進程間通信外,在主機間也可以通信.
但是在主機間進行郵槽通信,數據通過網絡傳播時使用的是數據報協議(UDP),所以是一種不可靠的通信.
Note:須包含頭文件 #include <windows.h>
參考資料