共用方式為


dhcpRequestParams 函式 (dhcpcsdk.h)

DhcpRequestParams函式可讓呼叫端同步或同步且持續地從 DHCP 伺服器取得 DHCP 資料。

語法

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
);

參數

[in] Flags

指定所要求資料的旗標。 這是選擇性參數。 支援下列可能的值,而且不互斥:

意義
DHCPCAPI_REQUEST_PERSISTENT
要求會保存,但不會擷取任何選項。
DHCPCAPI_REQUEST_SYNCHRONOUS
選項將會從伺服器擷取。

[in] Reserved

保留供未來使用。 必須設定為 Null

[in] AdapterName

正在提出要求資料之配接器的 GUID。 必須低於 256 個字元。

[in] ClassId

類別識別碼 (識別碼) ,當 DHCP INFORM 訊息傳輸至網路時,應該使用此識別碼。 這是選擇性參數。

[in] SendParams

除了 RecdParams 陣列中要求的資料之外,要要求選擇性的資料。 SendParams參數不能包含 DHCP 用戶端預設傳送的任何標準選項。

[in, out] RecdParams

呼叫端想要接收的 DHCP 資料陣列。 在 DhcpRequestParams 函式呼叫之前,此陣列必須是空的。

[in] Buffer

緩衝區,用於儲存與 RecdParams中提出的要求相關聯的資料。

[in, out] pSize

緩衝區的大小。

緩衝區的必要大小,如果大小不足而無法保存資料,則為 ,否則會指出已成功填滿的緩衝區大小。

[in] RequestIdStr

用來協助持續要求的應用程式識別碼 (識別碼) 。 必須是沒有特殊字元的可列印字串, (逗號、反斜線、冒號或其他不合法的字元可能無法) 使用。 指定的應用程式識別碼 (識別碼) 用於後續 的 DhcpUndoRequestParams 函式呼叫中,視需要清除永續性要求。

傳回值

成功完成時傳回ERROR_SUCCESS。

傳回時, RecdParams 會填入所要求資料的指標,以及放在 Buffer中的對應資料。 如果 pSize 指出 Buffer 的空間不足而無法儲存傳回的資料, DhcpRequestParams 函式會傳回ERROR_MORE_DATA,並在 pSize中傳回所需的緩衝區大小。 請注意,在初始函式呼叫的傳回和後續呼叫之間經過的時間,緩衝區的必要大小可能會增加;因此,在 pSize) 中指出的Buffer (所需的必要大小,而不是保證如果Buffer設定為pSize中所指示的大小,後續呼叫將會成功傳回。

其他錯誤會傳回適當的 Windows 錯誤碼。

傳回碼 描述
ERROR_INVALID_PARAMETER
如果 AdapterName 參數長度超過 256 個字元,則會傳回 。
ERROR_BUFFER_OVERFLOW
如果 AdapterName 參數長度超過 256 個字元,則會傳回 。

備註

DHCP 用戶端會將從 DHCP 伺服器取得的資料儲存在其本機快取中。 如果 DHCP 用戶端快取包含DhcpRequestParams函式呼叫之 RecdParams陣列中要求的所有資料,則用戶端會從其快取傳回資料。 如果用戶端快取中沒有要求的資料,用戶端會藉由將 DHCP-INFORM 訊息提交至 DHCP 伺服器來處理 DhcpRequestParams 函式呼叫。

當用戶端將 DHCP-INFORM 訊息提交至 DHCP 伺服器時,它會包含選擇性 SendParams 參數中提供的任何要求,並提供 ClassId 參數中指定的類別識別碼 (識別碼) 。

用戶端也可以指定每次 DHCP 用戶端開機時,都會從 DHCP 伺服器擷取 DHCP 資料,這被視為持續性要求。 若要啟用永續性要求,呼叫端必須指定RequestIdStr參數,並在dwFlags參數中指定額外的DHCPAPI_REQUEST_PERSISTENT旗標。 當用戶端需要在每個開機時自動要求應用程式重要資訊時,這個持續性要求功能特別有用。 若要停用保存要求,用戶端必須呼叫 函式。

注意 此 API 的呼叫端不得對此 API 進行封鎖呼叫,因為最多可能需要 2 分鐘的時間才能傳回程序代碼或狀態。 特別是 UI 行為不應封鎖此呼叫的傳回,因為它可能會造成 UI 回應時間的重大延遲。
 
如需 DHCP INFORM 訊息的詳細資訊,以及 DHCP 的其他標準型資訊,請參閱 DHCP 標準

若要查看使用中的 DhcpRequestParams 函式,請參閱 DHCP 範例

需求

   
最低支援的用戶端 Windows 2000 專業版 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows 2000 Server [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 dhcpcsdk.h
程式庫 Dhcpcsvc.lib
Dll Dhcpcsvc.dll

另請參閱

DHCP 函式

DHCPCAPI_PARAMS_ARRAY

DhcpCApiInitialize

DhcpUndoRequestParams