Classe CMonikerFile

Rappresenta un flusso di dati ( IStream) denominato da un IMoniker.

Sintassi

class CMonikerFile : public COleStreamFile

Membri

Costruttori pubblici

Nome Descrizione
CMonikerFile::CMonikerFile Costruisce un oggetto CMonikerFile.

Metodi pubblici

Nome Descrizione
CMonikerFile::Close Scollega e rilascia il flusso e rilascia il moniker.
CMonikerFile::D etach Scollega l'oggetto IMoniker da questo CMonikerFile oggetto.
CMonikerFile::GetMoniker Restituisce il moniker corrente.
CMonikerFile::Open Apre il file specificato per ottenere un flusso.

Metodi protetti

Nome Descrizione
CMonikerFile::CreateBindContext Ottiene il contesto di associazione o crea un contesto di associazione inizializzato predefinito.

Osservazioni:

Un moniker contiene informazioni molto simili a un percorso a un file. Se si dispone di un puntatore all'interfaccia di IMoniker un oggetto moniker, è possibile ottenere l'accesso al file identificato senza avere altre informazioni specifiche sulla posizione effettiva del file.

Derivato da COleStreamFile, CMonikerFile accetta un moniker o una rappresentazione di stringa che può creare in un moniker e associa al flusso per il quale il moniker è un nome. È quindi possibile leggere e scrivere in tale flusso. Lo scopo reale di CMonikerFile è fornire l'accesso semplice a IStreams denominato da IMonikers in modo che non sia necessario eseguire il binding a un flusso manualmente, ma avere CFile funzionalità al flusso.

CMonikerFile non può essere usato per eseguire l'associazione a elementi diversi da un flusso. Se si vuole eseguire l'associazione all'archiviazione o a un oggetto, è necessario usare direttamente l'interfaccia IMoniker .

Per altre informazioni sui flussi e sui moniker, vedere COleStreamFile nelle informazioni di riferimento su MFC e IStream e IMoniker in Windows SDK.

Gerarchia di ereditarietà

CObject

CFile

COleStreamFile

CMonikerFile

Requisiti

Intestazione: afxole.h

CMonikerFile::Close

Chiamare questa funzione per scollegare e rilasciare il flusso e rilasciare il moniker.

virtual void Close();

Osservazioni:

Può essere chiamato su flussi non aperti o già chiusi.

CMonikerFile::CMonikerFile

Costruisce un oggetto CMonikerFile.

CMonikerFile();

CMonikerFile::CreateBindContext

Chiamare questa funzione per creare un contesto di associazione inizializzato predefinito.

IBindCtx* CreateBindContext(CFileException* pError);

Parametri

pError
Puntatore a un'eccezione di file. In caso di errore, verrà impostato sulla causa.

Valore restituito

Puntatore al contesto di associazione IBindCtx da associare se ha esito positivo; in caso contrario, NULL. Se l'istanza è stata aperta con un'interfaccia IBindHost , il contesto di associazione viene recuperato da IBindHost. Se non è presente alcuna IBindHost interfaccia o l'interfaccia non restituisce un contesto di associazione, viene creato un contesto di associazione. Per una descrizione dell'interfaccia IBindHost , vedere Windows SDK.

Osservazioni:

Un contesto di associazione è un oggetto che archivia informazioni su un'operazione di associazione moniker specifica. È possibile eseguire l'override di questa funzione per fornire un contesto di associazione personalizzato.

CMonikerFile::D etach

Chiamare questa funzione per chiudere il flusso.

BOOL Detach(CFileException* pError = NULL);

Parametri

pError
Puntatore a un'eccezione di file. In caso di errore, verrà impostato sulla causa.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

CMonikerFile::GetMoniker

Chiamare questa funzione per recuperare un puntatore al moniker corrente.

IMoniker* GetMoniker() const;

Valore restituito

Puntatore all'interfaccia del moniker corrente ( IMoniker).

Osservazioni:

Poiché CMonikerFile non è un'interfaccia, il puntatore restituito non incrementa il conteggio dei riferimenti (tramite AddRef) e il moniker viene rilasciato quando l'oggetto CMonikerFile viene rilasciato. Se si vuole tenere premuto il moniker o rilasciarlo manualmente, è necessario AddRef .

CMonikerFile::Open

Chiamare questa funzione membro per aprire un file o un oggetto moniker.

virtual BOOL Open(
    LPCTSTR lpszURL,
    CFileException* pError = NULL);

virtual BOOL Open(
    IMoniker* pMoniker,
    CFileException* pError = NULL);

Parametri

lpszURL
URL o nome file del file da aprire.

pError
Puntatore a un'eccezione di file. In caso di errore, verrà impostato sulla causa.

pMoniker
Puntatore all'interfaccia IMoniker del moniker da usare per ottenere un flusso.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Impossibile utilizzare il parametro lpszURL in un macintosh. Solo la forma pMoniker di Open può essere utilizzata in un Macintosh.

È possibile usare un URL o un nome file per il parametro lpszURL . Ad esempio:

CMyMoniker* pMyMoniker = new CMyMoniker();
pMyMoniker->Open(_T("http://www.microsoft.com"));

o

CMyMoniker* pMyMoniker = new CMyMoniker();
pMyMoniker->Open(_T("file:c:\\mydata.dat"));

Vedi anche

Classe COleStreamFile
Grafico della gerarchia
Classe CAsyncMonikerFile