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 menyimpan array IUnknown pointer.
Sintaks
class CComDynamicUnkArray
Anggota
Konstruktor Publik
| Nama | Deskripsi |
|---|---|
| CComDynamicUnkArray::CComDynamicUnkArray | Konstruktor. Menginisialisasi nilai koleksi ke NULL dan ukuran koleksi menjadi nol. |
| CComDynamicUnkArray::~CComDynamicUnkArray | Destruktor. |
Metode Publik
| Nama | Deskripsi |
|---|---|
| CComDynamicUnkArray::Add | Panggil metode ini untuk menambahkan penunjuk IUnknown ke array. |
| CComDynamicUnkArray::begin | Mengembalikan penunjuk ke penunjuk pertama IUnknown dalam koleksi. |
| CComDynamicUnkArray::clear | Mengolah array. |
| CComDynamicUnkArray::end | Mengembalikan penunjuk ke satu melewati penunjuk terakhir IUnknown dalam koleksi. |
| CComDynamicUnkArray::GetAt | Mengambil elemen pada indeks yang ditentukan. |
| CComDynamicUnkArray::GetCookie | Panggil metode ini untuk mendapatkan cookie yang terkait dengan pointer tertentu IUnknown . |
| CComDynamicUnkArray::GetSize | Mengembalikan jumlah elemen yang dapat disimpan array. |
| CComDynamicUnkArray::GetUnknown | Panggil metode ini untuk mendapatkan pointer yang IUnknown terkait dengan cookie tertentu. |
| CComDynamicUnkArray::Remove | Panggil metode ini untuk menghapus IUnknown penunjuk dari array. |
Keterangan
CComDynamicUnkArray menyimpan array IUnknown pointer yang dialokasikan secara dinamis, masing-masing antarmuka pada titik koneksi. CComDynamicUnkArray dapat digunakan sebagai parameter ke kelas templat IConnectionPointImpl .
Metode CComDynamicUnkArray dimulai dan berakhir dapat digunakan untuk mengulangi semua titik koneksi (misalnya, ketika peristiwa ditembakkan).
Lihat Menambahkan Titik Koneksi ke Objek untuk detail tentang mengotomatiskan pembuatan proksi titik koneksi.
Catatan
Catatan Kelas CComDynamicUnkArray digunakan oleh wizard Tambahkan Kelas saat membuat kontrol yang memiliki Titik Koneksi. Jika Anda ingin menentukan jumlah Titik Koneksi secara manual, ubah referensi dari CComDynamicUnkArray ke CComUnkArray< n >, di mana n adalah jumlah titik koneksi yang diperlukan.
Persyaratan
Header: atlcom.h
CComDynamicUnkArray::Add
Panggil metode ini untuk menambahkan penunjuk IUnknown ke array.
DWORD Add(IUnknown* pUnk);
Parameter
Punk
Penunjuk IUnknown untuk ditambahkan ke array.
Tampilkan Nilai
Mengembalikan cookie yang terkait dengan pointer yang baru ditambahkan. Gunakan cookie ini untuk mengambil pointer dari array dengan CComDynamicUnkArray::GetAt.
Keterangan
Posisi di mana item ini disisipkan tidak akan selalu langsung setelah item terakhir disisipkan jika Remove() sebelumnya dipanggil pada array ini. Gunakan cookie yang dikembalikan untuk mengakses pointer yang disisipkan dengan andal.
Ukuran array mungkin ditingkatkan untuk mengakomodasi lebih banyak item. Gunakan GetSize() untuk mendapatkan ukuran baru.
CComDynamicUnkArray::begin
Mengembalikan penunjuk ke awal kumpulan IUnknown penunjuk antarmuka.
IUnknown**
begin();
Tampilkan Nilai
Penunjuk ke IUnknown penunjuk antarmuka.
Keterangan
Koleksi berisi pointer ke antarmuka yang disimpan secara lokal sebagai IUnknown. Anda melemparkan setiap IUnknown antarmuka ke jenis antarmuka nyata dan kemudian memanggil melaluinya. Anda tidak perlu mengkueri antarmuka terlebih dahulu.
Sebelum menggunakan IUnknown antarmuka, Anda harus memeriksa bahwa antarmuka tersebut bukan NULL.
CComDynamicUnkArray::clear
Mengolah array. Mengatur ulang ukuran menjadi 0.
void clear();
CComDynamicUnkArray::CComDynamicUnkArray
Konstruktor.
CComDynamicUnkArray();
Keterangan
Mengatur ukuran koleksi ke nol dan menginisialisasi nilai ke NULL. Destruktor membebaskan koleksi, jika perlu.
CComDynamicUnkArray::~CComDynamicUnkArray
Destruktor.
~CComDynamicUnkArray();
Keterangan
Membebaskan sumber daya yang dialokasikan oleh konstruktor kelas.
CComDynamicUnkArray::end
Mengembalikan penunjuk ke satu-melewati elemen terakhir dalam buffer array yang dialokasikan.
Catatan: ini berarti bahwa pointer yang terakhir dimasukkan tidak dijamin berada di end()-1 karena array mungkin tidak diisi ke kapasitas.
IUnknown**
end();
Tampilkan Nilai
Penunjuk ke IUnknown penunjuk antarmuka.
CComDynamicUnkArray::GetAt
Mengambil elemen pada indeks yang ditentukan.
IUnknown* GetAt(int nIndex);
Parameter
nIndex
Indeks elemen yang akan diambil.
Tampilkan Nilai
Pointer ke antarmuka IUnknown jika elemen sebelumnya ditambahkan dan ada di indeks ini; jika tidak NULL.
CComDynamicUnkArray::GetCookie
Panggil metode ini untuk mendapatkan cookie yang terkait dengan pointer tertentu IUnknown .
DWORD WINAPI GetCookie(IUnknown** ppFind);
Parameter
ppFind
Penunjuk IUnknown di mana cookie terkait diperlukan.
Tampilkan Nilai
Mengembalikan cookie yang terkait dengan IUnknown penunjuk, atau nol jika tidak ada penunjuk yang IUnknown cocok yang ditemukan.
Keterangan
Jika ada lebih dari satu instans penunjuk yang sama IUnknown , fungsi ini mengembalikan cookie untuk yang pertama.
CComDynamicUnkArray::GetSize
Mengembalikan kapasitas array yang dialokasikan.
Catatan: ini tidak sama dengan jumlah elemen non-NULL yang saat ini berada dalam array.
int GetSize() const;
Tampilkan Nilai
Jumlah elemen yang dapat disimpan array. GetSize() == end() - begin().
CComDynamicUnkArray::GetUnknown
Panggil metode ini untuk mendapatkan pointer yang IUnknown terkait dengan cookie tertentu.
IUnknown* WINAPI GetUnknown(DWORD dwCookie);
Parameter
dwCookie
Cookie yang diperlukan penunjuk terkait IUnknown .
Tampilkan Nilai
Mengembalikan penunjuk IUnknown , atau NULL jika tidak ada cookie yang cocok yang ditemukan.
CComDynamicUnkArray::Remove
Panggil metode ini untuk menghapus IUnknown penunjuk dari array.
Semua elemen lainnya tidak berubah dan mempertahankan indeks dan cookie mereka.
BOOL Remove(DWORD dwCookie);
Parameter
dwCookie
Cookie yang mereferensikan IUnknown penunjuk yang akan dihapus dari array.
Tampilkan Nilai
Mengembalikan TRUE jika penunjuk dihapus; jika tidak FALSE.