Classe CComGITPtr
Questa classe fornisce metodi per gestire i puntatori di interfaccia e la tabella dell'interfaccia globale (GIT).
Sintassi
template <class T>
class CComGITPtr
Parametri
T
Tipo del puntatore di interfaccia da archiviare in GIT.
Membri
Costruttori pubblici
Nome | Descrizione |
---|---|
CComGITPtr::CComGITPtr | Costruttore. |
CComGITPtr::~CComGITPtr | Distruttore. |
Metodi pubblici
Nome | Descrizione |
---|---|
CComGITPtr::Attach | Chiamare questo metodo per registrare il puntatore dell'interfaccia nella tabella dell'interfaccia globale (GIT). |
CComGITPtr::CopyTo | Chiamare questo metodo per copiare l'interfaccia dalla tabella dell'interfaccia globale (GIT) al puntatore passato. |
CComGITPtr::D etach | Chiamare questo metodo per annullare l'associazione dell'interfaccia dall'oggetto CComGITPtr . |
CComGITPtr::GetCookie | Chiamare questo metodo per restituire il cookie dall'oggetto CComGITPtr . |
CComGITPtr::Revoke | Chiamare questo metodo per rimuovere l'interfaccia dalla tabella dell'interfaccia globale (GIT). |
Operatori pubblici
Nome | Descrizione |
---|---|
CComGITPtr::operator DWORD | Restituisce il cookie dall'oggetto CComGITPtr . |
CComGITPtr::operator = | Operatore di assegnazione. |
Membri dati pubblici
Nome | Descrizione |
---|---|
CComGITPtr::m_dwCookie | Cookie. |
Osservazioni:
Gli oggetti che aggregano il gestore di marshalling a thread libero e devono usare puntatori di interfaccia ottenuti da altri oggetti devono eseguire passaggi aggiuntivi per assicurarsi che le interfacce siano correttamente sottoposto a marshalling. In genere questo comporta l'archiviazione dei puntatori di interfaccia in GIT e il recupero del puntatore dal git ogni volta che viene usato. La classe CComGITPtr
viene fornita per facilitare l'uso dei puntatori di interfaccia archiviati in GIT.
Nota
La funzionalità di tabella dell'interfaccia globale è disponibile solo in Windows 95 con DCOM versione 1.1 e successive, Windows 98, Windows NT 4.0 con Service Pack 3 e versioni successive e Windows 2000.
Requisiti
Intestazione: atlbase.h
CComGITPtr::Attach
Chiamare questo metodo per registrare il puntatore dell'interfaccia nella tabella dell'interfaccia globale (GIT).
HRESULT Attach(T* p) throw();
HRESULT Attach(DWORD dwCookie) throw();
Parametri
p
Puntatore all'interfaccia da aggiungere a GIT.
dwCookie
Cookie utilizzato per identificare il puntatore dell'interfaccia.
Valore restituito
Restituisce S_OK in caso di esito positivo o errore HRESULT in caso di errore.
Osservazioni:
Nelle compilazioni di debug si verificherà un errore di asserzione se GIT non è valido o se il cookie è uguale a NULL.
CComGITPtr::CComGITPtr
Costruttore.
CComGITPtr() throw();
CComGITPtr(T* p);
CComGITPtr(const CComGITPtr& git);
explicit CComGITPtr(DWORD dwCookie) throw();
CComGITPtr(CComGITPtr&& rv);
Parametri
p
[in] Puntatore all'interfaccia da archiviare nella tabella dell'interfaccia globale (GIT).
git
[in] Riferimento a un oggetto esistente CComGITPtr
.
dwCookie
[in] Cookie utilizzato per identificare il puntatore dell'interfaccia.
Rv
[in] Oggetto di origine CComGITPtr
da cui spostare i dati.
Osservazioni:
Crea un nuovo CComGITPtr
oggetto, facoltativamente utilizzando un oggetto esistente CComGITPtr
.
Il costruttore che usa rv è un costruttore di spostamento. I dati vengono spostati dall'origine, rv e quindi vengono cancellati.
CComGITPtr::~CComGITPtr
Distruttore.
~CComGITPtr() throw();
Osservazioni:
Rimuove l'interfaccia dalla tabella dell'interfaccia globale (GIT), usando CComGITPtr::Revoke.
CComGITPtr::CopyTo
Chiamare questo metodo per copiare l'interfaccia dalla tabella dell'interfaccia globale (GIT) al puntatore passato.
HRESULT CopyTo(T** pp) const throw();
Parametri
Pp
Puntatore che deve ricevere l'interfaccia.
Valore restituito
Restituisce S_OK in caso di esito positivo o errore HRESULT in caso di errore.
Osservazioni:
L'interfaccia da GIT viene copiata nel puntatore passato. Il puntatore deve essere rilasciato dal chiamante quando non è più necessario.
CComGITPtr::D etach
Chiamare questo metodo per annullare l'associazione dell'interfaccia dall'oggetto CComGITPtr
.
DWORD Detach() throw();
Valore restituito
Restituisce il cookie dall'oggetto CComGITPtr
.
Osservazioni:
Spetta al chiamante rimuovere l'interfaccia da GIT, usando CComGITPtr::Revoke.
CComGITPtr::GetCookie
Chiamare questo metodo per restituire il cookie dall'oggetto CComGITPtr
.
DWORD GetCookie() const;
Valore restituito
Restituisce il cookie.
Osservazioni:
Il cookie è una variabile usata per identificare un'interfaccia e la relativa posizione.
CComGITPtr::m_dwCookie
Cookie.
DWORD m_dwCookie;
Osservazioni:
Il cookie è una variabile membro usata per identificare un'interfaccia e la relativa posizione.
CComGITPtr::operator =
Operatore di assegnazione .
CComGITPtr& operator= (T* p);
CComGITPtr& operator= (const CComGITPtr& git);
CComGITPtr& operator= (DWORD dwCookie);
CComGITPtr& operator= (CComGITPtr&& rv);
Parametri
p
[in] Puntatore a un'interfaccia.
git
[in] Riferimento a un oggetto CComGITPtr
.
dwCookie
[in] Cookie utilizzato per identificare il puntatore dell'interfaccia.
Rv
[in] Oggetto CComGITPtr
da cui spostare i dati.
Valore restituito
Restituisce l'oggetto aggiornato CComGITPtr
.
Osservazioni:
Assegna un nuovo valore a un CComGITPtr
oggetto, da un oggetto esistente o da un riferimento a una tabella di interfaccia globale.
CComGITPtr::operator DWORD
Restituisce il cookie associato all'oggetto CComGITPtr
.
operator DWORD() const;
Osservazioni:
Il cookie è una variabile usata per identificare un'interfaccia e la relativa posizione.
CComGITPtr::Revoke
Chiamare questo metodo per rimuovere l'interfaccia corrente dalla tabella dell'interfaccia globale (GIT).
HRESULT Revoke() throw();
Valore restituito
Restituisce S_OK in caso di esito positivo o errore HRESULT in caso di errore.
Osservazioni:
Rimuove l'interfaccia da GIT.
Vedi anche
Marshaler threading gratuito
Accesso alle interfacce tra appartamenti
Quando usare la tabella dell'interfaccia globale
Cenni preliminari sulla classe