Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
È necessario Visual Studio 2010 SP1.
Specifici di Microsoft
Genera l'istruzione della profilatura leggera (LWP) lwpins per inserire un record dell'evento utente nel buffer circolare LWP attivo.
unsigned char __lwpins32(
unsigned int data2,
unsigned int data1,
unsigned int flags
);
unsigned char __lwpins64(
unsigned __int64 data2,
unsigned int data1,
unsigned int flags
);
Parametri
[in] data2
Un parametro a 32 o a 64 bit che verrà scritto nel campo Data2 di un record del buffer circolare LWP.[in] data1
Parametro a 32 bit che verrà scritto nel campo Data1 di un record del buffer circolare LWP.[in] flags
Un parametro a 32 i cui 16 bit rimanenti verranno scritti nel campo Flag di un record del buffer circolare LWP.
Valore restituito
Carattere senza segno che dispone del valore 1 se il buffer circolare era completo, 0 in caso contrario.
Requisiti
Intrinseco |
Architettura |
|---|---|
__llwpins32 |
LWP |
__llwpins64 |
LWP, solo X64 |
File di intestazione <intrin.h>
Note
Questi intrinseci possono essere utilizzati per registrare eventi importanti con EventId 255 nel buffer circolare della profilatura leggera. A differenza di lwpval, l'istruzione lwpins scrive nel buffer ogni volta che viene eseguita. Per ulteriori informazioni, vedere __lwpval32.
Quando la profilatura leggera è abilitata, questi intrinseci scrivono immediatamente un record nel successivo slot disponibile del buffer circolare LWP attivo e restituiscono 0. Se il buffer circolare è pieno, il nuovo record sovrascrive l'ultimo record nel buffer e la funzione intrinseca restituisce 1. Quando la profilatura leggero non è abilitata, questi intrinseci restituiscono 0 automaticamente.
Sia __lwpins32 che __lwpins64 scrivono il valore di data2 nel campo Data2 del record del buffer circolare (byte 23-16), data1 nel campo Data1 (byte 7-4) e flags nel campo Flag (byte 3-2). Si noti che flags deve essere costante e verrà troncato a 16 bit. L'intrinseco __lwpins32 imposta byte 23-20 del record del buffer circolare su zero.
L'istruzione lwpins è parte della famiglia LWP di istruzioni. Le istruzioni LWP richiedono sia un supporto hardware che del sistema operativo. Per determinare il supporto hardware per LWP, chiamare __cpuid intrinseco con InfoType = 0x80000001 e il bit di controllo 15 di CPUInfo[2] (ECX). Questo bit è 1 quando LWP è supportato, e 0 in caso contrario. Una volta che si sa che LWP è supportato dal processore, chiamare __cpuid intrinseco con InfoType = 0x8000001C e bit di controllo 0 di CPUInfo[0](EAX). Questo bit è 1 se il sistema operativo supporta anche LWP, in caso contrario è 0. Questo test __cpuid restituisce informazioni aggiuntive sull'implementazione LWP. Vedere __llwpcb e "Lightweight Profiling Specification" di AMD (numero pubblicazione 43724) per ulteriori informazioni.
Per un esempio, vedere __llwpcb.
Vedere anche
Altre risorse
Oggetti intrinseci LWP aggiunti per Visual Studio 2010 SP1
Cronologia delle modifiche
Data |
Cronologia |
Motivo |
|---|---|---|
|
Marzo 2011 |
È stato aggiunto questo contenuto. |
Modifica di funzionalità in SP1. |