PxeProviderRecvRequest 콜백 함수
클라이언트에서 요청을 수신할 때 호출됩니다. 이 함수는 CallbackType 매개 변수가 PXE_CALLBACK_RECV_REQUEST 설정된 PxeRegisterCallback 함수를 호출하여 등록됩니다.
구문
DWORD PXEAPI PxeProviderRecvRequest(
_In_ HANDLE hClientRequest,
_In_ PVOID pPacket,
_In_ ULONG uPacketLen,
_In_ PXE_ADDRESS *pLocalAddress,
_In_ PXE_ADDRESS *pRemoteAddress,
_Out_ PXE_BOOT_ACTION pAction,
_In_ PVOID pContext
);
매개 변수
-
hClientRequest [in]
-
클라이언트에서 받은 요청에 대한 핸들입니다.
-
pPacket [in]
-
받은 패킷을 포함하는 메모리 버퍼에 대한 포인터입니다.
-
uPacketLen [in]
-
pPacket 매개 변수가 가리키는 버퍼의 길이(바이트)입니다.
-
pLocalAddress [in]
-
패킷이 수신된 로컬 주소를 포함하는 PXE_ADDRESS 구조체에 대한 포인터입니다.
-
pRemoteAddress [in]
-
패킷의 원본 주소를 포함하는 PXE_ADDRESS 구조체에 대한 포인터입니다.
-
pAction [out]
-
시스템에서 수행해야 하는 작업을 지정합니다.
값 의미 - PXE_BA_NBP
- 1
공급자가 네트워크 부팅 프로그램의 경로를 포함하는 표준 DHCP 응답 패킷을 사용하여 클라이언트에 회신했습니다. 이 작업을 반환하면 공급자가 PxeSendReply 함수를 한 번 이상 호출하여 클라이언트 요청을 성공적으로 완료했습니다. - PXE_BA_CUSTOM
- 2
공급자가 DHCP 사양을 준수하지 않는 사용자 지정 응답을 사용하여 클라이언트에 회신했습니다. 이 작업을 반환하면 공급자가 PxeSendReply 함수를 한 번 이상 호출하여 클라이언트 요청을 성공적으로 완료했습니다. - PXE_BA_IGNORE
- 3
공급자는 클라이언트 요청을 서비스하지 않으며 요청을 다음 공급자에게 전달하면 안 됩니다. 클라이언트 요청과 연결된 모든 리소스가 해제되고 클라이언트 요청이 무시됩니다. 공급자는 클라이언트를 인식하지만 요청 형식이 잘못된 경우에도 이 값을 사용할 수 있습니다. - PXE_BA_REJECTED
- 4
공급자는 클라이언트 요청을 서비스하지 않습니다. 시스템은 등록된 공급자 목록의 다음 공급자에게 요청을 전달합니다. 이 공급자가 목록의 마지막 공급자인 경우 클라이언트 요청과 연결된 모든 리소스가 해제되고 클라이언트 요청이 무시됩니다. -
pContext [in]
-
PxeRegisterCallback 함수에 전달된 컨텍스트 값입니다.
반환 값
공급자가 클라이언트 요청을 성공적으로 처리한 경우 콜백은 ERROR_SUCCESS 반환해야 하며 pAction 매개 변수가 가리키는 PXE_BOOT_ACTION 이 요청에 대한 적절한 부팅 작업을 포함합니다. 공급자가 클라이언트 요청을 비동기적으로 처리하는 경우 콜백은 ERROR_IO_PENDING 반환하고 클라이언트 요청이 처리될 때 PxeAsyncRecvDone 함수를 호출해야 합니다. 오류가 발생할 경우 적절한 오류 코드가 반환되고 PXE_BA_REJECTED 부팅 작업이 지정된 것처럼 시스템이 진행됩니다.
설명
공급자가 볼 수 있는 패킷 유형은 PxeProviderSetAttribute 함수를 사용하여 변경할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 |
지원되는 버전 없음 |
지원되는 최소 서버 |
Windows Server 2008, Windows Server 2003 SP2 [데스크톱 앱만 해당] |