Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Aplikasi dapat memanggil fungsi AuthzGetInformationFromContext untuk mengkueri informasi tentang konteks klien yang ada.
Parameter InfoClass dari fungsi AuthzGetInformationFromContext mengambil nilai dari enumerasi AUTHZ_CONTEXT_INFORMATION_CLASS yang menentukan jenis informasi apa yang dikueri fungsi.
Variabel atribut keamanan harus ada dalam konteks klien jika dirujuk dalam ekspresi kondisi; jika tidak, istilah ekspresi bersyariah yang mereferensikannya akan dievaluasi sebagai tidak diketahui. Untuk informasi selengkapnya tentang ekspresi kondisional, lihat topik Bahasa Definisi Deskriptor Keamanan untuk ACE Bersyarah .
Contoh
Contoh berikut meminta konteks klien yang dibuat dalam contoh dari Menginisialisasi Konteks Klien untuk mengambil daftar SID grup yang terkait dengan konteks klien tersebut.
BOOL GetGroupsFromContext(AUTHZ_CLIENT_CONTEXT_HANDLE hClientContext)
{
DWORD cbSize = 0;
PTOKEN_GROUPS pTokenGroups=NULL;
LPTSTR StringSid = NULL;
BOOL bResult = FALSE;
int i = 0;
//Call the AuthzGetInformationFromContext function with a NULL output buffer to get the required buffer size.
AuthzGetInformationFromContext(hClientContext, AuthzContextInfoGroupsSids, 0, &cbSize, NULL);
//Allocate the buffer for the TOKEN_GROUPS structure.
pTokenGroups = (PTOKEN_GROUPS)malloc(cbSize);
if (!pTokenGroups)
return FALSE;
//Get the SIDs of groups associated with the client context.
if(!AuthzGetInformationFromContext(hClientContext, AuthzContextInfoGroupsSids, cbSize, &cbSize, pTokenGroups))
{
printf_s("AuthzGetInformationFromContext failed with %d\n", GetLastError);
free(pTokenGroups);
return FALSE;
}
//Enumerate and display the group SIDs.
for (i=pTokenGroups->GroupCount-1; i >= 0; --i)
{
//Convert a SID to a string.
if(!ConvertSidToStringSid(
pTokenGroups->Groups[i].Sid,
&StringSid
))
{
LocalFree(StringSid);
return FALSE;
}
wprintf_s(L"%s \n", StringSid);
}
free(pTokenGroups);
return TRUE;
}
Topik terkait