Bagikan melalui


Format Data dan Transfer Media

Sebagian besar platform, termasuk Windows, menentukan protokol standar untuk mentransfer data antar aplikasi, berdasarkan serangkaian fungsi yang disebut clipboard. Aplikasi yang menggunakan fungsi ini dapat berbagi data meskipun format data aslinya sangat berbeda. Umumnya, clipboard ini memiliki dua kekurangan signifikan yang telah diatasi COM.

Pertama, deskripsi data hanya menggunakan pengidentifikasi format, seperti pengidentifikasi format clipboard 16-bit tunggal di Windows, yang berarti clipboard hanya dapat menggambarkan struktur datanya, yaitu pengurutan bit. Ini dapat melaporkan, "Saya memiliki bitmap" "atau saya memiliki beberapa teks," tetapi tidak dapat menentukan perangkat target tempat data terdiri, yang melihat atau aspek dari dirinya sendiri yang dapat disediakan data, atau media penyimpanan mana yang paling cocok untuk transfernya. Misalnya, tidak dapat melaporkan, "Saya memiliki string teks yang disimpan dalam memori global dan diformat untuk presentasi baik di layar atau pada printer" atau "Saya memiliki bitmap sketsa gambar mini yang dirender untuk printer matriks titik 100 dpi dan disimpan sebagai file disk."

Kedua, semua transfer data menggunakan clipboard umumnya terjadi melalui memori global. Menggunakan memori global cukup efisien untuk sejumlah kecil data tetapi sangat tidak efisien untuk jumlah besar, seperti objek multimedia 20 MB. Memori global lambat untuk objek data besar, yang ukurannya membutuhkan pertukaran yang cukup besar ke memori virtual pada disk. Dalam kasus di mana data yang ditukar akan sebagian besar berada di disk, memaksanya melalui hambatan memori virtual ini sangat tidak efisien. Cara yang lebih baik akan melewati memori global sepenuhnya dan hanya mentransfer data langsung ke disk.

Untuk meringankan masalah ini, COM menyediakan dua struktur data: FORMATETC dan STGMEDIUM. Untuk mengetahui informasi selengkapnya, lihat topik berikut:

Data Transfer