Bagikan melalui


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
Untuk daftar ekstensif kemungkinan kode kesalahan, lihat Kode Kesalahan.

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

Lihat juga

IWMDMDevice::GetStatus

Antarmuka IWMDMOperation

Antarmuka IWMDMProgress

Antarmuka IWMDMStorage

Antarmuka IWMDMStorageControl2

IWMDMStorageControl3::Insert3