Fungsi DhcpRequestParams (dhcpcsdk.h)

Fungsi DhcpRequestParams memungkinkan penelepon untuk secara sinkron, atau sinkron dan terus-menerus mendapatkan data DHCP dari server DHCP.

Sintaks

DWORD DhcpRequestParams(
  [in]      DWORD                 Flags,
  [in]      LPVOID                Reserved,
  [in]      LPWSTR                AdapterName,
  [in]      LPDHCPCAPI_CLASSID    ClassId,
  [in]      DHCPCAPI_PARAMS_ARRAY SendParams,
  [in, out] DHCPCAPI_PARAMS_ARRAY RecdParams,
  [in]      LPBYTE                Buffer,
  [in, out] LPDWORD               pSize,
  [in]      LPWSTR                RequestIdStr
);

Parameter

[in] Flags

Bendera yang menentukan data yang diminta. Parameter ini bersifat opsional. Nilai-nilai berikut yang mungkin didukung dan tidak saling eksklusif:

Nilai Makna
DHCPCAPI_REQUEST_PERSISTENT
Permintaan tetap ada tetapi tidak ada opsi yang diambil.
DHCPCAPI_REQUEST_SYNCHRONOUS
Opsi akan diambil dari server.

[in] Reserved

Disiapkan untuk penggunaan masa mendatang. Harus diatur ke NULL.

[in] AdapterName

GUID adaptor tempat data yang diminta sedang dibuat. Harus di bawah 256 karakter.

[in] ClassId

Pengidentifikasi kelas (ID) yang harus digunakan jika pesan INFORM DHCP dikirimkan ke jaringan. Parameter ini bersifat opsional.

[in] SendParams

Data opsional yang akan diminta, selain data yang diminta dalam array RecdParams . Parameter SendParams tidak boleh berisi salah satu opsi standar yang dikirim klien DHCP secara default.

[in, out] RecdParams

Array data DHCP pemanggil tertarik untuk menerima. Array ini harus kosong sebelum panggilan fungsi DhcpRequestParams .

[in] Buffer

Buffer yang digunakan untuk menyimpan data yang terkait dengan permintaan yang dibuat di RecdParams.

[in, out] pSize

Ukuran Buffer.

Ukuran buffer yang diperlukan, jika ukurannya tidak cukup untuk menyimpan data, jika tidak menunjukkan ukuran buffer yang berhasil diisi.

[in] RequestIdStr

Pengidentifikasi aplikasi (ID) yang digunakan untuk memfasilitasi permintaan persisten. Harus berupa string yang dapat dicetak tanpa karakter khusus (koma, garis miring terbalik, titik dua, atau karakter ilegal lainnya tidak dapat digunakan). Pengidentifikasi aplikasi (ID) yang ditentukan digunakan dalam panggilan fungsi DhcpUndoRequestParams berikutnya untuk menghapus permintaan persisten, seperlunya.

Menampilkan nilai

Mengembalikan ERROR_SUCCESS setelah berhasil diselesaikan.

Setelah kembali, RecdParams diisi dengan pointer ke data yang diminta, dengan data yang sesuai ditempatkan di Buffer. Jika pSize menunjukkan bahwa Buffer memiliki ruang yang tidak mencukupi untuk menyimpan data yang dikembalikan, fungsi DhcpRequestParams mengembalikan ERROR_MORE_DATA, dan mengembalikan ukuran buffer yang diperlukan dalam pSize. Perhatikan bahwa ukuran Buffer yang diperlukan dapat meningkat selama waktu yang berlalu antara pengembalian panggilan fungsi awal dan panggilan berikutnya; oleh karena itu, ukuran Buffer yang diperlukan (ditunjukkan dalam pSize) memberikan indikasi perkiraan ukuran yang diperlukan Buffer, daripada menjamin bahwa panggilan berikutnya akan berhasil ditampilkan jika Buffer diatur ke ukuran yang ditunjukkan dalam pSize.

Kesalahan lain mengembalikan kode galat Windows yang sesuai.

Menampilkan kode Deskripsi
ERROR_INVALID_PARAMETER
Dikembalikan jika parameter AdapterName memiliki panjang lebih dari 256 karakter.
ERROR_BUFFER_OVERFLOW
Dikembalikan jika parameter AdapterName memiliki panjang lebih dari 256 karakter.

Keterangan

Klien DHCP menyimpan data yang diperoleh dari server DHCP di cache lokal mereka. Jika cache klien DHCP berisi semua data yang diminta dalam array RecdParams dari panggilan fungsi DhcpRequestParams , klien mengembalikan data dari cache-nya. Jika data yang diminta tidak tersedia di cache klien, klien memproses panggilan fungsi DhcpRequestParams dengan mengirimkan pesan DHCP-INFORM ke server DHCP.

Ketika klien mengirimkan pesan DHCP-INFORM ke server DHCP, klien menyertakan permintaan apa pun yang disediakan dalam parameter SendParams opsional, dan menyediakan Pengidentifikasi kelas (ID) yang ditentukan dalam parameter ClassId , jika disediakan.

Klien juga dapat menentukan bahwa data DHCP diambil dari server DHCP setiap kali klien DHCP boot, yang dianggap sebagai permintaan persisten. Untuk mengaktifkan permintaan persisten, pemanggil harus menentukan parameter RequestIdStr , dan juga menentukan bendera DHCPAPI_REQUEST_PERSISTENT tambahan dalam parameter dwFlags . Kemampuan permintaan persisten ini sangat berguna ketika klien perlu secara otomatis meminta informasi penting aplikasi di setiap boot. Untuk menonaktifkan permintaan yang bertahan, klien harus memanggil fungsi .

Catatan Penelepon API ini tidak boleh melakukan panggilan pemblokiran ke API ini, karena dapat memakan waktu hingga maksimal 2 menit untuk mengembalikan kode atau status. Perilaku UI khususnya tidak boleh memblokir pengembalian panggilan ini, karena dapat menyebabkan penundaan waktu respons UI yang signifikan.
 
Untuk informasi selengkapnya tentang pesan INFORM DHCP, dan informasi berbasis standar lainnya tentang DHCP, lihat Standar DHCP.

Untuk melihat fungsi DhcpRequestParams yang digunakan, lihat Contoh DHCP.

Persyaratan

   
Klien minimum yang didukung Windows 2000 Professional [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows 2000 Server [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header dhcpcsdk.h
Pustaka Dhcpcsvc.lib
DLL Dhcpcsvc.dll

Lihat juga

Fungsi DHCP

DHCPCAPI_PARAMS_ARRAY

DhcpCApiInitialize

DhcpUndoRequestParams