Bagikan melalui


Metode IFunctionDiscovery::AddInstance (functiondiscoveryapi.h)

[Penemuan Fungsi tersedia untuk digunakan dalam sistem operasi yang ditentukan di bagian Persyaratan. Ini mungkin diubah atau tidak tersedia dalam versi berikutnya.]

Membuat atau memodifikasi instans fungsi.

Sintaks

HRESULT AddInstance(
  [in]  SystemVisibilityFlags enumSystemVisibility,
  [in]  const WCHAR           *pszCategory,
  [in]  const WCHAR           *pszSubCategory,
  [in]  const WCHAR           *pszCategoryIdentity,
  [out] IFunctionInstance     **ppIFunctionInstance
);

Parameter

[in] enumSystemVisibility

Nilai SystemVisibilityFlags yang menentukan apakah instans fungsi yang dibuat terlihat lebar sistem atau hanya untuk pengguna saat ini.

Catatan Instans fungsi disimpan dalam HKEY_LOCAL_MACHINE terlepas dari nilai enumSystemVisibility . Pengguna harus memiliki akses Administrator untuk menambahkan instans fungsi.
 

[in] pszCategory

Kategori instans fungsi yang dibuat. Lihat Definisi Kategori.

[in] pszSubCategory

Subkataan instans fungsi yang dibuat. Lihat Definisi Subkataan. Panjang maksimum string ini adalah MAX_PATH.

[in] pszCategoryIdentity

String pengidentifikasi instans penyedia. String ini dikembalikan dari GetProviderInstanceID.

[out] ppIFunctionInstance

Penunjuk ke penunjuk antarmuka IFunctionInstance yang menerima instans fungsi.

Menampilkan nilai

Nilai yang mungkin dikembalikan termasuk, tetapi tidak terbatas pada, berikut ini.

Mengembalikan kode/nilai Deskripsi
S_OK
Metode berhasil diselesaikan.
E_INVALIDARG
Nilai enumSystemVisibility, pszCategory, atau pszCategoryIdentity tidak valid.
E_OUTOFMEMORY
Metode tidak dapat mengalokasikan memori yang diperlukan untuk melakukan operasi ini.
E_ACCESSDENIED
Pengguna tidak memiliki izin akses yang cukup untuk melakukan tindakan yang diminta.
E_FAIL
Penyedia tidak mendukung penambahan instans fungsi secara langsung menggunakan metode AddInstance .
HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND)
0x80070002
Nilai pszCategory atau pszSubCategory tidak diketahui.
STRSAFE_E_INVALID_PARAMETER
Parameter yang tidak valid ditentukan. Kesalahan ini dikembalikan ketika panjang string pszSubCategory melebihi MAX_PATH.

Keterangan

Metode ini untuk sementara membuat instans fungsi baru untuk kategori dan subkategori yang ditentukan. Penyedia yang mengimplementasikan kategori bertanggung jawab untuk mempertahankan metadata yang terkait dengan instans fungsi yang baru dibuat menggunakan metode IFunctionDiscoveryProviderFactory::CreateInstance .

Instans fungsi tidak ditulis ke registri jika penyimpanan properti terkait tidak memiliki nilai apa pun. Gunakan metode IFunctionInstance::OpenPropertyStore untuk memeriksa nilai penyimpanan properti.

Jika instans fungsi sudah ada untuk kategori dan subkategori yang ditentukan, entri registri yang ada akan ditimpa. Metode AddInstance mengembalikan S_OK. Proses pemberitahuan perubahan Penemuan Fungsi memanggil metode IFunctionDiscoveryNotification::OnUpdate aplikasi panggilan dengan enumQueryUpdateAction diatur ke QUA_CHANGE.

Catatan Metode IFunctionDiscoveryNotification::OnUpdate tidak didukung oleh penyedia saat ini.
 
Apakah instans fungsi baru mampu terlihat di seluruh sistem atau hanya untuk pengguna tergantung pada penyedia. Penyedia registri awalnya mengatur visibilitas instans fungsi defaultnya ke seluruh sistem.

Izin akses untuk mengubah kunci registri HKEY_LOCAL_MACHINE\SYSTEM diperlukan untuk menambahkan atau menghapus instans fungsi menggunakan penyedia registri (akses Administrator atau Pengguna Daya).

Persyaratan

   
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Target Platform Windows
Header functiondiscoveryapi.h
DLL FunDisc.dll

Lihat juga

IFunctionDiscovery