Fungsi panggilan balik SpAcquireCredentialsHandleFn (ntsecpkg.h)

Dipanggil untuk mendapatkan handel ke kredensial utama. Paket keamanan dapat menolak akses ke pemanggil jika pemanggil tidak memiliki izin untuk mengakses kredensial.

Jika handel kredensial dikembalikan ke pemanggil, paket juga harus menentukan waktu kedaluwarsa untuk handel.

Sintaks

SpAcquireCredentialsHandleFn Spacquirecredentialshandlefn;

NTSTATUS Spacquirecredentialshandlefn(
  [in]  PUNICODE_STRING PrincipalName,
  [in]  ULONG CredentialUseFlags,
  [in]  PLUID LogonId,
  [in]  PVOID AuthorizationData,
        PVOID GetKeyFunciton,
  [in]  PVOID GetKeyArgument,
  [out] PLSA_SEC_HANDLE CredentialHandle,
  [out] PTimeStamp ExpirationTime
)
{...}

Parameter

[in] PrincipalName

Opsional. Arahkan ke struktur UNICODE_STRING yang berisi nama prinsip keamanan yang kredensialnya diminta. Jika nilai ini NULL, pemanggil meminta handel ke kredensial pengguna yang konteks keamanannya dijalankan pemanggil.

[in] CredentialUseFlags

Bendera yang menunjukkan bagaimana kredensial akan digunakan. Nilai berikut ini valid.

Nilai Makna
SECPKG_CRED_INBOUND
Kredensial akan digunakan dengan fungsi AcceptSecurityContext (Umum).
SECPKG_CRED_OUTBOUND
Kredensial akan digunakan dengan fungsi InitializeSecurityContext (Umum ).

[in] LogonId

Opsional. Penunjuk ke LUID yang berisi pengidentifikasi masuk dari prinsip keamanan.

[in] AuthorizationData

Pilihan. Penunjuk ke data autentikasi tambahan.

GetKeyFunciton

[in] GetKeyArgument

Penunjuk ke argumen yang digunakan dengan fungsi GetKeyFunction .

[out] CredentialHandle

Arahkan ke LSA_SEC_HANDLE yang menerima kredensial. Setelah Anda selesai menggunakan kredensial, bebaskan handel dengan memanggil fungsi SpFreeCredentialsHandle .

[out] ExpirationTime

Penunjuk ke Tanda Waktu yang menerima waktu penanganan kredensial kedaluwarsa.

Mengembalikan nilai

Jika fungsi berhasil, kembalikan STATUS_SUCCESS.

Jika fungsi gagal, kembalikan kode NTSTATUS yang menunjukkan alasan gagalnya. Tabel berikut ini mencantumkan alasan umum kegagalan dan kode kesalahan yang harus dikembalikan.

Menampilkan kode Deskripsi
SEC_E_NOT_OWNER
Pemanggil ditolak aksesnya.
SEC_E_NO_CREDENTIALS
Tidak ada kredensial yang tersedia untuk prinsipal yang ditentukan.

Keterangan

Paket dapat menggunakan fungsi dukungan Otoritas Keamanan Lokal (LSA) untuk menentukan apakah pemanggil harus diberikan akses ke kredensial yang diminta.

Kredensial yang diperoleh dari SpAcquireCredentialsHandle dikosongkan dengan memanggil fungsi SpFreeCredentialsHandle .

SSP/APs harus mengimplementasikan fungsi SpAcquireCredentialsHandle ; namun, nama aktual yang diberikan untuk implementasi terserah pengembang.

Penunjuk ke fungsi SpAcquireCredentialsHandle tersedia dalam struktur SECPKG_FUNCTION_TABLE yang diterima dari fungsi SpLsaModeInitialize .

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header ntsecpkg.h

Lihat juga

SECPKG_FUNCTION_TABLE

SpFreeCredentialsHandle

SpLsaModeInitialize