通知處理常式
非同步 RasDial 呼叫必須指定通知處理常式。 在非同步連線作業期間,遠端存取連線管理員會使用通知處理常式在線上狀態變更或發生錯誤時通知 RAS 用戶端。
通知處理常式所執行的動作可以分成下列類別:
通知處理常式有三種類型,每個處理常式都會收到相同的基本資訊:目前的線上狀態,以及只有在發生錯誤時才為非零的錯誤碼。
值 | 定義 |
---|---|
RasDialFunc | 只接收目前連接狀態和錯誤碼資訊的回呼函式原型。 |
RasDialFunc1 | 回呼函式原型,除了基本資訊之外,還會收到 HRASCONN 連線控制碼和擴充錯誤資訊。 連接控制碼參數可讓 RasDialFunc1 適用于支援多個同時連線作業的用戶端應用程式。 這可讓用戶端為所有作業指定相同的回呼函式,並讓回呼函式判斷哪個連接正在變更狀態。 |
RasDialFunc2 | 類似 RasDialFunc1的回呼函式。 不過, RasDialFunc2 已增強以支援多連結連線。 |
視窗控制碼 | RAS 傳送 WM_RASDIALEVENT 訊息的視窗控制碼,其中包含目前的線上狀態和錯誤碼資訊。 如果您的原始程式碼必須與 16 位 Windows 相容,請使用這個方法,因為 16 位 Windows 不支援任一回呼函式。 |
遠端存取連線管理員會暫停連線作業,直到通知處理常式傳回為止。 基於這個理由,除非發生錯誤,否則處理常式應該儘快傳回。
不應該從通知處理常式內呼叫 RasDial 函式。 另一個遠端存取函式 ( RasGetConnectStatus、 RasEnumEntries、 RasEnumConnections、 RasGetErrorString和 RasHangUp) 可以從處理常式內呼叫。