Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Kelas ini membungkus jenisnya VARIANT , menyediakan anggota yang menunjukkan jenis data yang disimpan.
Sintaks
class CComVariant : public tagVARIANT
Anggota
Konstruktor Publik
| Nama | Deskripsi |
|---|---|
CComVariant::CComVariant |
Konstruktor. |
CComVariant::~CComVariant |
Destruktor. |
Metode Publik
| Nama | Deskripsi |
|---|---|
CComVariant::Attach |
Melampirkan VARIANT ke CComVariant objek. |
CComVariant::ChangeType |
CComVariant Mengonversi objek ke tipe baru. |
CComVariant::Clear |
CComVariant Menghapus objek. |
CComVariant::Copy |
VARIANT Menyalin ke CComVariant objek. |
CComVariant::CopyTo |
Menyalin isi CComVariant objek. |
CComVariant::Detach |
Mencopot yang mendasar VARIANT dari CComVariant objek. |
CComVariant::GetSize |
Mengembalikan ukuran dalam jumlah byte konten CComVariant objek. |
CComVariant::ReadFromStream |
VARIANT Memuat dari aliran. |
CComVariant::SetByRef |
Menginisialisasi CComVariant objek dan mengatur vt anggota ke VT_BYREF. |
CComVariant::WriteToStream |
Menyimpan yang mendasar VARIANT ke aliran. |
Operator publik
| Operator | Deskripsi |
|---|---|
CComVariant::operator < |
Menunjukkan apakah CComVariant objek kurang dari yang ditentukan VARIANT. |
CComVariant::operator > |
Menunjukkan apakah CComVariant objek lebih besar dari yang ditentukan VARIANT. |
CComVariant::operator != |
Menunjukkan apakah CComVariant objek tidak sama dengan yang ditentukan VARIANT. |
CComVariant::operator = |
Menetapkan nilai ke CComVariant objek. |
CComVariant::operator == |
Menunjukkan apakah CComVariant objek sama dengan yang ditentukan VARIANT. |
Keterangan
CComVariant membungkus VARIANT jenis dan VARIANTARG , yang terdiri dari serikat dan anggota yang menunjukkan jenis data yang disimpan dalam serikat. VARIANTs biasanya digunakan dalam Automation.
CComVariant berasal dari VARIANT jenis sehingga dapat digunakan di mana pun VARIANT dapat digunakan. Anda dapat, misalnya, menggunakan V_VT makro untuk mengekstrak jenis CComVariant atau Anda dapat mengakses vt anggota secara langsung seperti yang VARIANTAnda bisa dengan .
Hierarki Warisan
Persyaratan
Header: atlcomcli.h
CComVariant::Attach
Menghapus konten CComVariant objek saat ini dengan aman, menyalin isi pSrc ke dalam objek ini, lalu mengatur jenis pSrc varian ke VT_EMPTY.
HRESULT Attach(VARIANT* pSrc);
Parameter
pSrc
[di] Menunjuk ke VARIANT yang akan dilampirkan ke objek.
Nilai hasil
Nilai standar HRESULT .
Keterangan
Kepemilikan data yang disimpan oleh pSrc ditransfer ke CComVariant objek .
CComVariant::CComVariant
Setiap konstruktor menangani inisialisasi CComVariant objek yang aman dengan memanggil VariantInit fungsi Win32 atau dengan mengatur nilai dan jenis objek sesuai dengan parameter yang dilewatkan.
CComVariant() throw();
CComVariant(const CComVariant& varSrc);
CComVariant(const VARIANT& varSrc);
CComVariant(LPCOLESTR lpszSrc);
CComVariant(LPCSTR lpszSrc);
CComVariant(bool bSrc);
CComVariant(BYTE nSrc) throw();
CComVariant(int nSrc, VARTYPE vtSrc = VT_I4) throw();
CComVariant(unsigned int nSrc, VARTYPE vtSrc = VT_UI4) throw();
CComVariant(shor nSrc) throw();
CComVariant(unsigned short nSrc) throw();
CComVariant(long nSrc, VARTYPE vtSrc = VT_I4) throw();
CComVariant(unsigned long nSrc) throw();
CComVariant(LONGLONG nSrc) throw();
CComVariant(ULONGLONG nSrc) throw();
CComVariant(float fltSrc) throw();
CComVariant(double dblSrc, VARTYPE vtSrc = VT_R8) throw();
CComVariant(CY cySrc) throw();
CComVariant(IDispatch* pSrc) throw();
CComVariant(IUnknown* pSrc) throw();
CComVariant(const SAFEARRAY* pSrc);
CComVariant(char cSrc) throw();
CComVariant(const CComBSTR& bstrSrc);
Parameter
varSrc
[di] CComVariant atau VARIANT digunakan untuk menginisialisasi CComVariant objek. Konten varian sumber disalin ke tujuan tanpa konversi.
lpszSrc
[di] String karakter yang digunakan untuk menginisialisasi CComVariant objek. Anda dapat meneruskan string karakter lebar nol yang dihentikan (Unicode) ke LPCOLESTR versi konstruktor atau string ANSI ke LPCSTR versi . Dalam kedua kasus, string dikonversi ke Unicode BSTR yang dialokasikan menggunakan SysAllocString. Jenis CComVariant objek adalah VT_BSTR.
bSrc
[di] yang bool digunakan untuk menginisialisasi CComVariant objek. Argumen bool dikonversi ke VARIANT_BOOL sebelum disimpan. Jenis CComVariant objek adalah VT_BOOL.
nSrc
[di] int, , BYTE, shortlong, LONGLONG, ULONGLONG, unsigned short, unsigned long, atau unsigned int digunakan untuk menginisialisasi CComVariant objek. Jenis CComVariant objek adalah VT_I4, , VT_UI1, VT_I2, VT_I4VT_I8, VT_UI8, VT_UI2, VT_UI4, , atau VT_UI4, masing-masing.
vtSrc
[di] Jenis varian. Ketika parameter pertama adalah int, jenis yang valid adalah VT_I4 dan VT_INT. Ketika parameter pertama adalah long, jenis yang valid adalah VT_I4 dan VT_ERROR. Ketika parameter pertama adalah double, jenis yang valid adalah VT_R8 dan VT_DATE. Ketika parameter pertama adalah unsigned int, jenis yang valid adalah VT_UI4 dan VT_UINT.
fltSrc
[di] yang float digunakan untuk menginisialisasi CComVariant objek. Jenis CComVariant objek adalah VT_R4.
dblSrc
[di] yang double digunakan untuk menginisialisasi CComVariant objek. Jenis CComVariant objek adalah VT_R8.
cySrc
[di] yang CY digunakan untuk menginisialisasi CComVariant objek. Jenis CComVariant objek adalah VT_CY.
pSrc
[di] Atau IDispatch IUnknown pointer yang digunakan untuk menginisialisasi CComVariant objek. AddRef dipanggil pada penunjuk antarmuka. Jenis CComVariant objek adalah VT_DISPATCH atau VT_UNKNOWN, masing-masing.
Atau, pointer yang SAFERRAY digunakan untuk menginisialisasi CComVariant objek. Salinan SAFEARRAY disimpan dalam CComVariant objek. Jenis CComVariant objek adalah kombinasi dari jenis SAFEARRAY asli dan VT_ARRAY.
cSrc
[di] yang char digunakan untuk menginisialisasi CComVariant objek. Jenis CComVariant objek adalah VT_I1.
bstrSrc
[di] yang BSTR digunakan untuk menginisialisasi CComVariant objek. Jenis CComVariant objek adalah VT_BSTR.
Keterangan
Destruktor mengelola pembersihan dengan memanggil CComVariant::Clear.
CComVariant::~CComVariant
Destruktor.
~CComVariant() throw();
Keterangan
Metode ini mengelola pembersihan dengan memanggil CComVariant::Clear.
CComVariant::ChangeType
CComVariant Mengonversi objek ke tipe baru.
HRESULT ChangeType(VARTYPE vtNew, const VARIANT* pSrc = NULL);
Parameter
vtNew
[di] Jenis baru untuk CComVariant objek.
pSrc
[di] Penunjuk ke nilai VARIANT yang nilainya dikonversi ke jenis baru. Nilai defaultnya adalah NULL, yang CComVariant berarti objek dikonversi di tempat.
Nilai hasil
Nilai standar HRESULT .
Keterangan
Jika Anda meneruskan nilai untuk pSrc, ChangeType akan menggunakan ini VARIANT sebagai sumber untuk konversi. Jika tidak, CComVariant objek adalah sumbernya.
CComVariant::Clear
CComVariant Menghapus objek dengan memanggil VariantClear fungsi Win32.
HRESULT Clear();
Nilai hasil
Nilai standar HRESULT .
Keterangan
Destruktor secara otomatis memanggil Clear.
CComVariant::Copy
CComVariant Membebaskan objek dan kemudian menetapkan salinan dari yang ditentukan VARIANT.
HRESULT Copy(const VARIANT* pSrc);
Parameter
pSrc
[di] Penunjuk ke yang VARIANT akan disalin.
Nilai hasil
Nilai standar HRESULT .
CComVariant::CopyTo
Menyalin isi CComVariant objek.
HRESULT CopyTo(BSTR* pstrDest);
Parameter
pstrDest
Menunjuk ke BSTR yang akan menerima salinan konten CComVariant objek.
Nilai hasil
Nilai standar HRESULT .
Keterangan
Objek CComVariant harus berjenis VT_BSTR.
CComVariant::Detach
Lepaskan yang mendasar VARIANT dari CComVariant objek dan mengatur jenis objek ke VT_EMPTY.
HRESULT Detach(VARIANT* pDest);
Parameter
pDest
[out] Mengembalikan nilai yang mendasar VARIANT dari objek.
Nilai hasil
Nilai standar HRESULT .
Keterangan
Konten yang direferensikan VARIANT oleh pDest secara otomatis dihapus sebelum ditetapkan nilai dan jenis objek panggilan CComVariant .
CComVariant::GetSize
Untuk ukuran VARIANTtetap sederhana, metode ini mengembalikan nilai untuk jenis data yang mendasar sizeof ditambah sizeof(VARTYPE).
ULONG GetSize() const;
Nilai hasil
Ukuran dalam byte dari isi CComVariant objek saat ini.
Keterangan
VARIANT Jika berisi penunjuk antarmuka, GetSize kueri untuk IPersistStream atau IPersistStreamInit. Jika berhasil, nilai yang dikembalikan adalah 32 bit berurutan rendah dari nilai yang dikembalikan oleh GetSizeMax plus sizeof(CLSID) dan sizeof(VARTYPE). Jika penunjuk antarmuka adalah NULL, GetSize mengembalikan sizeof(CLSID) plus sizeof(VARTYPE). Jika ukuran total lebih besar dari ULONG_MAX, GetSize mengembalikan sizeof(VARTYPE), yang menunjukkan kesalahan.
Dalam semua kasus lain, VARIANT sementara jenis VT_BSTR dipaksa dari saat ini VARIANT. Panjang ini BSTR dihitung sebagai ukuran panjang string ditambah panjang string itu sendiri ditambah ukuran NULL karakter ditambah sizeof(VARTYPE). VARIANT Jika tidak dapat dipaksa ke VARIANT jenis VT_BSTR, GetSize mengembalikan sizeof(VARTYPE).
Ukuran yang dikembalikan oleh metode ini cocok dengan jumlah byte yang digunakan oleh CComVariant::WriteToStream dalam kondisi yang berhasil.
CComVariant::operator =
Menetapkan nilai dan jenis yang sesuai ke CComVariant objek.
CComVariant& operator=(const CComVariant& varSrc);
CComVariant& operator=(const VARIANT& varSrc);
CComVariant& operator=(const CComBSTR& bstrSrc);
CComVariant& operator=(LPCOLESTR lpszSrc);
CComVariant& operator=(LPCSTR lpszSrc);
CComVariant& operator=(bool bSrc);
CComVariant& operator=(BYTE nSrc) throw();
CComVariant& operator=int nSrc) throw();
CComVariant& operator=(unsigned int nSrc) throw();
CComVariant& operator=(short nSrc) throw();
CComVariant& operator=(unsigned short nSrc) throw();
CComVariant& operator=(long nSrc) throw();
CComVariant& operator=(unsigned long nSrc) throw();
CComVariant& operator=(LONGLONG nSrc) throw();
CComVariant& operator=(ULONGLONG nSrc) throw();
CComVariant& operator=(float fltSrc) throw();
CComVariant& operator=(double dblSrc) throw();
CComVariant& operator=(CY cySrc) throw();
CComVariant& operator=(IDispatch* pSrc) throw();
CComVariant& operator=(IUnknown* pSrc) throw();
CComVariant& operator=(const SAFEARRAY* pSrc);
CComVariant& operator=(char cSrc) throw();
Parameter
varSrc
[di] CComVariant atau VARIANT yang akan ditetapkan ke CComVariant objek. Konten varian sumber disalin ke tujuan tanpa konversi.
bstrSrc
[di] yang BSTR akan ditetapkan ke CComVariant objek. Jenis CComVariant objek adalah VT_BSTR.
lpszSrc
[di] String karakter yang akan ditetapkan ke CComVariant objek. Anda dapat meneruskan string karakter lebar (Unicode) yang dihentikan nol ke LPCOLESTR versi operator atau string ANSI ke LPCSTR versi . Dalam kedua kasus, string dikonversi ke Unicode BSTR yang dialokasikan menggunakan SysAllocString. Jenis CComVariant objek adalah VT_BSTR.
bSrc
[di] yang bool akan ditetapkan ke CComVariant objek. Argumen bool dikonversi ke VARIANT_BOOL sebelum disimpan. Jenis CComVariant objek adalah VT_BOOL.
nSrc
[di] int, , BYTE, shortlong, LONGLONG, ULONGLONG, unsigned short, unsigned long, atau unsigned int untuk ditetapkan ke CComVariant objek . Jenis CComVariant objek adalah VT_I4, , VT_UI1, VT_I2, VT_I4VT_I8, VT_UI8, VT_UI2, VT_UI4, , atau VT_UI4, masing-masing.
fltSrc
[di] yang float akan ditetapkan ke CComVariant objek. Jenis CComVariant objek adalah VT_R4.
dblSrc
[di] yang double akan ditetapkan ke CComVariant objek. Jenis CComVariant objek adalah VT_R8.
cySrc
[di] yang CY akan ditetapkan ke CComVariant objek. Jenis CComVariant objek adalah VT_CY.
pSrc
[di] atau IDispatch IUnknown penunjuk yang akan ditetapkan ke CComVariant objek. AddRef dipanggil pada penunjuk antarmuka. Jenis CComVariant objek adalah VT_DISPATCH atau VT_UNKNOWN, masing-masing.
Atau, penunjuk SAFEARRAY yang akan ditetapkan ke CComVariant objek. Salinan SAFEARRAY disimpan dalam CComVariant objek. Jenis CComVariant objek adalah kombinasi dari jenis SAFEARRAY asli dan VT_ARRAY.
cSrc
[di] Karakter yang akan ditetapkan ke CComVariant objek. Jenis CComVariant objek adalah VT_I1.
CComVariant::operator ==
Menunjukkan apakah CComVariant objek sama dengan yang ditentukan VARIANT.
bool operator==(const VARIANT& varSrc) const throw();
Keterangan
Mengembalikan TRUE jika nilai dan jenis varSrc sama dengan nilai dan jenis, masing-masing, dari CComVariant objek. Sebaliknya, FALSE. Operator menggunakan lokal default pengguna untuk melakukan perbandingan.
Operator hanya membandingkan nilai jenis varian. Ini membandingkan string, bilangan bulat, dan titik mengambang, tetapi bukan array atau rekaman.
CComVariant::operator !=
Menunjukkan apakah CComVariant objek tidak sama dengan yang ditentukan VARIANT.
bool operator!=(const VARIANT& varSrc) const throw();
Keterangan
Mengembalikan TRUE jika nilai atau jenis varSrc tidak sama dengan nilai atau jenis, masing-masing, dari CComVariant objek. Sebaliknya, FALSE. Operator menggunakan lokal default pengguna untuk melakukan perbandingan.
Operator hanya membandingkan nilai jenis varian. Ini membandingkan string, bilangan bulat, dan titik mengambang, tetapi bukan array atau rekaman.
CComVariant::operator <
Menunjukkan apakah CComVariant objek kurang dari yang ditentukan VARIANT.
bool operator<(const VARIANT& varSrc) const throw();
Keterangan
Mengembalikan TRUE jika nilai CComVariant objek kurang dari varSrcnilai . Sebaliknya, FALSE. Operator menggunakan lokal default pengguna untuk melakukan perbandingan.
CComVariant::operator >
Menunjukkan apakah CComVariant objek lebih besar dari yang ditentukan VARIANT.
bool operator>(const VARIANT& varSrc) const throw();
Keterangan
Mengembalikan TRUE jika nilai CComVariant objek lebih besar dari nilai varSrc. Sebaliknya, FALSE. Operator menggunakan lokal default pengguna untuk melakukan perbandingan.
CComVariant::ReadFromStream
Mengatur yang mendasar VARIANT ke VARIANT yang terkandung dalam aliran yang ditentukan.
HRESULT ReadFromStream(IStream* pStream);
Parameter
pStream
[di] Penunjuk ke IStream antarmuka pada aliran yang berisi data.
Nilai hasil
Nilai standar HRESULT .
Keterangan
ReadToStream memerlukan panggilan sebelumnya ke WriteToStream.
CComVariant::SetByRef
Menginisialisasi CComVariant objek dan mengatur vt anggota ke VT_BYREF.
template < typename T >
void SetByRef(T* pT) throw();
Parameter
T
Jenis VARIANT, misalnya, BSTR, , intatau char.
pT
Penunjuk yang digunakan untuk menginisialisasi CComVariant objek.
Keterangan
SetByRef adalah templat fungsi yang menginisialisasi CComVariant objek ke penunjuk pT dan mengatur vt anggota ke VT_BYREF. Contohnya:
CComVariant var;
int nData = 10;
var.SetByRef(&nData);
CComVariant::WriteToStream
Menyimpan yang mendasar VARIANT ke aliran.
HRESULT WriteToStream(IStream* pStream);
Parameter
pStream
[di] Penunjuk ke IStream antarmuka pada aliran.
Nilai hasil
Nilai standar HRESULT .