PxeDhcpIsValid 함수(wdspxe.h)
패킷이 DHCP 패킷인지 확인합니다.
구문
DWORD PXEAPI PxeDhcpIsValid(
[in] PVOID pPacket,
[in] ULONG uPacketLen,
[in] BOOL bRequestPacket,
[out] PBOOL pbPxeOptionPresent
);
매개 변수
[in] pPacket
PxePacketAllocate 함수를 사용하여 할당된 회신 패킷에 대한 포인터입니다.
[in] uPacketLen
pPacket 매개 변수가 가리키는 패킷의 길이입니다.
[in] bRequestPacket
패킷이 요청 패킷인지 여부를 나타냅니다. 다음 표에서 가능한 값을 나열합니다.
값 | 의미 |
---|---|
|
유효성을 검사할 패킷은 클라이언트의 요청 패킷입니다. |
|
유효성을 검사할 패킷은 서버에서 생성된 패킷입니다. |
[out] pbPxeOptionPresent
패킷이 "PXEClient"로 설정된 공급업체 클래스 식별자 옵션(60)을 포함하는 유효한 DHCP 패킷인 경우 TRUE로 설정된 BOOL의 주소입니다.
반환 값
함수가 성공하면 반환 값이 ERROR_SUCCESS.
설명
지정된 패킷이 유효한 DHCP 패킷인지 확인하기 위해 PxeProviderSetAttribute 함수로 설정된 필터가 모든 패킷을 수신하도록 설정된 경우 공급자는 이 함수를 사용합니다. 공급자는 이 함수를 사용하여 회신 패킷의 유효성을 검사할 수도 있습니다. 일반적으로 이 작업은 공급자의 디버그 또는 테스트 빌드에 대해서만 수행됩니다.
유효성 검사 테스트에는 다음 테스트가 포함됩니다.
DHCP 필드 | 초기화된 값 |
---|---|
작업(op) | bClientRequest 매개 변수가 TRUE이면 이 필드는 1(BOOTP 요청)이어야 합니다. 그렇지 않으면 이 필드는 2(BOOTP 회신)여야 합니다. |
하드웨어 주소 길이(hlen) | 16보다 작거나 같아야 합니다. |
호스트 이름(sname) | NULL을 종료해야 합니다. |
부팅 파일 이름(파일) | NULL을 종료해야 합니다. |
매직 쿠키(처음 4개 8진수) | 유효한 DHCP 매직 쿠키(99 130 83 99)를 포함해야 합니다. |
옵션 길이 | 모든 옵션은 길이가 유효해야 하며 패킷을 오버런하지 않아야 합니다. |
DHCP 메시지 유형(53) | 반드시 있어야 합니다. |
종료 옵션(255) | 패킷은 DHCP 종료 옵션으로 끝나야 합니다. 최소 패킷 길이로 인해 패킷이 더 클 수 있지만 종료 옵션을 따르는 옵션은 없습니다. |
요구 사항
지원되는 최소 클라이언트 | 지원되는 버전 없음 |
지원되는 최소 서버 | Windows Server 2008, Windows Server 2003 SP2 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | wdspxe.h |
라이브러리 | WdsPxe.lib |
DLL | WdsPxe.dll |