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 には、要求されたデータへのポインターが入力され、対応するデータが Buffer に配置されます。 pSize が返されたデータを格納するための領域がバッファーに不足していることを示す場合、DhcpRequestParams 関数はERROR_MORE_DATAを返し、pSize で必要なバッファー サイズを返します。 Buffer の必要なサイズは、最初の関数呼び出しの戻り値と後続の呼び出しの間に経過する間に増加する可能性があることに注意してください。したがって、Buffer の必要なサイズ (pSize で示されます) は、Buffer が pSize で示されているサイズに設定されている場合に後続の呼び出しが正常に返されることを保証するのではなく、Buffer に必要なおおよそのサイズを示します。
その他のエラーでは、適切な Windows エラー コードが返されます。
リターン コード | 説明 |
---|---|
|
AdapterName パラメーターの長さが 256 文字を超える場合に返されます。 |
|
AdapterName パラメーターの長さが 256 文字を超える場合に返されます。 |
解説
DHCP クライアントは、DHCP サーバーから取得したデータをローカル キャッシュに格納します。 DHCP クライアント キャッシュに、DhcpRequestParams 関数呼び出しの RecdParams 配列で要求されたすべてのデータが含まれている場合、クライアントはそのキャッシュからデータを返します。 要求されたデータがクライアント キャッシュで使用できない場合、クライアントは DHCP サーバーに DHCP-INFORM メッセージを送信することによって DhcpRequestParams 関数呼び出しを処理します。
クライアントが DHCP-INFORM メッセージを DHCP サーバーに送信すると、オプションの SendParams パラメーターに指定された要求が含まれており、指定されている場合は ClassId パラメーターで指定されたクラス識別子 (ID) が提供されます。
クライアントは、DHCP クライアントが起動するたびに DHCP サーバーから DHCP データを取得するように指定することもできます。これは永続的な要求と見なされます。 永続的な要求を有効にするには、呼び出し元で RequestIdStr パラメーターを指定し、dwFlags パラメーターに追加のDHCPAPI_REQUEST_PERSISTENT フラグを指定する必要があります。 この永続的な要求機能は、クライアントが起動時にアプリケーションクリティカルな情報を自動的に要求する必要がある場合に特に便利です。 永続化要求を無効にするには、クライアントが 関数を呼び出す必要があります。
使用中の DhcpRequestParams 関数を確認するには、「DHCP の例」を参照してください。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | dhcpcsdk.h |
Library | Dhcpcsvc.lib |
[DLL] | Dhcpcsvc.dll |