SnmpExtensionQueryEx 함수(snmp.h)
[SNMP는 요구 사항 섹션에 지정된 운영 체제에서 사용할 수 있습니다. 이후 버전에서는 변경되거나 제공되지 않을 수 있습니다. 대신 WS-Man의 Microsoft 구현인 Windows 원격 관리를 사용합니다.]
Microsoft SNMP 서비스는 SnmpExtensionQueryEx 함수를 호출하여 SNMP 확장 에이전트에 의해 등록된 하나 이상의 MIB 하위 트리에서 변수를 지정하는 SNMP 요청을 처리합니다. 이 함수는 SNMP 확장 에이전트 API의 요소입니다.
구문
BOOL SNMP_FUNC_TYPE SnmpExtensionQueryEx(
[in] UINT nRequestType,
[in] UINT nTransactionId,
[in, out] SnmpVarBindList *pVarBindList,
[in, out] AsnOctetString *pContextInfo,
[out] AsnInteger32 *pErrorStatus,
[out] AsnInteger32 *pErrorIndex
);
매개 변수
[in] nRequestType
SNMP 서비스가 확장 에이전트에 수행할 작업을 요청하는 작업 유형을 지정합니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.
SET 요청 유형, 즉 SNMP_EXTENSION_SET_ 시작하는 요청에 대한 자세한 내용은 다음 설명 섹션을 참조하세요.
[in] nTransactionId
들어오는 SNMP 요청 PDU의 고유 식별자인 DWORD 변수를 지정합니다. 확장 에이전트는 이 값을 사용하여 동일한 PDU를 포함하는 SNMP 서비스에서 여러 호출의 상관 관계를 지정할 수 있습니다.
[in, out] pVarBindList
관심 있는 변수를 포함하는 변수 바인딩 목록에 대한 포인터입니다.
[in, out] pContextInfo
사용자 정의 컨텍스트 정보를 포함하는 octet 문자열에 대한 포인터입니다.
확장 에이전트는 이 매개 변수를 사용하여 다단계 SNMP SET 작업 중에 사용되는 컨텍스트 정보를 저장할 수 있습니다. 확장 에이전트는 CLEANUP 요청 중에 이 매개 변수와 연결된 리소스를 해제해야 합니다. SNMP 서비스는 이 매개 변수와 연결된 리소스를 해제하지 않습니다. 자세한 내용은 다음 설명 섹션을 참조하세요.
[out] pErrorStatus
오류 상태 결과를 수신할 변수에 대한 포인터입니다. 이 매개 변수는 SNMPv2C에서 정의한 다음 값 중 하나일 수 있습니다.
[out] pErrorIndex
오류 인덱스 결과를 받을 변수에 대한 포인터입니다.
반환 값
함수가 성공하면 반환 값은 TRUE입니다.
함수가 실패하면 반환 값은 FALSE입니다.
설명
SNMP 서비스는 SnmpExtensionQueryEx 함수를 여러 번 호출하여 들어오는 SNMP SET 요청을 처리합니다. 서비스는 TEST 요청 단계, COMMIT 요청 단계, UNDO 요청 단계 및 CLEANUP 요청 단계 중에 SnmpExtensionQueryEx 를 호출할 수 있습니다.
TEST 요청
SNMP 서비스는 먼저 SNMP_EXTENSION_SET_TEST dwRequestType을 사용하여 SnmpExtensionQueryEx 함수를 호출하여 SNMP SET 요청 형식을 처리합니다. 서비스는 요청의 변수 바인딩을 담당하는 각 확장 에이전트를 호출합니다. 각 확장 에이전트는 변수 바인딩 목록의 변수 유효성을 검사해야 합니다. 필요에 따라 pContextInfo 매개 변수가 가리키는 변수에 다음 요청에 필요한 컨텍스트 정보를 저장할 수 있습니다.TEST 요청이 실패하면 서비스에서 CLEANUP 요청을 시작합니다. 서비스는 SnmpExtensionQueryEx 함수를 사용하여 이전에 TRUE를 TEST 요청에 다시 반환한 각 확장 에이전트를 호출합니다. 서비스는 SNMP_EXTENSION_SET_CLEANUP dwRequestType을 사용하여 각 확장 에이전트를 호출합니다.
COMMIT 요청
모든 확장 에이전트가 TEST 요청에 TRUE를 반환하는 경우 SNMP 서비스는 SNMP_EXTENSION_SET_COMMIT dwRequestType을 사용하여 SnmpExtensionQueryEx 함수를 사용하여 각 확장 에이전트를 호출합니다. 서비스는 확장 에이전트가 서비스에 전달한 확장 에이전트 컨텍스트 정보로 돌아갑니다. 이는 TEST 요청 중에 pContextInfo 매개 변수에 전달된 확장 에이전트의 컨텍스트 정보입니다. 확장 에이전트는 컨텍스트 정보를 사용하여 지정된 변수의 값을 계측별 방식으로 업데이트할 수 있습니다.확장 에이전트가 롤백 처리를 지원하는 경우 현재 pContextInfo 매개 변수의 컨텍스트 정보를 업데이트할 수 있습니다. SNMP 서비스는 UNDO 요청 중에 정보를 확장 에이전트에 다시 전달합니다.
모든 확장 에이전트가 COMMIT 요청에 TRUE를 반환하는 경우 서비스는 SNMP_EXTENSION_SET_CLEANUP dwRequestType을 사용하여 SnmpExtensionQueryEx 함수를 사용하여 각 확장 에이전트를 호출합니다.
확장 에이전트가 COMMIT 요청에 실패하면 서비스에서 CLEANUP 요청도 시작합니다. 서비스는 SnmpExtensionQueryEx 함수를 사용하여 이전에 COMMIT 요청에 TRUE를 반환한 각 확장 에이전트를 다시 호출합니다. 서비스는 SNMP_EXTENSION_SET_CLEANUP dwRequestType을 사용하여 각 확장 에이전트를 호출합니다.
CLEANUP 요청
서비스는 TEST 또는 COMMIT 요청 중에 pContextInfo 매개 변수에 전달된 컨텍스트 정보를 확장 에이전트에 반환합니다. 확장 에이전트는 현재 매개 변수와 연결된 리소스를 해제해야 합니다.UNDO 요청
확장 에이전트가 COMMIT 요청에 FALSE 를 반환하는 경우 SNMP 서비스는 COMMIT 요청을 종료합니다. 서비스는 dwRequestType의 SNMP_EXTENSION_SET_UNDO 사용하여 COMMIT 요청에 TRUE를 반환한 각 확장 에이전트를 호출합니다. 이렇게 하면 COMMIT 요청이 실패했음을 확장 에이전트에 알리고 롤백 처리를 시작해야 합니다.확장 에이전트는 관심 있는 변수의 값을 COMMIT 요청이 실패하기 전의 값으로 다시 설정하려고 시도해야 합니다. 이를 위해 확장 에이전트는 COMMIT 요청 중에 pContextInfo 매개 변수에 반환된 컨텍스트 정보를 사용합니다.
확장 에이전트가 UNDO 요청에 FALSE 를 반환하면 오류 코드 SNMP_ERRORSTATUS_UNDOFAILED 전체 SET 작업이 실패합니다. 모든 확장 에이전트가 UNDO 요청에 TRUE 를 반환하면 COMMIT 요청에 실패한 확장 에이전트가 설정한 오류 코드로 인해 SNMP SET 작업이 실패합니다.
UNDO 요청 후 서비스는 항상 SNMP_EXTENSION_SET_CLEANUP dwRequestType을 사용하여 SnmpExtensionQueryEx 함수를 사용하여 각 확장 에이전트를 호출합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | snmp.h |