Fungsi CoCreateInstanceFromApp (combaseapi.h)
Membuat instans kelas tertentu di komputer tertentu dari dalam kontainer aplikasi.
Sintaks
HRESULT CoCreateInstanceFromApp(
[in] REFCLSID Clsid,
[in, optional] IUnknown *punkOuter,
[in] DWORD dwClsCtx,
[in, optional] PVOID reserved,
[in] DWORD dwCount,
[in, out] MULTI_QI *pResults
);
Parameter
[in] Clsid
CLSID objek yang akan dibuat.
[in, optional] punkOuter
Jika parameter ini non-NULL, menunjukkan instans sedang dibuat sebagai bagian dari agregat, dan punkOuter akan digunakan sebagai IUnknown pengendali instans baru. Agregasi saat ini tidak didukung lintas proses atau lintas komputer. Saat membuat instans objek di luar proses, CLASS_E_NOAGGREGATION akan dikembalikan jika punkOuter bukan NULL.
[in] dwClsCtx
Nilai dari enumerasi CLSCTX .
[in, optional] reserved
Disiapkan untuk penggunaan masa mendatang.
[in] dwCount
Jumlah struktur dalam pResults. Nilai ini harus lebih besar dari 0.
[in, out] pResults
Array struktur MULTI_QI . Setiap struktur memiliki tiga anggota: pengidentifikasi untuk antarmuka yang diminta (pIID), lokasi untuk mengembalikan penunjuk antarmuka (pItf) dan nilai pengembalian panggilan ke QueryInterface (jam).
Nilai kembali
Fungsi ini dapat mengembalikan nilai pengembalian standar E_INVALIDARG, serta nilai berikut.
Menampilkan kode | Deskripsi |
---|---|
|
Menunjukkan keberhasilan. |
|
Kelas tertentu tidak terdaftar dalam database pendaftaran, atau kelas tidak didukung dalam kontainer aplikasi. Juga dapat menunjukkan bahwa jenis server yang Anda minta dalam enumerasi CLSCTX tidak terdaftar atau nilai untuk jenis server di registri rusak. |
|
Kelas ini tidak dapat dibuat sebagai bagian dari agregat. |
|
Setidaknya satu, tetapi tidak semua antarmuka yang diminta dalam array pResults berhasil diambil. Anggota jam dari masing-masing struktur MULTI_QI dalam pResults menunjukkan dengan S_OK atau E_NOINTERFACE apakah antarmuka tertentu dikembalikan. |
|
Tidak ada antarmuka yang diminta dalam array pResults yang berhasil diambil. |
Keterangan
Fungsi CoCreateInstanceFromApp sama dengan fungsi CoCreateInstanceEx , dengan perbedaan berikut.
- Fungsi CoCreateInstanceFromApp membaca pendaftaran kelas hanya dari konteks aplikasi, dan dari hive registri HKLM\SOFTWARE\Classes\CLSID.
- Hanya kelas bawaan yang didukung dalam kontainer aplikasi yang disediakan. Upaya untuk mengaktifkan kelas yang tidak didukung, termasuk semua kelas yang diinstal oleh kode pihak ketiga serta banyak kelas Windows, menghasilkan kode kesalahan REGDB_E_CLASSNOTREG.
- Fungsi CoCreateInstanceFromApp tersedia untuk aplikasi Windows Store. Aplikasi desktop dapat memanggil fungsi ini, tetapi memiliki batasan yang sama dengan aplikasi Bursa Windows.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 8 [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2012 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | combaseapi.h |
Pustaka | Combase.lib |
DLL | Combase.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