Función DhcpRequestParams (dhcpcsdk.h)
La función DhcpRequestParams permite a los autores de llamadas obtener datos DHCP de forma sincrónica o sincrónica y persistente de un servidor DHCP.
Sintaxis
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
);
Parámetros
[in] Flags
Marcas que especifican los datos que se solicitan. Este parámetro es opcional. Se admiten los siguientes valores posibles y no son mutuamente excluyentes:
Valor | Significado |
---|---|
|
La solicitud se conserva, pero no se captura ninguna opción. |
|
Las opciones se capturarán desde el servidor. |
[in] Reserved
Reservado para uso futuro. Debe establecerse en NULL.
[in] AdapterName
GUID del adaptador en el que se realizan los datos solicitados. Debe tener menos de 256 caracteres.
[in] ClassId
Identificador de clase (ID) que se debe usar si se transmiten mensajes DHCP INFORM a la red. Este parámetro es opcional.
[in] SendParams
Datos opcionales que se van a solicitar, además de los datos solicitados en la matriz RecdParams . El parámetro SendParams no puede contener ninguna de las opciones estándar que el cliente DHCP envía de forma predeterminada.
[in, out] RecdParams
Matriz de datos DHCP que el autor de la llamada está interesado en recibir. Esta matriz debe estar vacía antes de la llamada a la función DhcpRequestParams .
[in] Buffer
Búfer usado para almacenar los datos asociados a las solicitudes realizadas en RecdParams.
[in, out] pSize
Tamaño del búfer.
Tamaño necesario del búfer, si no tiene el tamaño suficiente para contener los datos; de lo contrario, indica el tamaño del búfer que se llenó correctamente.
[in] RequestIdStr
Identificador de aplicación (ID) usado para facilitar una solicitud persistente. Debe ser una cadena imprimible sin caracteres especiales (no se pueden usar comas, barras diagonales inversas, dos puntos u otros caracteres no válidos). El identificador de aplicación (ID) especificado se usa en una llamada de función DhcpUndoRequestParams posterior para borrar la solicitud persistente, según sea necesario.
Valor devuelto
Devuelve ERROR_SUCCESS tras la finalización correcta.
Tras la devolución, RecdParams se rellena con punteros a los datos solicitados, con los datos correspondientes colocados en buffer. Si pSize indica que buffer no tiene espacio suficiente para almacenar los datos devueltos, la función DhcpRequestParams devuelve ERROR_MORE_DATA y devuelve el tamaño de búfer necesario en pSize. Tenga en cuenta que el tamaño necesario de Buffer puede aumentar durante el tiempo transcurrido entre el retorno de la llamada de función inicial y una llamada posterior; por lo tanto, el tamaño necesario de Buffer (indicado en pSize) proporciona una indicación del tamaño aproximado necesario de Buffer, en lugar de garantizar que las llamadas posteriores se devolverán correctamente si Buffer está establecido en el tamaño indicado en pSize.
Otros errores devuelven los códigos de error de Windows adecuados.
Código devuelto | Descripción |
---|---|
|
Se devuelve si el parámetro AdapterName tiene más de 256 caracteres de longitud. |
|
Se devuelve si el parámetro AdapterName tiene más de 256 caracteres de longitud. |
Comentarios
Los clientes DHCP almacenan los datos obtenidos de un servidor DHCP en su caché local. Si la caché del cliente DHCP contiene todos los datos solicitados en la matriz RecdParams de una llamada de función DhcpRequestParams , el cliente devuelve datos de su caché. Si los datos solicitados no están disponibles en la memoria caché del cliente, el cliente procesa la llamada de función DhcpRequestParams mediante el envío de un mensaje DHCP-INFORM al servidor DHCP.
Cuando el cliente envía un mensaje DHCP-INFORM al servidor DHCP, incluye las solicitudes proporcionadas en el parámetro Opcional SendParams y proporciona el identificador de clase (ID) especificado en el parámetro ClassId , si se proporciona.
Los clientes también pueden especificar que los datos DHCP se recuperen del servidor DHCP cada vez que se inicie el cliente DHCP, que se considera una solicitud persistente. Para habilitar las solicitudes persistentes, el autor de la llamada debe especificar el parámetro RequestIdStr y también especificar la marca de DHCPAPI_REQUEST_PERSISTENT adicional en el parámetro dwFlags . Esta funcionalidad de solicitud persistente es especialmente útil cuando los clientes necesitan solicitar automáticamente información crítica de la aplicación en cada arranque. Para deshabilitar una solicitud persistente, los clientes deben llamar a la función .
Para ver la función DhcpRequestParams en uso, consulte Ejemplos de DHCP.
Requisitos
Cliente mínimo compatible | Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP] |
Servidor mínimo compatible | Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | dhcpcsdk.h |
Library | Dhcpcsvc.lib |
Archivo DLL | Dhcpcsvc.dll |