ConnectServerWmi 函式
在指定的電腦上建立從 DCOM 到 WMI 命名空間的連線。
注意
此 API 僅供內部使用。 不是要讓您在開發人員程式碼中使用。
語法
HRESULT ConnectServerWmi (
[in] BSTR strNetworkResource,
[in] BSTR strUser,
[in] BSTR strPassword,
[in] BSTR strLocale,
[in] long lSecurityFlags,
[in] BSTR strAuthority,
[in] IWbemContext* pCtx,
[out] IWbemServices** ppNamespace,
[in] DWORD impLevel,
[in] DWORD authLevel
);
參數
strNetworkResource
[in] 有效 BSTR
的指標,其包含正確 WMI 命名空間的物件路徑。 如需詳細資訊,請參閱備註一節。
strUser
[in] 包含使用者名稱之有效 BSTR
的指標。 null
值代表目前的資訊安全內容。 如果使用者來自的網域與目前的網域不同,strUser
也可以包含以反斜線分隔的網域和使用者名稱。 strUser
也可以採用使用者主體名稱 (UPN) 格式,例如 userName@domainName
。 如需詳細資訊,請參閱備註一節。
strPassword
[in] 包含密碼之有效 BSTR
的指標。 null
代表目前的資訊安全內容。 空字串 ("") 代表長度為零的有效密碼。
strLocale
[in] 有效 BSTR
的指標,會指出用於擷取資訊的正確地區設定。 若為 Microsoft 地區設定識別碼,字串的格式為「MS_xxx」,其中 xxx 是十六進位格式的字串,可指出地區設定識別碼 (LCID)。 如果指定的地區設定不正確,則方法會傳回 WBEM_E_INVALID_PARAMETER
(Windows 7 上除外),其會改用伺服器的預設地區設定。 如果為 'null1,則會使用目前的地區設定。
lSecurityFlags
[in] 要傳遞至 ConnectServerWmi
方法的旗標。 此參數的值若為零 (0),會導致 ConnectServerWmi
的呼叫只會在建立了伺服器連線之後才傳回。 如果伺服器中斷,這可能會導致應用程式無限期地沒有回應。 其他有效值為:
常數 | 值 | 描述 |
---|---|---|
CONNECT_REPOSITORY_ONLY |
0x40 | 保留供內部使用。 請勿使用。 |
WBEM_FLAG_CONNECT_USE_MAX_WAIT |
0x80 | ConnectServerWmi 會在兩分鐘內傳回。 |
strAuthority
[in] 使用者的網域名稱。 它具有下列值:
值 | 描述 |
---|---|
空白 | 會使用 NTLM 驗證,並使用目前使用者的 NTLM 網域。 如果 strUser 指定網域 (建議的位置),則不得在此指定。 如果您在這兩個參數中指定網域,函式會傳回 WBEM_E_INVALID_PARAMETER 。 |
Kerberos:主體名稱 | 使用 Kerberos 驗證,且此參數包含 Kerberos 主體名稱。 |
NTLMDOMAIN:網域名稱 | 會使用 NT LAN Manager 驗證,且此參數包含 NTLM 網域名稱。 |
pCtx
[in] 一般而言,此參數為 null
。 否則,它會是一或多個動態類別提供者所需 IWbemContext 物件的指標。
ppNamespace
[out] 當函式傳回時,收到繫結至指定命名空間之 IWbemServices 物件的指標。 在發生錯誤時,其會設定為指向 null
。
impLevel
[in] 模擬等級。
authLevel
[in] 授權等級。
傳回值
此函式傳回的下列值定義於 WbemCli.h 標頭檔中,或者,您可以將其定義為程式碼中的常數:
常數 | 值 | 描述 |
---|---|---|
WBEM_E_FAILED |
0x80041001 | 發生一般失敗。 |
WBEM_E_INVALID_PARAMETER |
0x80041008 | 參數無效。 |
WBEM_E_OUT_OF_MEMORY |
0x80041006 | 可用的記憶體不足,無法完成作業。 |
WBEM_S_NO_ERROR |
0 | 函式呼叫成功。 |
備註
此函式會包裝 IWbemLocator::ConnectServer 方法的呼叫。
若要存取本機的預設命名空間,strNetworkResource
會是簡單的物件路徑:「root\default」或「\.\root\default」。 若要使用 COM 或 Microsoft 相容網路來存取遠端電腦上的預設命名空間,請包含電腦名稱稱:「\myserver\root\default」。 電腦名稱也可以是 DNS 名稱或 IP 位址。 ConnectServerWmi
函式也可以使用 IPv6 位址來與執行 IPv6 的電腦連線。
strUser
不可以是空字串。 如果在 strAuthority
中指定網域,則網域不得也包含在 strUser
中,否則函式會傳回 WBEM_E_INVALID_PARAMETER
。
規格需求
平台:請參閱系統需求。
標頭:WMINet_Utils.idl
.NET Framework版本:自 4.7.2 起提供