credGetTargetInfoA 函式 (wincred.h)

CredGetTargetInfo 函式會擷取具名目標電腦的所有已知目標名稱資訊。 這會在本機執行,而且不需要任何特定的許可權。 傳回的信息預期會傳遞至 CredReadDomainCredentialsCredWriteDomainCredentials 函式 。 資訊不應用於任何其他用途。

驗證套件會在嘗試向 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

另請參閱

CredFree

CredReadDomainCredentials

CredWriteDomainCredentials

GetLastError