Funzione OleGetClipboardWithEnterpriseInfo (ole2.h)
Abilita Windows Information Protection illuminata
applicazioni per recuperare un IDataObject dagli Appunti OLE
accompagnato da windows Information Protection informazioni sui dati e sui
applicazione di origine. Queste informazioni consentono
applicazione illuminata per assumere la responsabilità dell'applicazione di Windows Information Protection
criteri, inclusi i prompt dell'interfaccia utente appropriati e
casi di controllo in cui l'utente approva in modo esplicito la copia
dati aziendali in un contesto personale.
Se l'applicazione chiamante non è illuminata o è
configurato come "non allocato" per accedere ai dati aziendali,
quindi questa chiamata si comporta esattamente come OleGetClipboard - applicazione di criteri prima di decidere quale IDataObject restituire,
e specificare stringhe vuote come output.
Sintassi
HRESULT OleGetClipboardWithEnterpriseInfo(
[out] IDataObject **dataObject,
[out] PWSTR *dataEnterpriseId,
[out] PWSTR *sourceDescription,
[out] PWSTR *targetDescription,
[out] PWSTR *dataDescription
);
Parametri
[out] dataObject
Indirizzo della variabile puntatore IDataObject che riceve il puntatore dell'interfaccia all'oggetto dati degli Appunti.
[out] dataEnterpriseId
ID organizzazione dell'applicazione che imposta i dati degli Appunti. Se i dati sono personali, questa sarà una stringa vuota.
[out] sourceDescription
Descrizione dell'applicazione che imposta gli Appunti.
[out] targetDescription
Descrizione dell'applicazione del chiamante da usare nel controllo.
[out] dataDescription
Descrizione dell'oggetto dati da usare nel controllo.
Valore restituito
Questa funzione restituisce S_OK in caso di esito positivo. Altri valori possibili includono quanto segue.
Codice restituito | Descrizione |
---|---|
|
La funzione OpenClipboard usata all'interno di OleFlushClipboard non è riuscita. |
|
La funzione CloseClipboard usata all'interno di OleFlushClipboard non è riuscita. |
Commenti
OleGetClipboardWithEnterpriseInfo gestisce tre casi:
- L'applicazione che inserisce i dati negli Appunti con la funzione OleSetClipboard è ancora in esecuzione.
- L'applicazione che inserisce i dati negli Appunti con la funzione OleSetClipboard ha successivamente chiamato la funzione OleFlushClipboard .
- Esistono dati da un'applicazione non OLE negli Appunti.
Nel secondo caso OLE crea un oggetto dati predefinito e lo restituisce all'utente. Poiché i dati negli Appunti hanno origine da una chiamata OleSetClipboard , l'oggetto dati fornito da OLE contiene informazioni più accurate sul tipo di dati negli Appunti. In particolare, il supporto originale (TYMED) su cui sono stati offerti i dati è noto. Pertanto, se un'applicazione di origine dati offre un formato specifico degli Appunti, ad esempio cfFOO, in un oggetto di archiviazione e chiama la funzione OleFlushClipboard , l'oggetto di archiviazione viene copiato in memoria e l'handle di memoria hglobal viene inserito negli Appunti. Quando quindi la funzione OleGetClipboardWithEnterpriseInfo crea l'oggetto dati predefinito, l'hglobal dagli Appunti diventa di nuovo un oggetto IStorage . Inoltre, l'enumeratore FORMATETC e il metodo IDataObject::QueryGetData indicano correttamente che il formato degli Appunti originale (cfFOO) è nuovamente disponibile in un TYMED_ISTORAGE.
Nel terzo caso OLE crea ancora un oggetto dati predefinito, ma non sono presenti informazioni speciali sui dati nei formati degli Appunti (in particolare per i formati degli Appunti definiti dall'applicazione). Pertanto, se un supporto di archiviazione basato su hGlobal è stato inserito direttamente negli Appunti tramite una chiamata alla funzione SetClipboardData , l'enumeratore FORMATETC e il metodo IDataObject::QueryGetData non indicare che i dati erano disponibili in un supporto di archiviazione. Una chiamata al metodo IDataObject::GetData per TYMED_ISTORAGE avrà esito positivo, tuttavia. A causa di queste limitazioni, è consigliabile che le applicazioni con riconoscimento OLE interagiscono con gli Appunti usando le funzioni degli Appunti OLE.
L'oggetto dati degli Appunti creato dalla funzione OleGetClipboardWithEnterpriseInfo ha un'implementazione IDataObject abbastanza estesa. L'oggetto dati fornito da OLE può convertire i dati del formato degli Appunti OLE 1 nella rappresentazione prevista da un chiamante OLE 2. Inoltre, tutti i dati strutturati sono disponibili in qualsiasi media strutturata o flat e tutti i dati flat sono disponibili in qualsiasi mezzo flat. Tuttavia, gli oggetti GDI (ad esempio metafile e bitmap) sono disponibili solo nei rispettivi supporti.
Si noti che il membro tymed della struttura FORMATETC usato nell'enumeratore FORMATETC contiene l'unione di supporti supportati. Le applicazioni che cercano informazioni specifiche( ad esempio se CF_TEXT è disponibile in TYMED_HGLOBAL) devono eseguire la maschera di bit appropriata durante il controllo di questo valore.
Se si chiama la funzione OleGetClipboardWithEnterpriseInfo, è consigliabile tenere premuto solo IDataObject restituito per un tempo molto breve. Utilizza le risorse nell'applicazione che l'ha offerta.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 10 [solo app desktop] |
Server minimo supportato | Windows Server 2016 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | ole2.h |
Libreria | Ole32.lib |
DLL | Ole32.dll |