FtmBase Sınıfı
Serbest iş parçacıklı bir sıralayıcı nesnesini temsil eder.
Sözdizimi
class FtmBase :
public Microsoft::WRL::Implements<
Microsoft::WRL::RuntimeClassFlags<WinRtClassicComMix>,
Microsoft::WRL::CloakedIid<IMarshal>
>;
Açıklamalar
Daha fazla bilgi için bkz . RuntimeClass Sınıfı.
Üyeler
Ortak Oluşturucular
Veri Akışı Adı | Açıklama |
---|---|
FtmBase::FtmBase | FtmBase sınıfının yeni bir örneğini başlatır. |
Genel Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
FtmBase::CreateGlobalInterfaceTable | Genel arabirim tablosu (GIT) oluşturur. |
FtmBase::D isconnectObject | Bir nesneye yönelik tüm dış bağlantıları zorla serbest bırakır. Nesnenin sunucusu, kapatılmadan önce nesnenin bu yöntemi uygulamasını çağırır. |
FtmBase::GetMarshalSizeMax | Belirtilen nesnede belirtilen arabirim işaretçisini sıralamak için gereken bayt sayısına ilişkin üst sınırı alın. |
FtmBase::GetUnmarshalClass | COM'un karşılık gelen proxy'nin kodunu içeren DLL'yi bulmak için kullandığı CLSID'yi alır. COM, proxy'nin başlatılmamış bir örneğini oluşturmak için bu DLL'yi yükler. |
FtmBase::MarshalInterface | Bir akışa, bazı istemci işlemlerinde bir proxy nesnesi başlatmak için gereken verileri yazar. |
FtmBase::ReleaseMarshalData | Sıralanmış veri paketini yok eder. |
FtmBase::UnmarshalInterface | Yeni oluşturulan bir ara sunucuyu başlatır ve bu ara sunucuya bir arabirim işaretçisi döndürür. |
Ortak Veri Üyeleri
Veri Akışı Adı | Açıklama |
---|---|
FtmBase::marshaller_ | Serbest iş parçacıklı sıralayıcısına bir başvuru tutar. |
Devralma Hiyerarşisi
FtmBase
Gereksinimler
Üst bilgi: ftm.h
Ad Alanı: Microsoft::WRL
FtmBase::CreateGlobalInterfaceTable
Genel arabirim tablosu (GIT) oluşturur.
static HRESULT CreateGlobalInterfaceTable(
__out IGlobalInterfaceTable **git
);
Parametreler
git
Bu işlem tamamlandığında, genel arabirim tablosuna yönelik bir işaretçi.
Dönüş Değeri
Başarılı olursa S_OK; aksi takdirde, hatayı gösteren bir HRESULT.
Açıklamalar
Daha fazla bilgi için bkz. IGlobalInterfaceTable
.
FtmBase::D isconnectObject
Bir nesneye yönelik tüm dış bağlantıları zorla serbest bırakır. Nesnenin sunucusu, kapatılmadan önce nesnenin bu yöntemi uygulamasını çağırır.
STDMETHODIMP DisconnectObject(
__in DWORD dwReserved
) override;
Parametreler
dwReserved
Gelecekte kullanım için ayrılmıştır; sıfır olmalıdır.
Dönüş Değeri
Başarılı olursa S_OK; aksi takdirde, hatayı gösteren bir HRESULT.
FtmBase::FtmBase
FtmBase
sınıfının yeni bir örneğini başlatır.
FtmBase();
FtmBase::GetMarshalSizeMax
Belirtilen nesnede belirtilen arabirim işaretçisini sıralamak için gereken bayt sayısına ilişkin üst sınırı alın.
STDMETHODIMP GetMarshalSizeMax(
__in REFIID riid,
__in_opt void *pv,
__in DWORD dwDestContext,
__reserved void *pvDestContext,
__in DWORD mshlflags,
__out DWORD *pSize
) override;
Parametreler
riid
Sıralanacak arabirimin tanımlayıcısına başvuru.
Pv
Sıralanacak arabirim işaretçisi; NULL olabilir.
dwDestContext
Belirtilen arabirimin özetlenemeyen hedef bağlamı.
Bir veya daha fazla MSHCTX numaralandırma değeri belirtin.
Şu anda, özetleme işlemi geçerli işlemin başka bir dairesinde (MSHCTX_INPROC) veya geçerli işlemle (MSHCTX_LOCAL) aynı bilgisayardaki başka bir işlemde gerçekleşebilir.
pvDestContext
Gelecekte kullanım için ayrılmıştır; NULL olmalıdır.
mshlflags
Sıralanacak verilerin istemci işlemine (tipik durum) geri iletilip aktarılmayacağını veya birden çok istemci tarafından alınabileceği genel bir tabloya yazıldığını gösteren bayrak. Bir veya daha fazla MSHLFLAGS numaralandırma değeri belirtin.
pSize
Bu işlem tamamlandığında, hazırlama akışına yazılacak veri miktarı üzerinde üst sınıra yönelik işaretçi.
Dönüş Değeri
Başarılı olursa S_OK; aksi takdirde, E_FAIL veya E_NOINTERFACE.
FtmBase::GetUnmarshalClass
COM'un karşılık gelen proxy'nin kodunu içeren DLL'yi bulmak için kullandığı CLSID'yi alır. COM, proxy'nin başlatılmamış bir örneğini oluşturmak için bu DLL'yi yükler.
STDMETHODIMP GetUnmarshalClass(
__in REFIID riid,
__in_opt void *pv,
__in DWORD dwDestContext,
__reserved void *pvDestContext,
__in DWORD mshlflags,
__out CLSID *pCid
) override;
Parametreler
riid
Sıralanacak arabirimin tanımlayıcısına başvuru.
Pv
Sıralanacak arabirim işaretçisi; çağıranın istenen arabirime bir işaretçisi yoksa NULL olabilir.
dwDestContext
Belirtilen arabirimin özetlenemeyen hedef bağlamı.
Bir veya daha fazla MSHCTX numaralandırma değeri belirtin.
Özetleme, geçerli işlemin (MSHCTX_INPROC) başka bir dairesinde veya geçerli işlemle (MSHCTX_LOCAL) aynı bilgisayardaki başka bir işlemde oluşabilir.
pvDestContext
Gelecekte kullanım için ayrılmıştır; NULL olmalıdır.
mshlflags
Bu işlem tamamlandığında, istemci işleminde ara sunucu oluşturmak için kullanılacak CLSID işaretçisi.
pCid
Dönüş Değeri
Başarılı olursa S_OK; aksi takdirde S_FALSE.
FtmBase::MarshalInterface
Bir akışa, bazı istemci işlemlerinde bir proxy nesnesi başlatmak için gereken verileri yazar.
STDMETHODIMP MarshalInterface(
__in IStream *pStm,
__in REFIID riid,
__in_opt void *pv,
__in DWORD dwDestContext,
__reserved void *pvDestContext,
__in DWORD mshlflags
) override;
Parametreler
pStm
Hazırlama sırasında kullanılacak akışın işaretçisi.
riid
Sıralanacak arabirimin tanımlayıcısına başvuru. Bu arabirim arabirimden IUnknown
türetilmelidir.
Pv
Sıralanacak arabirim işaretçisinin işaretçisi; çağıranın istenen arabirime bir işaretçisi yoksa NULL olabilir.
dwDestContext
Belirtilen arabirimin özetlenemeyen hedef bağlamı.
Bir veya daha fazla MSHCTX numaralandırma değeri belirtin.
Özetleme, geçerli işlemin başka bir dairesinde (MSHCTX_INPROC) veya geçerli işlemle aynı bilgisayarda (MSHCTX_LOCAL) başka bir işlemde oluşabilir.
pvDestContext
Gelecekte kullanım için ayrılmıştır; sıfır olmalıdır.
mshlflags
Sıralanacak verilerin istemci işlemine (tipik durum) geri mi aktarılacağı yoksa birden çok istemci tarafından alınabileceği genel bir tabloya mı yazılacağı belirtir.
Dönüş Değeri
S_OK Arabirim işaretçisi başarıyla sıralandı.
E_NOINTERFACE Belirtilen arabirim desteklenmiyor.
STG_E_MEDIUMFULL Akış dolu.
E_FAIL İşlem başarısız oldu.
FtmBase::marshaller_
Serbest iş parçacıklı sıralayıcısına bir başvuru tutar.
Microsoft::WRL::ComPtr<IMarshal> marshaller_; ;
FtmBase::ReleaseMarshalData
Sıralanmış veri paketini yok eder.
STDMETHODIMP ReleaseMarshalData(
__in IStream *pStm
) override;
Parametreler
pStm
Yok edilecek veri paketini içeren bir akışın işaretçisi.
Dönüş Değeri
Başarılı olursa S_OK; aksi takdirde, hatayı gösteren bir HRESULT.
FtmBase::UnmarshalInterface
Yeni oluşturulan bir ara sunucuyu başlatır ve bu ara sunucuya bir arabirim işaretçisi döndürür.
STDMETHODIMP UnmarshalInterface(
__in IStream *pStm,
__in REFIID riid,
__deref_out void **ppv
) override;
Parametreler
pStm
Arabirim işaretçisinin özetlendirileceği akışın işaretçisi.
riid
Özetlenemeyen arabirimin tanımlayıcısına başvuru.
ppv
Bu işlem tamamlandığında, riid içinde istenen arabirim işaretçisini alan bir işaretçi değişkeninin adresi. Bu işlem başarılı olursa, *ppv özetlenemeyen arabirimin istenen arabirim işaretçisini içerir.
Dönüş Değeri
Başarılı olursa S_OK; aksi takdirde, E_NOINTERFACE veya E_FAIL.