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 메시지가 네트워크로 전송되는 경우 사용해야 하는 클래스 식별자(ID)입니다. 이 매개 변수는 선택 사항입니다.
[in] SendParams
RecdParams 배열에서 요청된 데이터 외에 요청될 선택적 데이터입니다. SendParams 매개 변수는 DHCP 클라이언트가 기본적으로 보내는 표준 옵션을 포함할 수 없습니다.
[in, out] RecdParams
호출자가 수신하려는 DHCP 데이터의 배열입니다. 이 배열은 DhcpRequestParams 함수 호출 전에 비어 있어야 합니다.
[in] Buffer
RecdParams에서 수행한 요청과 연결된 데이터를 저장하는 데 사용되는 버퍼입니다.
[in, out] pSize
버퍼의 크기입니다.
데이터를 저장할 크기가 충분하지 않은 경우 버퍼의 필수 크기이며, 그렇지 않으면 성공적으로 채워진 버퍼의 크기를 나타냅니다.
[in] RequestIdStr
영구 요청을 용이하게 하는 데 사용되는 애플리케이션 식별자(ID)입니다. 특수 문자가 없는 인쇄 가능한 문자열이어야 합니다(쉼표, 백슬라시, 콜론 또는 기타 잘못된 문자를 사용할 수 없음). 지정된 애플리케이션 식별자(ID)는 필요에 따라 영구 요청을 지우기 위해 후속 DhcpUndoRequestParams 함수 호출에 사용됩니다.
반환 값
성공적으로 완료되면 ERROR_SUCCESS 반환합니다.
반환되면 RecdParams 는 버퍼에 배치된 해당 데이터와 함께 요청된 데이터에 대한 포인터로 채워집니다. pSize가 버퍼에 반환된 데이터를 저장할 공간이 충분하지 않다고 나타내는 경우 DhcpRequestParams 함수는 ERROR_MORE_DATA 반환하고 pSize에서 필요한 버퍼 크기를 반환합니다. 버퍼의 필수 크기는 초기 함수 호출의 반환과 후속 호출 사이에 경과하는 시간 동안 증가할 수 있습니다. 따라서 버퍼의 필수 크기(pSize로 표시됨)는 버퍼가 pSize에 표시된 크기로 설정된 경우 후속 호출이 성공적으로 반환되도록 보장하지 않고 버퍼에 필요한 대략적인 크기를 나타냅니다.
다른 오류는 적절한 Windows 오류 코드를 반환합니다.
반환 코드 | 설명 |
---|---|
|
AdapterName 매개 변수의 길이가 256자를 초과하면 반환됩니다. |
|
AdapterName 매개 변수의 길이가 256자를 초과하면 반환됩니다. |
설명
DHCP 클라이언트는 DHCP 서버에서 가져온 데이터를 로컬 캐시에 저장합니다. DHCP 클라이언트 캐시에 DhcpRequestParams 함수 호출의 RecdParams 배열에 요청된 모든 데이터가 포함된 경우 클라이언트는 캐시에서 데이터를 반환합니다. 클라이언트 캐시에서 요청된 데이터를 사용할 수 없는 경우 클라이언트는 DHCP-INFORM 메시지를 DHCP 서버에 제출하여 DhcpRequestParams 함수 호출을 처리합니다.
클라이언트가 DHCP 서버에 DHCP-INFORM 메시지를 제출하면 선택적 SendParams 매개 변수에 제공된 모든 요청이 포함되며 제공된 경우 ClassId 매개 변수에 지정된 클래스 식별자(ID)를 제공합니다.
또한 클라이언트는 영구 요청으로 간주되는 DHCP 클라이언트가 부팅될 때마다 DHCP 서버에서 DHCP 데이터를 검색할 수 있도록 지정할 수도 있습니다. 영구 요청을 사용하도록 설정하려면 호출자가 RequestIdStr 매개 변수를 지정하고 dwFlags 매개 변수에 추가 DHCPAPI_REQUEST_PERSISTENT 플래그를 지정해야 합니다. 이 영구 요청 기능은 클라이언트가 각 부팅 시 애플리케이션에 중요한 정보를 자동으로 요청해야 하는 경우에 특히 유용합니다. 지속 요청을 사용하지 않도록 설정하려면 클라이언트가 함수를 호출해야 합니다.
사용 중인 DhcpRequestParams 함수를 보려면 DHCP 예제를 참조하세요.
요구 사항
지원되는 최소 클라이언트 | Windows 2000 Professional [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows 2000 Server [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | dhcpcsdk.h |
라이브러리 | Dhcpcsvc.lib |
DLL | Dhcpcsvc.dll |