ISSONotification.ReceiveNotification 方法

從 ENTSSO 系統接收通知 (如密碼變更)。

語法

  
HRESULT ReceiveNotification(  
ULONG ulNotificationFlagsIn,  
SReceiveNotification* pReceiveNotification,  
GUID* pguidTrackingId  
);  

參數

bstrAdapterName
[in] 唯一的配接器名稱。

ulNotificationFlagsIn
[in] 控制此通知的通知旗標,來自於 SSO_NOTIFICATION_FLAG 列舉。

pReceiveNotification
[in] 所接收通知的指標。

pguidTrackingId
[out]追蹤識別碼。 ENTSSO 系統會產生追蹤識別碼,並將其傳回給呼叫端。 追蹤識別碼用於稽核用途,並且也能由配接器用來使回應與要求相互關聯。 如果配接器不需要追蹤識別碼,則此參數可以為 NULL。

傳回值

這個方法會傳回 HRESULT,表示它是否正確完成。 如需詳細資訊,請參閱「錯誤值」一節。

錯誤值

這個方法會傳回 HRESULT,其中包含下表的一個值。

描述
S_OK 此方法成功。
E_ACCESSDENIED 存取遭到拒絕。
ENTSSO_E_NO_SERVER 無法連絡 ENTSSO 伺服器。 請檢查 ENTSSO 服務是否正在執行。
ENTSSO_E_NO_NOTIFICATIONS 沒有可接收的通知。
ENTSSO_E_WRONG_STATE 已經在錯誤狀態中呼叫這個方法。

備註

您可以使用 ReceiveNotification 來接收來自 ENTSSO 系統的密碼變更和其他通知。

您可以使用或不使用 WAIT 旗標來呼叫 ReceiveNotification 。 如果您指定 WAIT 旗標, ReceiveNotification 會封鎖直到有通知可用為止。 這樣做可讓您判斷是否要專用線程以接收來自 ENTSSO 服務的通知,或是否要使用 InitializeAdapter 傳回的事件控制碼來執行您自己的等候,並與其他事件共用。

如果在呼叫ShutdownAdapter時等候ReceiveNotification,ReceiveNotification會傳回 SHUTDOWN 通知做為最後一個通知。 SHUTDOWN 通知會比其他任何擱置中的通知優先。

多個執行緒可能呼叫相同配接器名稱的 ReceiveNotification 。 在此情況下,要求會在 ENTSSO 服務上單一執行緒,而且只有一個 ReceiveNotification 會以有效資訊完成。 這些執行緒不是以下一個通知完成,就是以 NONE 完成。 理由在於這些執行緒中的每個執行緒都在等候相同的事件。

規格需求

平臺:Windows Server 2022、Windows Server 2019、Windows Server 2016、Windows 11和Windows 10

另請參閱

ISSONotification 介面 (COM)
ISSONotification 成員
企業單一登入程式設計