Função SnmpCreatePdu (winsnmp.h)
[O SNMP está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Ele poderá ser alterado ou ficar indisponível em versões subsequentes. Em vez disso, use o Gerenciamento Remoto do Windows, que é a implementação da Microsoft do WS-Man.]
A função WinSNMP SnmpCreatePdu cria e inicializa uma PDU (unidade de dados de protocolo SNMP).
Sintaxe
HSNMP_PDU SNMPAPI_CALL SnmpCreatePdu(
[in] HSNMP_SESSION session,
[in] smiINT PDU_type,
[in] smiINT32 request_id,
[in] smiINT error_status,
[in] smiINT error_index,
[in] HSNMP_VBL varbindlist
);
Parâmetros
[in] session
Manipule para a sessão WinSNMP.
[in] PDU_type
Especifica um tipo de PDU que identifica a operação SNMP. Esse parâmetro pode ser NULL ou pode ser um dos valores a seguir. Se esse parâmetro for NULL, a implementação do Microsoft WinSNMP fornecerá o tipo de PDU padrão SNMP_PDU_GETNEXT. O único tipo de PDU de interceptação que você pode criar com uma chamada para a função SnmpCreatePdu é uma PDU de interceptação SNMPv2C.
[in] request_id
Especifica um valor numérico exclusivo fornecido pelo aplicativo WinSNMP para identificar a PDU. Se esse parâmetro for NULL, a implementação atribuirá um valor.
[in] error_status
Se o parâmetro PDU_type for igual a SNMP_PDU_GETBULK, esse parâmetro especificará um valor para o campo non_repeaters da PDU. Para outros tipos de PDU, esse parâmetro especifica um valor para o campo error_status da PDU. Este parâmetro pode ser NULL.
[in] error_index
Se o parâmetro PDU_type for igual a SNMP_PDU_GETBULK, esse parâmetro especificará um valor para o campo max_repetitions da PDU. Para outros tipos de PDU, esse parâmetro especifica um valor para o campo error_index da PDU. Este parâmetro pode ser NULL.
[in] varbindlist
Manipule para uma estrutura que representa uma lista de associações de variáveis SNMP. Este parâmetro pode ser NULL.
Retornar valor
Se a função for bem-sucedida, o valor retornado será o identificador para uma nova PDU SNMP.
Se a função falhar, o valor retornado será SNMPAPI_FAILURE. Para obter informações de erro estendidas, chame SnmpGetLastError. A função SnmpGetLastError pode retornar um dos erros a seguir.
Código de retorno | Descrição |
---|---|
|
A função SnmpStartup não foi concluída com êxito. |
|
Ocorreu um erro durante a alocação de memória. |
|
O identificador de sessão é inválido. |
|
O tipo de PDU é inválido. |
|
A lista de associações de variáveis é inválida. |
|
Ocorreu um erro desconhecido ou indefinido. |
Comentários
Um aplicativo WinSNMP deve criar uma PDU antes de chamar as funções SnmpSendMsg ou SnmpEncodeMsg .
Todos os parâmetros da função SnmpCreatePdu são necessários. No entanto, todos os parâmetros, exceto o parâmetro de sessão , podem ser NULL. Nessa instância, a nova PDU tem os seguintes valores padrão.
Campo | Sumário |
---|---|
PDU_type | SNMP_PDU_GETNEXT |
request_id | A implementação gera um valor numérico. |
error_status | SNMP_ERROR_NOERROR |
error_index | 0 |
varbindlist | NULL |
O aplicativo deve chamar a função SnmpFreePdu para liberar os recursos que a função SnmpCreatePdu aloca para a nova PDU.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | winsnmp.h |
Biblioteca | Wsnmp32.lib |
DLL | Wsnmp32.dll |