Win32 API 日本語リファレンス
ホーム › NetworkManagement.Dhcp › LPDHCP_NEWPKT

LPDHCP_NEWPKT

コールバック

シグネチャ

DWORD LPDHCP_NEWPKT(
    BYTE** Packet,
    DWORD* PacketSize,
    DWORD IpAddress,
    void* Reserved,
    void** PktContext,
    BOOL* ProcessIt
);

パラメーター

フィールド型説明
PacketBYTE**

パケットを格納する 4Kb の文字バッファーへのポインターです。

メモ このバッファーに直接書き込むことは推奨されません。
PacketSizeDWORD*Packet パラメーターのサイズへのポインターです。
IpAddressDWORDパケットを受信したソケットの IP アドレスへのポインターです。IP アドレスはホストバイトオーダーで格納されています。
Reservedvoid*将来の使用のために予約されています。
PktContextvoid**サードパーティ製 DLL が提供するポインターで、Microsoft DHCP Server がこの特定のパケットを以後参照する際に使用します。このような追跡を行うサードパーティ製 DLL は、このパケットコンテキストの提供と管理に責任を持ちます。
ProcessItBOOL*Microsoft DHCP Server がパケットの処理を続行するかどうかを示すフラグです。処理を続行する場合は TRUE を設定します。Microsoft DHCP Server にパケットを破棄させる場合は FALSE を設定します。

公式ドキュメント

DhcpNewPktHook 関数は、処理対象の DHCP パケットを受信した直後に Microsoft DHCP Server によって呼び出されます。 DhcpNewPktHook 関数の呼び出しは Microsoft DHCP Server の処理のクリティカルパス上にあるため、この関数は可能な限り速やかに実行して復帰する必要があります。そうしないとパフォーマンスに影響します。

DhcpNewPktHook 関数は、Microsoft DHCP Server の重要なイベントの通知を受け取るために登録されたサードパーティ製 DLL によって実装されます。

戻り値

戻り値は、コールバックを提供するアプリケーションによって定義されます。

解説(Remarks)

必要に応じて、サードパーティ製 DLL は Packet バッファーを変更したり、Packet パラメーターと PacketSize パラメーターを適切に変更することで新しいパケットバッファーを返したりできます。

サードパーティ製 DLL が特定のパケットと Microsoft DHCP Server 内でのその処理経過を追跡する必要がある場合は、PktContext にパケットコンテキストを指定し、DHCP 処理におけるパケットの進行状況を追跡する内部構造体を使用できます。PktContext で指定されたコンテキストは、他の多くの DHCP Server API 関数にパラメーターとして渡されるため、パケットを識別できます。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)