credGetTargetInfoA 函式 (wincred.h)
CredGetTargetInfo 函式會擷取具名目標電腦的所有已知目標名稱資訊。 這會在本機執行,而且不需要任何特定的許可權。 傳回的信息預期會傳遞至 CredReadDomainCredentials 和 CredWriteDomainCredentials 函式 。 資訊不應用於任何其他用途。
驗證套件會在嘗試向 TargetName 進行驗證時計算 TargetInfo。 驗證套件會快取此目標資訊,使其可供 CredGetTargetInfo 使用。 因此,只有最近嘗試驗證 TargetName 時,才能使用目標資訊。
LSA 進程中的驗證套件可以快取 TargetInfo ,以供 CredGetTargetInfo 稍後擷取,方法是使用 CRED_CACHE_TARGET_INFORMATION 旗標呼叫 CredReadDomainCredentials 。
語法
BOOL CredGetTargetInfoA(
[in] LPCSTR TargetName,
[in] DWORD Flags,
[out] PCREDENTIAL_TARGET_INFORMATIONA *TargetInfo
);
參數
[in] TargetName
Null 終止字串的指標,其中包含要擷取資訊的目標計算機名稱。
[in] Flags
控制函式作業的旗標。 您可以使用下列旗標:
CRED_ALLOW_NAME_RESOLUTION
如果 TargetName 名稱解析找不到任何目標資訊, 請在 TargetName 上完成,以將它轉換成其他表單。 如果任何其他窗體有目標資訊存在,則會傳回它。 目前只會完成 DNS 名稱解析。
如果應用程式未直接呼叫驗證套件,這非常有用。 應用程式可以將 TargetName 傳遞至另一層軟體以向伺服器進行驗證,而該層軟體可能會解析名稱,並將已解析的名稱傳遞至驗證套件。 因此,原始 TargetName 不會有任何目標資訊。
[out] TargetInfo
單一配置區塊緩衝區的指標,以包含目標資訊。 TargetInfo 至少有一個傳回的成員是非 NULL。 緩衝區內包含的任何指標都是這個單一配置區塊中位置的指標。 呼叫 CredFree,必須釋放單一傳回的緩衝區。
傳回值
函式會在成功時傳回 TRUE ,並在失敗時傳回 FALSE 。 您可以呼叫 GetLastError 函式,以取得更具體的狀態代碼。 可以傳回下列狀態代碼:
- ERROR_NOT_FOUND
無法使用具名伺服器的目標資訊。
備註
注意
wincred.h 標頭會將 CredGetTargetInfo 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | wincred.h |
程式庫 | Advapi32.lib |
Dll | Advapi32.dll |