Dela via


IHostSecurityManager::OpenThreadToken, metod

Öppnar den diskretionära åtkomsttoken som är associerad med den tråd som körs just nu.

Syntax

HRESULT OpenThreadToken (  
    [in]  DWORD    dwDesiredAccess,
    [in]  BOOL     bOpenAsSelf,
    [out] HANDLE   *phThreadToken  
);  

Parametrar

dwDesiredAccess
[in] En mask med åtkomstvärden som anger de begärda typerna av åtkomst till trådtoken. Dessa värden definieras i funktionen Win32 OpenThreadToken . De begärda åtkomsttyperna avstäms mot tokens DACL (Discretionary Access Control List) för att avgöra vilka typer av åtkomst som ska beviljas eller nekas.

bOpenAsSelf
[in] true för att ange att åtkomstkontrollen ska göras med hjälp av säkerhetskontexten för processen för den anropande tråden; false för att ange att åtkomstkontrollen ska utföras med hjälp av säkerhetskontexten för själva den anropande tråden. Om tråden personifierar en klient kan säkerhetskontexten vara en klientprocess.

phThreadToken
[ut] En pekare till den nyligen öppnade åtkomsttoken.

Returvärde

HRESULT Description
S_OK OpenThreadToken returnerades.
HOST_E_CLRNOTAVAILABLE CLR (Common Language Runtime) har inte lästs in i en process eller så är CLR i ett tillstånd där den inte kan köra hanterad kod eller bearbeta anropet.
HOST_E_TIMEOUT Tidsgränsen för samtalet överst.
HOST_E_NOT_OWNER Anroparen äger inte låset.
HOST_E_ABANDONED En händelse avbröts medan en blockerad tråd eller fiber väntade på den.
E_FAIL Ett okänt oåterkalleligt fel inträffade. När en metod returnerar E_FAIL kan CLR inte längre användas i processen. Efterföljande anrop till värdmetoder returnerar HOST_E_CLRNOTAVAILABLE.

Kommentarer

IHostSecurityManager::OpenThreadToken fungerar på liknande sätt som motsvarande Win32-funktion med samma namn, förutom att Win32-funktionen gör att anroparen kan skicka ett handtag till en godtycklig tråd, medan IHostSecurityManager::OpenThreadToken endast öppnar den token som är associerad med den anropande tråden.

Typen HANDLE är inte COM-kompatibel, dvs. dess storlek är specifik för operativsystemet och kräver anpassad marshalling. Denna token är därför endast avsedd för användning inom processen, mellan CLR och värden.

Krav

Plattformar: Se Systemkrav.

Huvudet: MSCorEE.h

Bibliotek: Ingår som en resurs i MSCorEE.dll

.NET Framework versioner: Tillgänglig sedan 2.0

Se även