Metode IWMDMStorageControl2::Insert2 (mswmdm.h)
Metode Insert2 menempatkan konten ke dalam/di samping penyimpanan. Metode ini memperluas IWMDMStorageControl::Insert dengan memungkinkan aplikasi menentukan nama tujuan baru, dan menyediakan pointer ke objek COM kustom.
Sintaks
HRESULT Insert2(
[in] UINT fuMode,
[in] LPWSTR pwszFileSource,
[in] LPWSTR pwszFileDest,
[in] IWMDMOperation *pOperation,
[in] IWMDMProgress *pProgress,
[in] IUnknown *pUnknown,
[out] IWMDMStorage **ppNewObject
);
Parameter
[in] fuMode
Mode pemrosesan yang digunakan untuk operasi Insert2 . Tabel berikut mencantumkan mode pemrosesan yang dapat ditentukan dalam parameter fuMode . Anda harus menentukan salah satu dari dua mode pertama, tepat salah satu mode STORAGECONTROL, dan tepat salah satu mode CONTENT. Jika WMDM_MODE_BLOCK dan WMDM_MODE_THREAD ditentukan, mode blokir akan digunakan.
Kombinasi | Mode | Deskripsi |
---|---|---|
Tepat salah satu dari: | WMDM_MODE_BLOCK | Operasi dilakukan menggunakan pemrosesan mode blok. Panggilan tidak akan kembali sampai operasi selesai. |
- | WMDM_MODE_THREAD | Operasi dilakukan menggunakan pemrosesan mode utas. Panggilan akan segera kembali, dan operasi dilakukan di utas latar belakang. |
Opsional | WMDM_MODE_QUERY | Pengujian dilakukan untuk menentukan apakah operasi penyisipan dapat berhasil, tetapi sisipan tidak akan dilakukan. |
Tepat salah satu dari: | WMDM_STORAGECONTROL_INSERTBEFORE | Objek disisipkan sebelum objek target. |
- | WMDM_STORAGECONTROL_INSERTAFTER | Objek disisipkan setelah objek target. |
- | WMDM_STORAGECONTROL_INSERTINTO | Objek disisipkan ke dalam objek saat ini. Ini hanya akan berfungsi jika objek saat ini adalah folder. |
Opsional | WMDM_FILE_CREATE_OVERWRITE | Objek akan menggantikan objek target. |
Tepat salah satu dari: | WMDM_CONTENT_FILE | Isi yang sedang disisipkan adalah file. |
- | WMDM_CONTENT_FOLDER | Isi yang sedang disisipkan adalah folder. Ini tidak akan mentransfer isi folder. |
Opsional | WMDM_CONTENT_OPERATIONINTERFACE | Konten yang disisipkan adalah antarmuka operasi. Data untuk konten harus ditulis ke antarmuka IWMDMOperation yang diterapkan aplikasi. |
Opsional | WMDM_MODE_PROGRESS | Pemberitahuan kemajuan harus dikirim melalui parameter pProgress . |
Opsional salah satu dari: | WMDM_MODE_TRANSFER_PROTECTED | Penyisipan dalam mode transfer terproteksi. |
- | WMDM_MODE_TRANSFER_UNPROTECTED | Penyisipan dalam mode transfer yang tidak terlindungi. |
[in] pwszFileSource
Penunjuk ke string karakter lebar dan dihentikan null yang menunjukkan nama lengkap dan jalur objek untuk dikirim ke perangkat. Parameter ini harus NULL jika WMDM_CONTENT_OPERATIONINTERFACE ditentukan dalam fuMode.
[in] pwszFileDest
Nama opsional file pada perangkat. Jika tidak ditentukan dan aplikasi meneruskan penunjuk IWMDMOperation ke pOperation, Windows Media Device Manager akan meminta nama tujuan dengan memanggil IWMDMOperation::GetObjectName. Jika tidak ditentukan dan aplikasi tidak menggunakan pOperation, nama file dan ekstensi asli digunakan (tanpa jalur).
[in] pOperation
Penunjuk opsional ke antarmuka IWMDMOperation , untuk mengontrol transfer konten ke perangkat media. Jika ditentukan, fuMode harus menyertakan bendera WMDM_CONTENT_OPERATIONINTERFACE. Parameter ini harus NULL jika WMDM_CONTENT_FILE atau WMDM_CONTENT_FOLDER ditentukan dalam fuMode.
[in] pProgress
Penunjuk opsional ke antarmuka IWMDMProgress untuk melaporkan kemajuan tindakan kembali ke aplikasi. Jika ditentukan, fuMode harus menyertakan WMDM_MODE_PROGRESS.
[in] pUnknown
Penunjuk IUnknown opsional dari objek COM kustom apa pun yang akan diteruskan ke penyedia konten aman. Hal ini memungkinkan untuk meneruskan informasi kustom ke penyedia konten yang aman jika aplikasi memiliki informasi yang memadai tentang penyedia konten yang aman.
[out] ppNewObject
Penunjuk ke antarmuka IWMDMStorage yang akan berisi konten baru. Pemanggil harus merilis antarmuka ini setelah selesai.
Mengembalikan nilai
Metode mengembalikan HRESULT. Semua metode antarmuka di Windows Media Device Manager dapat mengembalikan salah satu kelas kode kesalahan berikut:
- Kode kesalahan COM standar
- Kode kesalahan Windows dikonversi ke nilai HRESULT
- Kode kesalahan Pengelola Perangkat Windows Media
Keterangan
Jika perangkat mendukung IWMDMStorageControl3::Insert3, itu adalah metode yang lebih disukai untuk digunakan.
Jika bendera WMDM_MODE_THREAD ditentukan, Anda harus mendapatkan status penyelesaian dengan memanggil IWMDMProgress2::End2 atau IWMDMProgress3::End3. Metode ini akan memastikan bahwa operasi selesai dan juga akan mengembalikan HRESULT dengan informasi keberhasilan atau kegagalan.
Jika aplikasi menggunakan WMDM_MODE_THREAD dan melewati parameter pProgressnon-null, aplikasi harus memastikan bahwa objek tempat pProgress berada tidak dihancurkan sampai operasi penyisipan selesai, karena Windows Media Device Manager akan mengirim pemberitahuan kemajuan ke objek ini. Objek ini dapat dihancurkan hanya setelah menerima pemberitahuan Akhir. Kegagalan untuk melakukan ini akan mengakibatkan pelanggaran akses.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Windows |
Header | mswmdm.h |
Pustaka | Mssachlp.lib |