IUpdateSearcher::Metode pencarian (wuapi.h)
Melakukan pencarian sinkron untuk pembaruan. Pencarian menggunakan opsi pencarian yang saat ini dikonfigurasi.
Sintaks
HRESULT Search(
[in] BSTR criteria,
[out] ISearchResult **retval
);
Parameter
[in] criteria
String yang menentukan kriteria pencarian.
[out] retval
Antarmuka ISearchResult yang berisi hal berikut:
- Hasil operasi
- Kumpulan pembaruan yang cocok dengan kriteria pencarian
Menampilkan nilai
Mengembalikan S_OK jika berhasil. Jika tidak, mengembalikan kode kesalahan COM atau Windows.
Metode ini juga dapat mengembalikan kode kesalahan berikut.
Menampilkan kode | Deskripsi |
---|---|
|
Anda tidak dapat mencari pembaruan jika properti ServerSelection antarmuka IUpdateSearcher diatur ke ssManagedServer atau ssDefault, dan server terkelola di komputer adalah server Microsoft Software Update Services (SUS) 1.0. |
|
Nilai parameter tidak valid atau NULL. |
|
Ada kriteria pencarian yang tidak valid. |
Keterangan
String yang digunakan untuk parameter kriteria harus cocok dengan bahasa pencarian kustom untuk metode Pencarian . String terdiri dari kriteria yang dievaluasi untuk menentukan pembaruan yang akan dikembalikan.
Setiap kriteria menentukan nama dan nilai properti pembaruan. Dengan beberapa batasan, beberapa kriteria dapat dihubungkan dengan operator AND dan OR . Operator = (sama) dan != (tidak sama dengan) keduanya didukung. Ketika Anda menggunakan Windows Update Agent (WUA), operator != (tidak sama dengan) hanya dapat digunakan dengan kriteria jenis.
Sintaks kriteria pencarian didasarkan pada klausa WHERE dari ekspresi kueri SQL. Sebagian besar peta kriteria yang didukung langsung untuk memperbarui properti. Properti pembaruan ini menyerupai elemen dalam dokumen XML virtual yang berisi seluruh katalog server. Misalnya, jika Anda menentukan string kriteria pencarian "AutoSelectOnWebSites = 1", pencarian mengembalikan semua pembaruan yang memiliki properti AutoSelectOnWebSites dengan nilai VARIANT_TRUE.
Kriteria tunggal terdiri dari "Nilai Nama = " atau "Nama != Nilai", di mana "Nama" adalah salah satu nama kriteria yang didukung, dan "Nilai" adalah string atau bilangan bulat. Operator AND dan OR dapat digunakan untuk menyambungkan beberapa kriteria. Namun, OR hanya dapat digunakan di tingkat atas kriteria pencarian. Oleh karena itu, "(x=1 dan y=1) atau (z=1)" valid, tetapi "(x=1) dan (y=1 atau z=1)" tidak valid.
Jenis nilai yang didukung adalah bilangan bulat dan string. Bilangan bulat harus ditentukan dalam basis 10, dan angka negatif diawali dengan tanda minus (-). String harus diloloskan dan diapit dalam tanda kutip tunggal ('). Semua perbandingan string tidak peka huruf besar/kecil kecuali ditentukan.
Tabel berikut mengidentifikasi semua kriteria dukungan publik dalam urutan prioritas evaluasi. Kriteria lainnya dapat ditambahkan ke daftar ini di masa mendatang.
Kriteria | Jenis | Operator yang diizinkan | Deskripsi |
---|---|---|---|
Jenis | string | =, != | Menemukan pembaruan jenis tertentu, seperti "'Driver'" dan "'Perangkat Lunak'". |
DeploymentAction | string | = |
Menemukan pembaruan yang disebarkan untuk tindakan tertentu, seperti penginstalan atau penghapusan instalasi yang ditentukan administrator server.
"DeploymentAction='Installation'" menemukan pembaruan yang disebarkan untuk penginstalan di komputer tujuan. "DeploymentAction='Uninstallation'" bergantung pada kriteria kueri lainnya. "DeploymentAction='Uninstallation'" menemukan pembaruan yang disebarkan untuk penghapusan instalasi pada komputer tujuan. "DeploymentAction='Uninstallation'" bergantung pada kriteria kueri lainnya. Jika kriteria ini tidak ditentukan secara eksplisit, setiap grup kriteria yang bergabung ke operator AND menyiratkan "DeploymentAction='Installation'". |
Ditugaskan | int(bool) | = |
Menemukan pembaruan yang ditujukan untuk penyebaran oleh Updates Otomatis.
"IsAssigned=1" menemukan pembaruan yang ditujukan untuk penyebaran oleh Updates Otomatis, yang bergantung pada kriteria kueri lainnya. Paling banyak, satu pembaruan driver berbasis Windows yang ditetapkan dikembalikan untuk setiap perangkat lokal pada komputer tujuan. "IsAssigned=0" menemukan pembaruan yang tidak dimaksudkan untuk disebarkan oleh Updates Otomatis. |
TelusuriSejumlah | int(bool) | = |
"BrowseOnly=1" menemukan pembaruan yang dianggap opsional.
"BrowseOnly=0" menemukan pembaruan yang tidak dianggap opsional. |
AutoSelectOnWebSites | int(bool) | = |
Menemukan pembaruan di mana properti AutoSelectOnWebSites memiliki nilai yang ditentukan.
"AutoSelectOnWebSites=1" menemukan pembaruan yang ditandai untuk dipilih secara otomatis oleh Windows Update. "AutoSelectOnWebSites=0" menemukan pembaruan yang tidak ditandai untuk Updates Otomatis. |
UpdateID | string(UUID) | =, != |
Menemukan pembaruan yang nilai properti UpdateIdentity.UpdateID cocok dengan nilai yang ditentukan. Dapat digunakan dengan operator != untuk menemukan semua pembaruan yang tidak memiliki UpdateIdentity.UpdateID dari nilai yang ditentukan.
Misalnya, "UpdateID='12345678-9abc-def0-1234-56789abcdef0'" menemukan pembaruan untuk UpdateIdentity.UpdateID yang sama dengan 12345678-9abc-def0-1234-56789abcdef0. Misalnya, "UpdateID!='12345678-9abc-def0-1234-56789abcdef0'" menemukan pembaruan untuk UpdateIdentity.UpdateID yang tidak sama dengan 12345678-9abc-def0-1234-56789abcdef0. Catatan Klausa RevisionNumber dapat dikombinasikan dengan klausul UpdateID yang berisi = operator (sama). Namun, klausa RevisionNumber tidak dapat dikombinasikan dengan klausa UpdateID yang berisi operator != (tidak sama dengan).
Misalnya, "UpdateID='12345678-9abc-def0-1234-56789abcdef0' dan RevisionNumber=100" dapat digunakan untuk menemukan pembaruan untuk Pembaruan Identity.UpdateID yang sama dengan 12345678-9abc-def0-1234-56789abcdef0 dan yang UpdateIdentity.RevisionNumber-nya sama dengan 100. |
RevisionNumber | int | = |
Menemukan pembaruan yang nilai properti UpdateIdentity.RevisionNumber cocok dengan nilai yang ditentukan.
Misalnya, "RevisionNumber=2" menemukan pembaruan di mana UpdateIdentity.RevisionNumber sama dengan 2. Kriteria ini harus dikombinasikan dengan properti UpdateID. |
CategoryIDs | string(uuid) | contains | Menemukan pembaruan yang termasuk dalam kategori tertentu. |
Terinstal | int(bool) | = |
Menemukan pembaruan yang terinstal pada komputer tujuan.
"IsInstalled=1" menemukan pembaruan yang diinstal pada komputer tujuan. "IsInstalled=0" menemukan pembaruan yang tidak diinstal pada komputer tujuan. |
IsHidden | int(bool) | = |
Menemukan pembaruan yang ditandai sebagai tersembunyi pada komputer tujuan.
"IsHidden=1" menemukan pembaruan yang ditandai sebagai tersembunyi di komputer tujuan. Saat Anda menggunakan klausa ini, Anda dapat mengatur properti UpdateSearcher.IncludePotentiallySupersedUpdates ke VARIANT_TRUE sehingga pencarian mengembalikan pembaruan tersembunyi. Pembaruan tersembunyi mungkin digantikan oleh pembaruan lain dalam hasil yang sama. "IsHidden=0" menemukan pembaruan yang tidak ditandai sebagai tersembunyi. Jika properti UpdateSearcher.IncludePotentiallySupersedUpdates diatur ke VARIANT_FALSE, lebih baik menyertakan klausul tersebut dalam string filter pencarian sehingga pembaruan yang digantikan oleh pembaruan tersembunyi disertakan dalam hasil pencarian. VARIANT_FALSE adalah nilai default. |
IsPresent | int(bool) | = |
Ketika diatur ke 1, menemukan pembaruan yang ada di komputer.
"IsPresent=1" menemukan pembaruan yang ada di komputer tujuan. Jika pembaruan berlaku untuk satu atau beberapa produk, pembaruan dianggap ada jika diinstal untuk satu atau beberapa produk. "IsPresent=0" menemukan pembaruan yang tidak diinstal untuk produk apa pun di komputer tujuan. |
RebootRequired | int(bool) | = |
Menemukan pembaruan yang mengharuskan komputer dimulai ulang untuk menyelesaikan penginstalan atau penghapusan instalasi.
"RebootRequired=1" menemukan pembaruan yang mengharuskan komputer dimulai ulang untuk menyelesaikan penginstalan atau penghapusan instalasi. "RebootRequired=0" menemukan pembaruan yang tidak mengharuskan komputer dimulai ulang untuk menyelesaikan penginstalan atau penghapusan instalasi. |
Kriteria pencarian default untuk pencarian adalah sebagai berikut:
( IsInstalled = 0 and IsHidden = 0 )
Untuk menemukan semua pembaruan tersembunyi (dengan menggunakan properti UpdateSearcher.IncludePotentiallySupersededUpdates yang diatur ke VARIANT_TRUE), gunakan kriteria berikut:
( IsHidden = 1 )
Persyaratan
Klien minimum yang didukung | Windows XP, Windows 2000 Professional dengan SP3 [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2003, Windows 2000 Server dengan SP3 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | wuapi.h |
Pustaka | Wuguid.lib |
DLL | Wuapi.dll |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk