Fungsi panggilan balik SpAcceptLsaModeContextFn (ntsecpkg.h)

Fungsi pengiriman server yang digunakan untuk membuat konteks keamanan yang dibagikan oleh server dan klien.

Fungsi SpAcceptLsaModeContext dipanggil ketika server memanggil fungsi AcceptSecurityContext (Umum) dari Antarmuka Penyedia Dukungan Keamanan.

Sintaks

SpAcceptLsaModeContextFn Spacceptlsamodecontextfn;

NTSTATUS Spacceptlsamodecontextfn(
  [in]  LSA_SEC_HANDLE CredentialHandle,
  [in]  LSA_SEC_HANDLE ContextHandle,
  [in]  PSecBufferDesc InputBuffer,
  [in]  ULONG ContextRequirements,
  [in]  ULONG TargetDataRep,
  [out] PLSA_SEC_HANDLE NewContextHandle,
  [out] PSecBufferDesc OutputBuffer,
  [out] PULONG ContextAttributes,
  [out] PTimeStamp ExpirationTime,
  [out] PBOOLEAN MappedContext,
  [out] PSecBuffer ContextData
)
{...}

Parameter

[in] CredentialHandle

Opsional. Tangani kredensial yang akan digunakan untuk konteks.

[in] ContextHandle

Pilihan. Menangani konteks saat ini.

[in] InputBuffer

Penunjuk ke struktur SecBufferDesc yang berisi informasi dari klien.

[in] ContextRequirements

Bendera yang menunjukkan persyaratan konteks. Tabel berikut mendaftar nilai-nilai yang valid.

Nilai Makna
ASC_REQ_DELEGATE
Server diizinkan untuk meniru klien.
ASC_REQ_MUTUAL_AUTH
Klien dan server diperlukan untuk membuktikan identitas mereka.
ASC_REQ_REPLAY_DETECT
Konteks keamanan akan mendukung deteksi paket yang diputar ulang.
ASC_REQ_SEQUENCE_DETECT
Konteks keamanan akan mendukung deteksi pesan yang tidak berurutan.
ASC_REQ_USE_SESSION_KEY
Kunci sesi baru harus dinegosiasikan.
ASC_REQ_PROMPT_FOR_CREDS
Jika klien adalah pengguna interaktif, paket harus, jika memungkinkan, meminta kredensial yang sesuai kepada pengguna.
ASC_REQ_USE_SUPPLIED_CREDS
Buffer input berisi informasi kredensial khusus paket yang harus digunakan untuk mengautentikasi koneksi.
ASC_REQ_ALLOCATE_MEMORY
Paket harus mengalokasikan memori. Pemanggil akhirnya harus memanggil fungsi FreeContextBuffer untuk membebaskan memori yang dialokasikan oleh paket keamanan.
ASC_REQ_USE_DCE_STYLE
Pemanggil mengharapkan transaksi autentikasi timbal balik tiga kaki.
ASC_REQ_DATAGRAM
Saluran komunikasi jenis datagram harus digunakan. Untuk informasi selengkapnya, lihat Konteks Datagram.
ASC_REQ_CONNECTION
Saluran komunikasi jenis koneksi harus digunakan. Untuk informasi selengkapnya lihat Konteks Berorientasi Koneksi.
ASC_REQ_EXTENDED_ERROR
Jika konteks gagal, buat pesan balasan kesalahan untuk dikirim kembali ke klien.
ASC_REQ_STREAM
Saluran komunikasi jenis aliran harus digunakan. Untuk informasi selengkapnya, lihat konteks Stream.
ASC_REQ_INTEGRITY
Integritas buffer dapat diverifikasi; namun, pesan yang diputar ulang dan tidak berurutan tidak akan terdeteksi.

[in] TargetDataRep

Bendera yang menunjukkan representasi data, seperti pengurutan byte, untuk digunakan. Berisi SECURITY_NATIVE_DREP atau SECURITY_NETWORK_DREP.

[out] NewContextHandle

Arahkan ke LSA_SEC_HANDLE. Pada panggilan pertama ke AcceptSecurityContext, pointer ini menerima handel konteks baru. Pada panggilan berikutnya, NewContextHandle dapat sama dengan handel yang ditentukan dalam parameter ContextHandle .

[out] OutputBuffer

Penunjuk ke struktur SecBufferDesc yang menerima informasi yang akan dikirim ke klien.

[out] ContextAttributes

Penunjuk ke bendera yang menentukan atribut konteks yang didukung server. Untuk daftar nilai yang valid, lihat parameter ContextRequirements .

[out] ExpirationTime

Penunjuk ke Tanda Waktu yang menerima waktu kedaluwarsa untuk konteks tersebut.

[out] MappedContext

Penunjuk ke nilai Boolean. Atur MappedContext ke TRUE jika paket keamanan mengimplementasikan fungsi SSP/AP mode pengguna.

[out] ContextData

Pilihan. Penunjuk ke struktur SecBuffer yang menerima data khusus konteks untuk disalin saat membuat konteks keamanan mode pengguna. Memori untuk ContextData harus dialokasikan menggunakan fungsi AllocateLsaHeap . Otoritas Keamanan Lokal (LSA) akan membebaskan memori.

Mengembalikan nilai

Jika fungsi SpAcceptLsaModeContext berhasil dan tidak ada lagi pemrosesan yang diperlukan untuk menetapkan konteks keamanan, kembalikan STATUS_SUCCESS. Jika pemrosesan tambahan diperlukan, fungsi harus mengembalikan SEC_I_CONTINUE_NEEDED.

Jika fungsi gagal membuat konteks keamanan karena alasan lain, kembalikan kode NTSTATUS yang menunjukkan alasannya.

Keterangan

SpInitLsaModeContext adalah fungsi sisi klien untuk membuat konteks keamanan.

SSP/APs harus mengimplementasikan fungsi SpAcceptLsaModeContext . Nama aktual yang diberikan untuk implementasi terserah pengembang.

Penunjuk ke fungsi SpAcceptLsaModeContext 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

AllocateLsaHeap

SpInitLsaModeContext

SpLsaModeInitialize