Kelas FtmBase
Mewakili objek marshaler berulir bebas.
Sintaks
class FtmBase :
public Microsoft::WRL::Implements<
Microsoft::WRL::RuntimeClassFlags<WinRtClassicComMix>,
Microsoft::WRL::CloakedIid<IMarshal>
>;
Keterangan
Untuk informasi selengkapnya, lihat Kelas RuntimeClass.
Anggota
Konstruktor Publik
Nama | Deskripsi |
---|---|
FtmBase::FtmBase | Menginisialisasi instans baru kelas FtmBase . |
Metode Publik
Nama | Deskripsi |
---|---|
FtmBase::CreateGlobalInterfaceTable | Membuat tabel antarmuka global (GIT). |
FtmBase::D isconnectObject | Secara paksa merilis semua koneksi eksternal ke objek. Server objek memanggil implementasi objek dari metode ini sebelum mematikan. |
FtmBase::GetMarshalSizeMax | Dapatkan batas atas pada jumlah byte yang diperlukan untuk melakukan marshal penunjuk antarmuka yang ditentukan pada objek yang ditentukan. |
FtmBase::GetUnmarshalClass | Mendapatkan CLSID yang digunakan COM untuk menemukan DLL yang berisi kode untuk proksi yang sesuai. COM memuat DLL ini untuk membuat instans proksi yang tidak diinisialisasi. |
FtmBase::MarshalInterface | Menulis ke dalam aliran data yang diperlukan untuk menginisialisasi objek proksi dalam beberapa proses klien. |
FtmBase::ReleaseMarshalData | Menghancurkan paket data marshal. |
FtmBase::UnmarshalInterface | Menginisialisasi proksi yang baru dibuat dan mengembalikan penunjuk antarmuka ke proksi tersebut. |
Anggota Data Publik
Nama | Deskripsi |
---|---|
FtmBase::marshaller_ | Memegang referensi ke marshaler utas gratis. |
Hierarki Warisan
FtmBase
Persyaratan
Header: ftm.h
Namespace: Microsoft::WRL
FtmBase::CreateGlobalInterfaceTable
Membuat tabel antarmuka global (GIT).
static HRESULT CreateGlobalInterfaceTable(
__out IGlobalInterfaceTable **git
);
Parameter
git
Ketika operasi ini selesai, penunjuk ke tabel antarmuka global.
Tampilkan Nilai
S_OK jika berhasil; jika tidak, HRESULT yang menunjukkan kesalahan.
Keterangan
Untuk informasi selengkapnya, lihat IGlobalInterfaceTable
.
FtmBase::D isconnectObject
Secara paksa merilis semua koneksi eksternal ke objek. Server objek memanggil implementasi objek dari metode ini sebelum mematikan.
STDMETHODIMP DisconnectObject(
__in DWORD dwReserved
) override;
Parameter
dwReserved
Dicadangkan untuk digunakan di masa mendatang; harus nol.
Tampilkan Nilai
S_OK jika berhasil; jika tidak, HRESULT yang menunjukkan kesalahan.
FtmBase::FtmBase
Menginisialisasi instans baru kelas FtmBase
.
FtmBase();
FtmBase::GetMarshalSizeMax
Dapatkan batas atas pada jumlah byte yang diperlukan untuk melakukan marshal penunjuk antarmuka yang ditentukan pada objek yang ditentukan.
STDMETHODIMP GetMarshalSizeMax(
__in REFIID riid,
__in_opt void *pv,
__in DWORD dwDestContext,
__reserved void *pvDestContext,
__in DWORD mshlflags,
__out DWORD *pSize
) override;
Parameter
riid
Referensi ke pengidentifikasi antarmuka yang akan dirusak.
Pv
Penunjuk antarmuka yang akan dinaikkan; bisa NULL.
dwDestContext
Konteks tujuan di mana antarmuka yang ditentukan akan dilepas napasnya.
Tentukan satu atau beberapa nilai enumerasi MSHCTX.
Saat ini, unmarshaling dapat terjadi baik di apartemen lain dari proses saat ini (MSHCTX_INPROC) atau dalam proses lain pada komputer yang sama dengan proses saat ini (MSHCTX_LOCAL).
pvDestContext
Dicadangkan untuk digunakan di masa mendatang; harus NULL.
mshlflags
Bendera yang menunjukkan apakah data yang akan diluncurkan akan ditransmisikan kembali ke proses klien — kasus umum — atau ditulis ke tabel global, di mana data tersebut dapat diambil oleh beberapa klien. Tentukan satu atau beberapa nilai enumerasi MSHLFLAGS.
pSize
Ketika operasi ini selesai, arahkan ke batas atas pada jumlah data yang akan ditulis ke aliran marshaling.
Tampilkan Nilai
S_OK jika berhasil; jika tidak, E_FAIL atau E_NOINTERFACE.
FtmBase::GetUnmarshalClass
Mendapatkan CLSID yang digunakan COM untuk menemukan DLL yang berisi kode untuk proksi yang sesuai. COM memuat DLL ini untuk membuat instans proksi yang tidak diinisialisasi.
STDMETHODIMP GetUnmarshalClass(
__in REFIID riid,
__in_opt void *pv,
__in DWORD dwDestContext,
__reserved void *pvDestContext,
__in DWORD mshlflags,
__out CLSID *pCid
) override;
Parameter
riid
Referensi ke pengidentifikasi antarmuka yang akan dirusak.
Pv
Arahkan ke antarmuka yang akan di-marshal; dapat berupa NULL jika pemanggil tidak memiliki penunjuk ke antarmuka yang diinginkan.
dwDestContext
Konteks tujuan di mana antarmuka yang ditentukan akan dilepas napasnya.
Tentukan satu atau beberapa nilai enumerasi MSHCTX.
Unmarshaling dapat terjadi baik di apartemen lain dari proses saat ini (MSHCTX_INPROC) atau dalam proses lain pada komputer yang sama dengan proses saat ini (MSHCTX_LOCAL).
pvDestContext
Dicadangkan untuk digunakan di masa mendatang; harus NULL.
mshlflags
Ketika operasi ini selesai, arahkan ke CLSID untuk digunakan untuk membuat proksi dalam proses klien.
pCid
Tampilkan Nilai
S_OK jika berhasil; jika tidak, S_FALSE.
FtmBase::MarshalInterface
Menulis ke dalam aliran data yang diperlukan untuk menginisialisasi objek proksi dalam beberapa proses klien.
STDMETHODIMP MarshalInterface(
__in IStream *pStm,
__in REFIID riid,
__in_opt void *pv,
__in DWORD dwDestContext,
__reserved void *pvDestContext,
__in DWORD mshlflags
) override;
Parameter
pStm
Penunjuk ke aliran yang akan digunakan selama marshaling.
riid
Referensi ke pengidentifikasi antarmuka yang akan dirusak. Antarmuka ini harus berasal dari antarmuka IUnknown
.
Pv
Arahkan ke penunjuk antarmuka untuk dinamai; dapat berupa NULL jika pemanggil tidak memiliki penunjuk ke antarmuka yang diinginkan.
dwDestContext
Konteks tujuan di mana antarmuka yang ditentukan akan dilepas napasnya.
Tentukan satu atau beberapa nilai enumerasi MSHCTX.
Unmarshaling dapat terjadi di apartemen lain dari proses saat ini (MSHCTX_INPROC) atau dalam proses lain pada komputer yang sama dengan proses saat ini (MSHCTX_LOCAL).
pvDestContext
Dicadangkan untuk digunakan di masa mendatang; harus nol.
mshlflags
Menentukan apakah data yang akan di-marshalasi akan ditransmisikan kembali ke proses klien — kasus umum — atau ditulis ke tabel global, di mana data dapat diambil oleh beberapa klien.
Tampilkan Nilai
S_OK Penunjuk antarmuka berhasil dinapaskan.
E_NOINTERFACE Antarmuka yang ditentukan tidak didukung.
STG_E_MEDIUMFULL Aliran penuh.
E_FAIL Operasi gagal.
FtmBase::marshaller_
Memegang referensi ke marshaler utas gratis.
Microsoft::WRL::ComPtr<IMarshal> marshaller_; ;
FtmBase::ReleaseMarshalData
Menghancurkan paket data marshal.
STDMETHODIMP ReleaseMarshalData(
__in IStream *pStm
) override;
Parameter
pStm
Penunjuk ke aliran yang berisi paket data yang akan dihancurkan.
Tampilkan Nilai
S_OK jika berhasil; jika tidak, HRESULT yang menunjukkan kesalahan.
FtmBase::UnmarshalInterface
Menginisialisasi proksi yang baru dibuat dan mengembalikan penunjuk antarmuka ke proksi tersebut.
STDMETHODIMP UnmarshalInterface(
__in IStream *pStm,
__in REFIID riid,
__deref_out void **ppv
) override;
Parameter
pStm
Penunjuk ke aliran tempat penunjuk antarmuka tidak akan dirusak.
riid
Referensi ke pengidentifikasi antarmuka yang akan dibatalkan namanya.
ppv
Ketika operasi ini selesai, alamat variabel pointer yang menerima pointer antarmuka yang diminta dalam riid. Jika operasi ini berhasil, *ppv berisi penunjuk antarmuka antarmuka yang diminta untuk tidak dirusak.
Tampilkan Nilai
S_OK jika berhasil; jika tidak, E_NOINTERFACE atau E_FAIL.