Share via


Metodo IOleObject::GetUserType (oleidl.h)

Recupera il nome utente di un oggetto per la visualizzazione in elementi dell'interfaccia utente, ad esempio menu, caselle di riepilogo e finestre di dialogo.

Sintassi

HRESULT GetUserType(
  [in]  DWORD    dwFormOfType,
  [out] LPOLESTR *pszUserType
);

Parametri

[in] dwFormOfType

Forma del nome di tipo utente da presentare agli utenti. I valori possibili vengono ottenuti dall'enumerazione USERCLASSTYPE .

[out] pszUserType

Indirizzo della variabile di puntatore LPOLESTR che riceve un puntatore alla stringa di tipo utente. Il chiamante deve liberare pszUserType usando l'istanza di IMalloc corrente. Se si verifica un errore, l'implementazione deve impostare pszUserType su NULL.

Valore restituito

Questo metodo restituisce S_OK se l'operazione ha esito positivo. Gli altri valori restituiti possibili includono i seguenti:

Codice restituito Descrizione
OLE_S_USEREG
Delegare all'implementazione del gestore predefinito usando il Registro di sistema per fornire le informazioni richieste.

Commenti

I contenitori chiamano IOleObject::GetUserType per rappresentare oggetti incorporati nelle caselle di riepilogo, nei menu e nelle finestre di dialogo in base ai nomi normali e riconoscibili dall'utente. Gli esempi includono "Word document", "Excel Chart" e "Paintbrush Object". Le informazioni restituite da IOleObject::GetUserType sono l'equivalente leggibile dell'identificatore della classe binaria restituita da IOleObject::GetUserClassID.

Note ai chiamanti

L'implementazione del gestore predefinito di IOleObject::GetUserType usa l'identificatore della classe dell'oggetto (il parametro pClsid restituito da IOleObject::GetUserClassID) e il parametro dwFormOfType insieme come chiave nel Registro di sistema. Se viene trovata una voce che corrisponde esattamente alla chiave, viene restituito il tipo di utente specificato da tale voce. Se solo la parte CLSID della chiave corrisponde, viene usata la voce numerata più bassa disponibile (in genere il nome completo). Se clSID non viene trovato o non sono presenti tipi utente registrati per la classe, viene usato il tipo di utente attualmente trovato nell'archiviazione dell'oggetto.

Non è consigliabile memorizzare nella cache la stringa restituita da IOleObject::GetUserType. Chiamare invece questo metodo ogni e ogni volta che è necessaria la stringa. Ciò garantisce risultati corretti quando l'oggetto incorporato viene convertito da un tipo a un altro senza la conoscenza del chiamante. La chiamata a questo metodo è economica perché il gestore predefinito lo implementa usando il Registro di sistema.

Note per gli implementatori

È possibile usare l'implementazione fornita dal gestore predefinito restituendo OLE_S_USEREG come implementazione dell'applicazione di questo metodo. Se il nome del tipo utente è una stringa vuota, viene restituito il messaggio "Oggetto sconosciuto".

È possibile chiamare la funzione helper OLERegGetUserType per restituire il tipo di utente appropriato.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione oleidl.h

Vedi anche

Ioleobject

IOleObject::GetUserClassID

IOleObject::SetHostNames

OleRegGetUserType

ReadFmtUserTypeStg

USERCLASSTYPE