高階本地過程呼叫 (ALPC)
高階本地過程呼叫 (ALPC) 是一種訊息傳遞機制。伺服器程序釋出一個全域性可見的連線埠物件。當客戶端需要子系統或服務的服務時,它會開啟伺服器連線埠物件的控制代碼,並向埠傳送連線請求。伺服器建立一個通道,並向客戶端返回一個控制代碼。該通道由一對私有通訊埠組成:一個用於客戶端到伺服器的訊息,另一個用於伺服器到客戶端的訊息。通訊通道支援回撥機制,因此客戶端和伺服器可以在通常期望回覆時接受請求。建立 ALPC 通道時,會選擇三種訊息傳遞技術之一:
第一種技術適用於小型到中型訊息(最多 63 KB)。在這種情況下,埠的訊息佇列用作中間儲存,訊息從一個程序複製到另一個程序。
第二種技術適用於大型訊息。在這種情況下,為通道建立一個共享記憶體段物件。透過埠的訊息佇列傳送的訊息包含指向該段物件的指標和大小資訊。這避免了複製大型訊息的需要。傳送方將資料放入共享段,接收方直接檢視它們。
第三種技術使用直接讀寫程序地址空間的 API。ALPC 提供函式和同步機制,以便伺服器可以訪問客戶端中的資料。ALPC 通常由 RPC 用於在特定情況下實現更高的效能。
Win32 視窗管理器使用其自身的某種訊息傳遞方式,這獨立於執行 ALPC 功能。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP