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
指定所要求資料的旗標。 這是選擇性參數。 支援下列可能的值,而且不互斥:
值 | 意義 |
---|---|
|
要求會保存,但不會擷取任何選項。 |
|
選項將會從伺服器擷取。 |
[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 錯誤碼。
傳回碼 | 描述 |
---|---|
|
如果 AdapterName 參數長度超過 256 個字元,則會傳回 。 |
|
如果 AdapterName 參數長度超過 256 個字元,則會傳回 。 |
備註
DHCP 用戶端會將從 DHCP 伺服器取得的資料儲存在其本機快取中。 如果 DHCP 用戶端快取包含DhcpRequestParams函式呼叫之 RecdParams陣列中要求的所有資料,則用戶端會從其快取傳回資料。 如果用戶端快取中沒有要求的資料,用戶端會藉由將 DHCP-INFORM 訊息提交至 DHCP 伺服器來處理 DhcpRequestParams 函式呼叫。
當用戶端將 DHCP-INFORM 訊息提交至 DHCP 伺服器時,它會包含選擇性 SendParams 參數中提供的任何要求,並提供 ClassId 參數中指定的類別識別碼 (識別碼) 。
用戶端也可以指定每次 DHCP 用戶端開機時,都會從 DHCP 伺服器擷取 DHCP 資料,這被視為持續性要求。 若要啟用永續性要求,呼叫端必須指定RequestIdStr參數,並在dwFlags參數中指定額外的DHCPAPI_REQUEST_PERSISTENT旗標。 當用戶端需要在每個開機時自動要求應用程式重要資訊時,這個持續性要求功能特別有用。 若要停用保存要求,用戶端必須呼叫 函式。
若要查看使用中的 DhcpRequestParams 函式,請參閱 DHCP 範例。
需求
最低支援的用戶端 | Windows 2000 專業版 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows 2000 Server [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | dhcpcsdk.h |
程式庫 | Dhcpcsvc.lib |
Dll | Dhcpcsvc.dll |