Udostępnij za pośrednictwem


IHostSecurityManager::OpenThreadToken — Metoda

Otwiera uznaniowy token dostępu skojarzony z aktualnie wykonywanym wątkiem.

Składnia

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

Parametry

dwDesiredAccess
[in] Maska wartości dostępu, które określają żądane typy dostępu do tokenu wątku. Te wartości są definiowane w funkcji Win32 OpenThreadToken . Żądane typy dostępu są uzgadniane z uznaniową listą kontroli dostępu (DACL) tokenu w celu określenia typów dostępu w celu udzielenia lub odmowy.

bOpenAsSelf
[in] true aby określić, że należy przeprowadzić kontrolę dostępu przy użyciu kontekstu zabezpieczeń procesu dla wątku wywołującego; false aby określić, że należy przeprowadzić kontrolę dostępu przy użyciu kontekstu zabezpieczeń dla samego wątku wywołującego. Jeśli wątek personifikuje klienta, kontekstem zabezpieczeń może być proces klienta.

phThreadToken
[out] Wskaźnik do nowo otwartego tokenu dostępu.

Wartość zwracana

HRESULT Opis
S_OK OpenThreadToken zwrócone pomyślnie.
HOST_E_CLRNOTAVAILABLE Środowisko uruchomieniowe języka wspólnego (CLR) nie zostało załadowane do procesu lub clR jest w stanie, w którym nie może uruchomić kodu zarządzanego ani pomyślnie przetworzyć wywołania.
HOST_E_TIMEOUT Upłynął limit czasu wywołania.
HOST_E_NOT_OWNER Obiekt wywołujący nie jest właścicielem blokady.
HOST_E_ABANDONED Zdarzenie zostało anulowane, gdy zablokowany wątek lub światłowod czekał na nie.
E_FAIL Wystąpił nieznany katastrofalny błąd. Gdy metoda zwraca E_FAIL, clR nie będzie już można jej używać w ramach tego procesu. Kolejne wywołania metod hostingu zwracają HOST_E_CLRNOTAVAILABLE.

Uwagi

IHostSecurityManager::OpenThreadToken zachowuje się podobnie do odpowiadającej mu funkcji Win32 o tej samej nazwie, z tą różnicą, że funkcja Win32 umożliwia wywołującym przekazanie uchwytu do dowolnego wątku, a jednocześnie IHostSecurityManager::OpenThreadToken otwiera tylko token skojarzony z wywołującym wątkiem.

Typ HANDLE nie jest zgodny ze standardem COM, czyli jego rozmiar jest specyficzny dla systemu operacyjnego i wymaga niestandardowego marshallingu. W związku z tym ten token jest używany tylko w ramach procesu między clR i hostem.

Wymagania

Platformy: Zobacz Wymagania systemowe.

Nagłówka: MSCorEE.h

Biblioteki: Uwzględnione jako zasób w MSCorEE.dll

wersje .NET Framework: dostępne od wersji 2.0

Zobacz też