Condividi tramite


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