Fungsi FindStringOrdinal (libloaderapi.h)
Menemukan string Unicode (karakter lebar) di string Unicode lain untuk perbandingan non-linguistik.
Sintaks
int FindStringOrdinal(
[in] DWORD dwFindStringOrdinalFlags,
[in] LPCWSTR lpStringSource,
[in] int cchSource,
[in] LPCWSTR lpStringValue,
[in] int cchValue,
[in] BOOL bIgnoreCase
);
Parameter
[in] dwFindStringOrdinalFlags
Bendera yang menentukan detail operasi temukan. Bendera ini saling eksklusif, dengan FIND_FROMSTART menjadi default. Aplikasi hanya dapat menentukan salah satu bendera temukan.
[in] lpStringSource
Arahkan ke string sumber, di mana fungsi mencari string yang ditentukan oleh lpStringValue.
[in] cchSource
Ukuran, dalam karakter tidak termasuk karakter null yang mengakhiri, dari string yang ditunjukkan oleh lpStringSource. Aplikasi biasanya harus menentukan angka positif, atau 0. Aplikasi dapat menentukan -1 jika string sumber dihentikan null dan fungsi harus menghitung ukuran secara otomatis.
[in] lpStringValue
Arahkan ke string pencarian yang fungsinya dicari dalam string sumber.
[in] cchValue
Ukuran, dalam karakter tidak termasuk karakter null yang mengakhiri, dari string yang ditunjukkan oleh lpStringValue. Aplikasi biasanya harus menentukan angka positif, atau 0. Aplikasi dapat menentukan -1 jika string dihentikan null dan fungsi harus menghitung ukuran secara otomatis.
[in] bIgnoreCase
TRUE jika fungsinya adalah melakukan perbandingan yang tidak peka huruf besar/kecil, dan FALSE sebaliknya. Perbandingannya bukan operasi linguistik dan tidak sesuai untuk semua lokal dan bahasa. Perilakunya mirip dengan itu untuk bahasa Inggris.
Nilai kembali
Mengembalikan indeks berbasis 0 ke dalam string sumber yang ditunjukkan oleh lpStringSource jika berhasil. Jika fungsi berhasil, string yang ditemukan berukuran sama dengan nilai lpStringValue. Nilai pengembalian 0 menunjukkan bahwa fungsi menemukan kecocokan di awal string sumber.
Fungsi mengembalikan -1 jika tidak berhasil atau jika tidak menemukan string pencarian. Untuk mendapatkan informasi kesalahan yang diperluas, aplikasi dapat memanggil GetLastError, yang dapat mengembalikan salah satu kode kesalahan berikut:
- ERROR_INVALID_FLAGS. Nilai yang disediakan untuk bendera tidak valid.
- ERROR_INVALID_PARAMETER. Salah satu nilai parameter tidak valid.
- ERROR_SUCCESS. Tindakan berhasil diselesaikan tetapi tidak menghasilkan hasil.
Keterangan
Karena FindStringOrdinal memberikan perbandingan biner, findStringOrdinal tidak mengembalikan hasil yang sesuai secara linguistik. Perbandingan ordinal mungkin salah untuk perilaku pengurutan bahasa Inggris. Namun, tidak menemukan kecocokan ketika karakter bervariasi menurut jumlah linguistik yang tidak signifikan. Lihat Mengurutkan untuk informasi tentang memilih fungsi pengurutan yang sesuai.
Berbeda dengan fungsi NLS yang mengembalikan 0 untuk kegagalan, fungsi ini mengembalikan -1 jika gagal. Setelah berhasil, ia mengembalikan indeks berbasis 0. Penggunaan indeks ini membantu fungsi menghindari kesalahan off-by-one dan overruns buffer satu karakter.
Fungsi ini adalah salah satu dari beberapa fungsi NLS yang memanggil SetLastError bahkan ketika berhasil. Ini membuat panggilan ini untuk menghapus kesalahan terakhir dalam utas ketika gagal mencocokkan string pencarian. Ini menghapus nilai yang dikembalikan oleh GetLastError.
Dimulai dengan Windows 8: FindStringOrdinal dinyatakan dalam Libloaderapi.h. Sebelum Windows 8, itu dinyatakan di Winnls.h.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 7 [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2008 R2 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | libloaderapi.h (termasuk Windows.h) |
Pustaka | Kernel32.lib |
DLL | Kernel32.dll |