IWbemUnsecuredApartment::CreateSinkStub 方法 (wbemcli.h)
CreateSinkStub方法類似于IUnsecuredApartment::CreateObjectStub,並建立物件轉寄站接收,並執行從 Windows 管理接收非同步呼叫的存取檢查。 CreateSinkStub 與 CreateObjectStub 不同,因為它可以指定應該驗證接收的回呼。
WMI 提供 Unsecapp.exe 程式,以作為個別進程運作。 您可以在其他版本的 Windows 中使用 IWbemUnsecuredApartment 介面或 IUnsecuredApartment 介面的呼叫來裝載 Unsecapp.exe。 IUnsecuredApartment 沒有執行存取檢查的任何方法。
存取檢查表示 Unsecapp.exe 只允許原本取得接收的電腦帳戶叫用回呼。 當登錄機碼 UnsecAppAccessControlDefault 設定為零時,除非應用程式呼叫 CreateSinkStub 並將 dwFlag 參數設定為 WBEM_FLAG_UNSECAPP_CHECK_ACCESS,否則Unsecapp.exe 不會對回呼執行存取控制。 如果參數不存在,這是預設值,則 Unsecapp.exe 讀取登錄機碼值,以判斷是否要驗證回呼。
語法
HRESULT CreateSinkStub(
[in] IWbemObjectSink *pSink,
[in] DWORD dwFlags,
LPCWSTR wszReserved,
[out] IWbemObjectSink **ppStub
);
參數
[in] pSink
用戶端之 IWbemObjectSink之進程內實作的指標。
[in] dwFlags
您可以從 列舉WBEM_UNSECAPP_FLAG_TYPE 設定下列其中一個值。 此參數會決定 Unsecapp.exe 如何使用登錄機碼來檢查此登錄機碼:
\ HKEY_LOCAL_MACHINE軟體\微軟\WBEM\CIMOM\UnsecAppAccessControlDefault
WBEM_FLAG_UNSECAPP_DEFAULT_CHECK_ACCESS
Unsecapp.exe 讀取登錄機碼 UnsecAppAccessControlDefault 來判斷它是否應該驗證回呼。
WBEM_FLAG_UNSECAPP_CHECK_ACCESS
不論登錄機碼 UnsecAppAccessControlDefault的設定為何,Unsecapp.exe 都會驗證回呼。
WBEM_FLAG_UNSECAPP_DONT_CHECK_ACCESS
不論登錄機碼 UnsecAppAccessControlDefault的設定為何,Unsecapp.exe 都不會驗證回呼。
wszReserved
保留的。
[out] ppStub
接收要用於非同步 IWbemServices 呼叫之替代物件的指標。 使用者會收到 IUnknown 指標,而且必須先呼叫 QueryInterface for IID_WbemObjectSink ,才能在非同步 IWbemServices 呼叫中使用這個物件。
傳回值
這個方法會傳回 QueryInterface的標準 COM 錯誤碼。 如果呼叫成功,它會傳回 S_OK 。 如果呼叫因為不支援要求的介面而失敗,方法會 傳回E_NOINTERFACE。
如果網路問題造成您遺失與 Windows 管理的遠端連線,也可能傳回 COM 特定的錯誤碼。
備註
提供這個方法來改善用戶端應用程式的非同步呼叫安全性。 如需詳細資訊,請參閱 在非同步呼叫上設定安全性。
規格需求
最低支援的用戶端 | 都不支援 |
最低支援的伺服器 | Windows Server 2008 |
目標平台 | Windows |
標頭 | wbemcli.h (包含 Wbemidl.h) |
程式庫 | Wbemuuid.lib |
Dll | Unsecapp.exe |