Aracılığıyla paylaş


Veri Aktarım Arabirimleri

IDataObject arabirimi, veri tüketicilerine bir nesnenin verilerini alma ve ayarlama, nesnenin hangi biçimleri desteklediğini belirleme ve nesnedeki veriler değiştiğinde bildirim almak ve kaydetmek için yöntemler sağlar. Veri alırken, çağıran verileri işlemek istediği biçimi belirtebilir. Ancak verilerin kaynağı, çağıran tarafından sağlanan bir out parametresinde döndürdüğü depolama medyasını belirler.

IDataObject, uygulamalarınızda Windows pano aktarımlarını veya bileşik belge aktarımlarını uygulamak için ihtiyacınız olan tüm araçları sağlar. Sürükle ve bırak aktarımlarını da desteklemek istiyorsanız, IDropSourceve IDropTargetarabirimlerini IDataObjectile birlikteuygulamanız gerekir.

OLE pano API'leriyle birlikte IDataObject arabirimi, Windows panosu API'lerinin tüm özelliklerini sağlar. Her iki pano API'sini de kullanmak genellikle gerekli değildir. Sürükleyip bırakma aktarımlarını veya OLE bileşik belgelerini destekleyen veri sağlayıcılarının IDataObject arabirimini uygulaması gerekir. Uygulamanız şu anda yalnızca pano aktarımlarını destekliyorsa ancak sonraki sürümlerde sürükleyip bırakmayı veya bileşik belgeleri eklemeyi planlıyorsanız, daha sonra yeniden kodlama ve hata ayıklama için harcanan süreyi en aza indirmek için IDataObject ve OLE pano API'lerini şimdi uygulamak isteyebilirsiniz. Genel bellek dışındaki aktarım medyasını kullanmak için IDataObject de uygulamak isteyebilirsiniz.

Aşağıdaki tabloda, hangi veri aktarımı türlerini desteklemek istediğinize bağlı olarak hangilerinin kullanılacağı özetlenmiştir:

Desteklemek için Kullanmak
Bileşik belgeler
IDataObject
Aktarımları sürükleyip bırakma
IDataObject, IDropSource, IDropTarget, DoDragDrop (veya eşdeğeri)
Yalnızca genel belleği kullanarak pano aktarımları
Pano API'
Genel bellek dışındaki exchange ortamlarını kullanan pano aktarımları.
IDataObject
Pano aktarımları şimdi ancak daha sonra sürükleyip bırakın veya bileşik belgeler
IDataObject ve "Sürükle ve bırak aktarımları" için yukarıda listelenen arabirimler ve işlev

Kullanıcı bir veri aktarımı işlemi başlattığında, kaynak uygulama IDataObject bir örneği oluşturur ve bu sayede verileri bir veya daha fazla biçimde kullanılabilir hale getirir. Pano aktarımında uygulama, ole'ye bir veri nesnesi işaretçisi geçirmek için OleSetClipboard işlevini çağırır. (OleSetClipboard hem OLE sürüm 1 hem de OLE olmayan uygulamalar için standart pano veri biçimleri de sunar.) Sürükle ve bırak aktarımında uygulama bunun yerine DoDragDrop işlevini çağırır.

Aktarımın alıcı tarafında hedef, IDataObject işaretçisini, IDropTarget::D rop çağrısının bağımsız değişkeni olarak veya aktarımın sürükleyip bırakma veya pano aracılığıyla olmasına bağlı olarak OleSetClipboard işlevini çağırarak alır. Bu işaretçiyi aldıktan sonra hedef, alma için hangi biçimlerin kullanılabilir olduğunu ve hangi medya türlerinde elde edilebileceğini öğrenmek için IDataObject::EnumFormatEtcçağırır. Bu bilgilerle birlikte, alıcı uygulama IDataObject::GetDataçağrısıyla verileri istemektedir.

Veri Aktarımı