Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Membuat objek kamera virtual yang dapat digunakan oleh pemanggil untuk mendaftar, membatalkan pendaftaran, atau melepas kamera virtual dari sistem.
Sintaks
HRESULT MFCreateVirtualCamera(
MFVirtualCameraType type,
MFVirtualCameraLifetime lifetime,
MFVirtualCameraAccess access,
LPCWSTR friendlyName,
LPCWSTR sourceId,
const GUID *categories,
ULONG categoryCount,
IMFVirtualCamera **virtualCamera
);
Parameter
type
Anggota enumerasi MFVirtualCameraType yang menentukan jenis kamera virtual. Dalam rilis saat ini, hanya MFVirtualCameraType_SoftwareCameraSource yang didukung.
lifetime
Anggota enumerasi MFVirtualCameraLifetime yang menentukan masa pakai kamera. Jika MFVirtualCameraLifetime_Session ditentukan, ketika objek IMFVirtualCamera yang dikembalikan dibuang atau IMFVirtualCamera::Shutdown dipanggil, kamera virtual tidak akan lagi dapat dijumlahkan atau diaktifkan pada perangkat. Jika Anda ingin kamera virtual bertahan di seluruh sesi dan/atau di seluruh reboot, Anda harus menentukan nilai MFVirtualCameraLifetime_System.
access
Anggota enumerasi MFVirtualCameraAccess yang menentukan cakupan akses kamera virtual yang dibuat. Jika MFVirtualCameraAccess_CurrentUser ditentukan, kamera virtual hanya dibuat untuk akun pengguna yang disebut MFCreateVirtualCamera. Jika MFVirtualCameraAccess_AllUsers ditentukan, semua pengguna di perangkat akan dapat menghitung atau mengaktifkan kamera virtual. Untuk membuat kamera virtual dengan MFVirtualCameraAccess_AllUsers, pemanggil MFCreateVirtualCamera harus memiliki izin administrator.
friendlyName
Nama ramah untai Unicode yang dapat dibaca pengguna dengan null untuk kamera virtual yang dibuat. Alur akan secara otomatis menambahkan "Windows Virtual Camera" ke nama ramah yang disediakan untuk memastikan pengguna akhir dapat membedakan kamera virtual dari kamera fisik berdasarkan nama yang mudah diingat. Parameter ini tidak boleh nullptr.
sourceId
CLSID unik dari sumber media kustom yang akan diaktifkan untuk kamera virtual ini. String harus dalam format "{CLSID}". Parameter ini tidak boleh nullptr.
categories
Daftar opsional kategori antarmuka perangkat tempat kamera virtual terdaftar. Jika pengguna non-administrator memanggil MFCreateVirtualCamera, kategori harus merupakan subset dari nilai berikut:
Jika nullptr ditentukan, kamera virtual terdaftar di bawah kategori KSCATEGORY_VIDEO_CAMERA, KSCATEGORY_VIDEO, dan KSCATEGORY_CAPTURE.
categoryCount
Jumlah kategori yang disediakan dalam parameter kategori . Jika kategori adalah nullptr, categoryCount harus 0.
virtualCamera
Parameter output yang menerima IMFVirtualCamera yang baru dibuat. Parameter ini tidak boleh nullptr.
Menampilkan nilai
Mengembalikan nilai HRESULT, termasuk tetapi tidak terbatas pada nilai berikut:
| Kode kesalahan | Deskripsi |
|---|---|
| S_OK | Berhasil |
| E_INVALIDARG | Parameter input tidak valid. |
| E_POINTER | Parameter virtualCamera adalah nullptr. |
| E_ACCESSDENIED | Kontrol privasi diatur untuk menolak akses ke kamera untuk aplikasi, pengguna, atau sistem. Atau penelepon bukan administrator dan parameter yang disediakan hanya valid untuk akses administrator. |
Keterangan
Kamera virtual yang dibuat oleh MFCreateVirtualCamera dikunci dari parameter yang diteruskan ke API ini. Dengan menjaga parameter yang sama, aplikasi dapat membuka kembali kamera virtual yang sama. Ketika dipanggil untuk pertama kalinya, IMFVirtualCamera yang dihasilkan berisi sekumpulan informasi konfigurasi yang dapat dimodifikasi atau diperbarui oleh pemanggil untuk membuat instans baru kamera virtual. Jika parameter yang sama digunakan untuk fungsi ini pada panggilan berikutnya, metode IMFVirtualCamera yang dihasilkan akan membuka kamera virtual yang ada ketika metode IMFVirtualCamera::Start atau IMFVirtualCamera::Stop dipanggil. Memanggil IMFVirtualCamera::Remove akan menghapus kamera virtual yang ada. Jika MFVirtualCameraAccess_CurrentUser ditentukan untuk parameter akses , setiap akun pengguna mendapatkan kamera virtual yang unik.
UWP dan Aplikasi Paket harus mendeklarasikan kemampuan perangkat webcam dalam manifesnya untuk menggunakan API ini. API ini juga tunduk pada kontrol privasi webcam sehingga ketika privasi diatur untuk menolak akses, API ini akan mengakibatkan kegagalan E_ACCESSDENIED.
Catatan
UWP dan Aplikasi Paket tidak boleh memanggil MFCreateVirtualCamera pada utas UI mereka. Melakukannya akan berpotensi memicu kebuntuan karena Pemeriksaan Manajer Akses Kemampuan untuk dialog persetujuan akses webcam akan diblokir.
Persyaratan
| Klien minimum yang didukung | Windows Build 22000 |
| Header | mfvirtualcamera.h |
| Pustaka | mfsensorgroup.lib |
| DLL | mfsensorgroup.dll |
Lihat juga
IMFVirtualCameraMFVirtualCameraTypeMFVirtualCameraLifetimeMFVirtualCameraAccess