Metode IClassFactory2::CreateInstanceLic (ocidl.h)
Membuat instans objek berlisensi untuk kunci lisensi yang ditentukan. Metode ini adalah satu-satunya cara yang mungkin untuk membuat objek pada mesin yang tidak berlisensi.
Sintaks
HRESULT CreateInstanceLic(
[in] IUnknown *pUnkOuter,
[in] IUnknown *pUnkReserved,
[in] REFIID riid,
[in] BSTR bstrKey,
[out] PVOID *ppvObj
);
Parameter
[in] pUnkOuter
Penunjuk ke antarmuka IUnknown yang mengontrol di luar tidak diketahui jika objek ini sedang dibuat sebagai bagian dari agregat. Jika objek bukan bagian dari agregat, parameter ini harus NULL.
[in] pUnkReserved
Parameter ini tidak digunakan dan harus NULL.
[in] riid
Referensi ke pengidentifikasi antarmuka yang akan digunakan untuk berkomunikasi dengan objek yang baru dibuat.
[in] bstrKey
Kunci lisensi run-time yang sebelumnya diperoleh dari IClassFactory2::RequestLicKey yang diperlukan untuk membuat objek.
[out] ppvObj
Alamat variabel pointer yang menerima pointer antarmuka yang diminta dalam riid. Setelah berhasil kembali, *ppvObj berisi penunjuk antarmuka yang diminta. Jika terjadi kesalahan, implementasi harus mengatur *ppvObj ke NULL.
Nilai kembali
Metode ini dapat mengembalikan nilai pengembalian standar E_INVALIDARG, E_OUTOFMEMORY, dan E_UNEXPECTED, serta nilai berikut.
Menampilkan kode | Deskripsi |
---|---|
|
Lisensi berhasil dibuat. |
|
Metode ini tidak diimplementasikan karena objek hanya dapat dibuat pada komputer berlisensi penuh melalui IClassFactory::CreateInstance. |
|
Pointer yang diteruskan dalam bstrKey atau ppvObj tidak valid. Misalnya, mungkin NULL. |
|
Objek dapat dibuat (dan kunci lisensi valid) kecuali objek tidak mendukung antarmuka yang ditentukan oleh riid. |
|
Parameter pUnkOuter bukan NULL, tetapi kelas objek ini tidak mendukung agregasi. |
|
Kunci yang disediakan dalam bstrKey bukan kunci lisensi yang valid. |
Keterangan
Catatan untuk Pelaksana
Jika pabrik kelas tidak menyediakan kunci lisensi (yaitu, IClassFactory2::RequestLicKey mengembalikan E_NOTIMPL dan anggota fRuntimeKeyAvail di LICINFO diatur ke FALSE di IClassFactory2::GetLicInfo), maka metode ini juga dapat mengembalikan E_NOTIMPL. Dalam kasus seperti itu, pabrik kelas menerapkan IClassFactory2 hanya untuk menentukan apakah mesin dilisensikan sama sekali melalui anggota LICINFOfLicVerified.Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | ocidl.h |
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