Função SnmpGetPduData (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 SnmpGetPduData retorna campos de dados selecionados de uma PDU (unidade de dados de protocolo SNMP) especificada.
Sintaxe
SNMPAPI_STATUS SNMPAPI_CALL SnmpGetPduData(
[in] HSNMP_PDU PDU,
[out] smiLPINT PDU_type,
[out] smiLPINT32 request_id,
[out] smiLPINT error_status,
[out] smiLPINT error_index,
[out] LPHSNMP_VBL varbindlist
);
Parâmetros
[in] PDU
Manipule para a PDU SNMP.
[out] PDU_type
Ponteiro para uma variável que recebe o campo PDU_type da PDU especificada. Esse parâmetro pode ser NULL ou um dos valores a seguir.
[out] request_id
Ponteiro para uma variável que recebe o campo request_id da PDU especificada. Este parâmetro pode ser NULL.
[out] error_status
Ponteiro para uma variável que recebe o campo error_status da PDU especificada. Se o parâmetro PDU_type for igual a SNMP_PDU_GETBULK, esse parâmetro receberá o valor do campo non_repeaters da PDU.
Esse parâmetro pode ser NULL ou um dos valores a seguir. Os primeiros seis erros são comuns às estruturas SNMPv1 (SNMPv1) e SNMMP versão 2C (SNMPv2C). Os erros restantes estão disponíveis somente em SNMPv2C.
[out] error_index
Ponteiro para uma variável que recebe o campo error_index da PDU especificada.
Se o parâmetro PDU_type for igual a SNMP_PDU_GETBULK, esse parâmetro receberá o valor do campo max_repetitions da PDU especificada. Este parâmetro pode ser NULL.
[out] varbindlist
Ponteiro para uma variável que recebe um identificador para o campo de lista de associações de variáveis da PDU especificada. Este parâmetro pode ser NULL. Para obter informações adicionais, consulte a seção Comentários a seguir.
Valor retornado
Se a função for bem-sucedida, o valor retornado será SNMPAPI_SUCCESS.
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. |
|
Todos os parâmetros de saída são NULL. A operação SNMP não foi executada. |
|
O tipo de PDU é inválido. |
|
Ocorreu um erro desconhecido ou indefinido. |
Comentários
Todos os parâmetros da função SnmpGetPduData são necessários. No entanto, todos os parâmetros, exceto o parâmetro PDU , podem ser NULL. Nos parâmetros que o aplicativo passa como NULL, a função SnmpGetPduData não retorna um valor.
A função SnmpGetPduData sempre retornará um identificador para um novo objeto de lista de associações variáveis se o parâmetro varbindlist não for NULL. Além disso, se o parâmetro PDU especificar uma nova PDU, a função também anexará um identificador à nova PDU.
Quando um aplicativo chama SnmpGetPduData com um parâmetro varbindlist que não é NULL, mas o parâmetro PDU especifica uma PDU existente, a função retorna um identificador para uma nova lista de associações de variáveis duplicadas. A chamada de função não perturba o identificador anexado à PDU existente. Uma PDU existente é aquela que um aplicativo cria com uma chamada para a função SnmpCreatePdu ou uma que o aplicativo recebe e lê usando uma chamada para SnmpGetPduData.
Quando um aplicativo cria uma PDU com SnmpCreatePdu ou depois que o aplicativo lê uma PDU usando SnmpGetPduData, a implementação do Microsoft WinSNMP espera que o aplicativo "conheça" os valores dos campos de PDU. Se um aplicativo ler uma PDU uma segunda vez com SnmpGetPduData, a chamada resultará em uma cópia da lista de associações de variáveis da PDU especificada. Esse tipo de chamada para SnmpGetPduData também duplica o identificador para a PDU.
Requisitos
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 |