FindNLSString 函式 (winnls.h)

在標識碼所指定地區設定的另一個 Unicode 字串中,找出 (寬字元) 或其對等專案。

謹慎 因為具有非常不同二進位表示法的字串可以做為相同的比較,所以此函式可能會引發特定的安全性考慮。 如需詳細資訊,請參閱 安全性考慮:國際功能中的比較函式討論。
 
注意 基於互操作性考慮,應用程式應該偏好 FindNLSStringEx 函式,因為 Microsoft 正移轉至使用地區設定名稱,而不是新地區設定的地區設定標識符。 雖然 FindNLSString 支援自定義地區設定,但大部分的應用程式都應該針對這種類型的支援使用 FindNLSStringEx
 

語法

int FindNLSString(
  [in]            LCID    Locale,
  [in]            DWORD   dwFindNLSStringFlags,
  [in]            LPCWSTR lpStringSource,
  [in]            int     cchSource,
  [in]            LPCWSTR lpStringValue,
  [in]            int     cchValue,
  [out, optional] LPINT   pcchFound
);

參數

[in] Locale

指定地區設定的地區設定識別碼。 您可以使用 MAKELCID 宏來建立識別碼,或使用下列其中一個預先定義的值。

Windows Vista 和更新版本: 也支援下列自定義地區設定標識碼。

[in] dwFindNLSStringFlags

指定尋找作業詳細數據的旗標。 如需詳細定義,請參閱 FindNLSStringExdwFindNLSStringFlags 參數。

[in] lpStringSource

來源字串的指標,函式會在其中搜尋 lpStringValue 所指定的字串。

[in] cchSource

大小,以字元為單位,不包括 lpStringSource 所指示的字串終止 Null 字元。 應用程式無法為此參數指定 0 或任何 -1 以外的負數。 如果來源字串為 Null 終止,且函式應該會自動計算大小,則應用程式會指定 -1。

[in] lpStringValue

搜尋字串的指標,函式會在來源字串中搜尋。

[in] cchValue

大小,以字元為單位,不包括 lpStringValue 所指示的字串終止 Null 字元。 應用程式無法為此參數指定 0 或任何 -1 以外的負數。 如果搜尋字串是以 Null 終止,且函式應該會自動計算大小,則應用程式會指定 -1。

[out, optional] pcchFound

緩衝區的指標,其中包含函式所尋找字串的長度。 如需詳細資訊,請參閱 FindNLSStringExpcchFound 參數。

傳回值

如果成功,則會將以 0 起始的索引傳回至 lpStringSource 所指示的來源字串。 結合 pcchFound中的值,此索引會提供來源字串中整個找到字串的確切位置。 傳回值為 0 是來源字串中無錯誤的索引,而相符字串位於位移 0 的來源字串中。

如果函式不成功,函式會傳回 -1。 若要取得擴充的錯誤資訊,應用程式可以呼叫 GetLastError,這可以傳回下列其中一個錯誤碼:

  • ERROR_INVALID_FLAGS。 為旗標的值無效。
  • ERROR_INVALID_PARAMETER。 任何參數值都無效。
  • ERROR_SUCCESS。 動作已順利完成,但不會產生任何結果。

備註

請參閱 FindNLSStringEx 的。

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 winnls.h (包含 Windows.h)
程式庫 Kernel32.lib
DLL Kernel32.dll

另請參閱

CompareString

FindNLSStringEx

處理應用程式中的排序

LCMapString

國家語言支援

國家語言支援函式

安全性考慮:國際功能