206 lines
9.4 KiB
Plaintext
206 lines
9.4 KiB
Plaintext
NetPlus WinSNMP Developer Kit August 8, 1998
|
|
|
|
Current version of ACE*COMM's wsnmp32.dll:
|
|
|
|
String value: v2.32.19980808
|
|
Binary value: 2.0.0.25
|
|
|
|
Change log:
|
|
|
|
v2.32.19980808: No external changes...function error
|
|
reporting mechanisms normalized across
|
|
all internal modules.
|
|
|
|
v2.32.19980705: Fixed an internal error return test that
|
|
would have caused the SnmpCreateVbl()
|
|
function to encounter an access violatoin
|
|
when passed a varbind with the (obsolete)
|
|
SNMP_SYNTAX_BITS syntax value.
|
|
|
|
v2.32.19980622: Improved some internal error checking.
|
|
Improved timeout interval handling for
|
|
intervals larger than 429,496,729 centiseconds.
|
|
|
|
v2.32.19980608: Fixed some flawed logic concerning freeing
|
|
entities which are acting as agents.
|
|
Repaired a memory leak in the implementation
|
|
of the RFC 2089 automatic SNMPv2 to SNMPv1
|
|
trap mapping algorithm.
|
|
|
|
v2.32.19980522: Modified SnmpContextToStr() code to return the
|
|
"raw" context value if the function is called
|
|
in SNMPAPI_TRANSLATED mode and the subject
|
|
hContext had been created in SNMPAPI_UNTRANSLATED
|
|
(v1 or v2) mode.
|
|
|
|
v2.32.19980507: Fixed a problem which caused some trap sending
|
|
apps to fail if they issued multiple consecutive
|
|
traps to a given HSNMP_ENTITY value. Added
|
|
error return (SNMPAPI_TL_OTHER) to SnmpSendMsg()
|
|
when WinSock sendto() fails for any reason.
|
|
|
|
v2.32.19980424: Internal integrity improvements in low-level
|
|
parsing routines...accept case when IPX header
|
|
indicates packet length greater than actual
|
|
SNMP message length.
|
|
|
|
v2.32.19980416: Fixed a problem in the interface with the
|
|
SNMPTRAP service that prevented non-admin users
|
|
from accessing the service. See the explanatory
|
|
note in a separate section later in this file for
|
|
more details. Also, made some (minor) reliability
|
|
and performance improvements to SNMPTRAP itself
|
|
(its version is now 4.0.1381.4).
|
|
|
|
v2.32.19980402: Fixed a problem that caused a comm failure on Win95
|
|
systems *only* when using WinSock v2 ws2_32.dll) with
|
|
*both* TCP/IP *and* IPX protocols installed.
|
|
|
|
v2.32.19980330: Fixed a failure in SnmpCreateSession() to return
|
|
SNMPAPI_HWND_INVALID when called in SnmpOpen() mode
|
|
(i.e., fCallBack is NULL) and the hWnd parameter
|
|
failed the Win32 IsWindow() check.
|
|
|
|
v2.32.19980323: Made improvements to session notification dispatching
|
|
algorithm for improved performance and reliability
|
|
specifically related to using callback notification
|
|
mode in multi-threaded/multi-session applications.
|
|
|
|
v2.32.19980318: Fixed SnmpOidToStr() to return the correct byte count
|
|
upon successful completion...previously it was not
|
|
counting the terminating NULL byte of the output
|
|
string as required by the WinSNMP spec...most apps
|
|
tested only for the SNMPAPI_FAILURE case, so there
|
|
were no field reports of this discrepancy. Also,
|
|
added the SNMPAPI_NOOP extended error code return
|
|
to cover the case of a NULL scrOID input parameter.
|
|
Again, there had been no field reports of this
|
|
deficiency.
|
|
|
|
v2.32.19980309: Fixed a bug and made a modest performance improvement
|
|
in SnmpCancelMsg().
|
|
|
|
v2.32.19980216: "Fix" added to enable SNMP request/response messages
|
|
over IPX for Win95. Required adding an otherwise
|
|
ill-advised bind() call.
|
|
|
|
v2.32.19980113: Improvements to internal message buffer management
|
|
scheme (to optimize for early release of resources
|
|
used for out-going messages that will not receive
|
|
a response (ie., traps and response PDUs).
|
|
|
|
Simplification of the housekeeping timer thread.
|
|
|
|
Rationalization of the method of invoking a
|
|
session's callback function that prevents multiple
|
|
instances of the callback being invoked concurrently.
|
|
|
|
v2.32.19971222: Improvements to internal message memory allocation
|
|
scheme (to handle large numbers of outstanding messages
|
|
more efficiently).
|
|
|
|
v2.32.19971216: Improvements to worker thread termination logic.
|
|
------------------------------------------------------------------------
|
|
Additional WinSNMP-related files may be freely obtained from the file
|
|
download site, www.winsnmp.com.
|
|
------------------------------------------------------------------------
|
|
If you develop WinSNMP management applications or agents and would like
|
|
to participate in a co-marketing program with ACE*COMM, please contact
|
|
Ben Gray, bgray@acecomm.com.
|
|
------------------------------------------------------------------------
|
|
If you are new to WinSNMP development, please read the following
|
|
documents before proceeding, in the following order:
|
|
|
|
- winsnmp2.txt
|
|
- winsnmp.doc
|
|
|
|
The first is the WinSNMP v2.0 Addendum. It clarifies certain aspects
|
|
of WinSNMP that were ambiguous in the previous version (v1.1a, defined
|
|
in winsnmp.doc) of the API and it describes the five new functions
|
|
added for v2.0.
|
|
|
|
This version of ACE*COMM's NetPlus WinSNMP implementation for Win32
|
|
fully implements WinSNMP v2.0 and incorporates many architectural and
|
|
performance improvements over earlier releases. It is designed to work
|
|
identically over NT (3.51 through 5) and Win95, with a single difference
|
|
in runtime files for received trap dispatching for NT (SNMPTRAP.EXE) vs
|
|
Win95 (NP_WSX95.EXE).
|
|
|
|
Current users please note:
|
|
This wsnmp32.dll does not require the np_wsx32.exe "helper" app of
|
|
previous versions...instead you will need either snmptrap.exe (for NT)
|
|
or np_wsx95.exe (for Win95). For clarity's sake, you should remove any
|
|
np_wsx32.exe from a machine running this version of wsnmp32.dll--or at
|
|
least move it to a directory off the execution path. Nothing bad happens
|
|
if you don't, except some wasted disk space and an increased possibility
|
|
for confusion.
|
|
------------------------------------------------------------------------
|
|
SNMPTRAP Info (NT only):
|
|
This snmptrap.exe is a plug-replacement for the one MS ships (it will
|
|
eventually *be* the one that MS ships). It is functionally identical
|
|
(with some minor performance improvements), but does not have any
|
|
internal dependencies on either the wsnmp32.dll or the mgmtapi.dll,
|
|
although it services both.
|
|
|
|
Our wsnmp32.dll will create and install the service on the first call
|
|
to SnmpRegister() if it finds that the sevice has not been previously
|
|
installed. The Win32 CreateService() API requires that the caller
|
|
have admin priviledges.
|
|
|
|
One we have created and installed the service, our wsnmp32.dll will
|
|
auto-start it if it's not already running when the first app successfully
|
|
calls SnmpRegister().
|
|
|
|
[If you are installing our runtime files by hand--rather than via the
|
|
Developer Kit automated install/setup package--then you must copy
|
|
snmptrap.exe to "%SystemRoot%\system32\". If you did not previously
|
|
have the SNMPTRAP service installed, then we will auto-install it,
|
|
per above. If you already had the original MS version installed, then
|
|
you should use an admin tool (such as sc.exe from the MS Resource Kit)
|
|
to remove/delete it.
|
|
|
|
If you are using the automated InstallShield procedure, then it will
|
|
perform as much of the above as it can for you; but depending upon
|
|
system security settings for any pre-existing SNMPTRAP installation,
|
|
you may still have to perform the service remove/delete operation.
|
|
------------------------------------------------------------------------
|
|
Win95 users please note:
|
|
The snmptrap.exe does not apply and you do not need to have it on your
|
|
system. Instead, however, you must have np_wsx95.exe accessible for
|
|
auto-loading/termination by wsnmp32.dll (in response to SnmpRegister()
|
|
calls).
|
|
------------------------------------------------------------------------
|
|
You will note that the winsnmp.def does not contain any exports for
|
|
proprietary functions. If you previously used any of our pre-standard
|
|
implementations of:
|
|
|
|
- SnmpSetPort()
|
|
- SnmpListen()
|
|
- NPWSNMPSetV1TrapPduData()
|
|
|
|
you will need to at least re-link (for SnmpSetPort(), whose ordinal
|
|
changed) or re-build (SnmpListen() has slightly different calling
|
|
parameters in v2.0 than our pre-standard implementation and
|
|
NPWSNMPSetV1TrapPduData() no longer exists, since SNMPv1 trap PDU
|
|
generation is handled automatically by wsnmp32.dll).
|
|
|
|
Also, this version does not use any "shared" memory across processes.
|
|
Hence, there is no need to fiddle with the resource limits in the
|
|
[Startup] section of the np_wsnmp.ini file (in fact, that section can
|
|
be completely deleted from np_wsnmp.ini, if you want).
|
|
|
|
You will find information about our MIB compiler and the MIB access
|
|
routines in the underlying libraries in the NP_MIB++ directory.
|
|
You are free to use our MIB compiler technology in your own apps, but
|
|
please note that doing so will mean that you are using our proprietary
|
|
interfaces, rather than some industry-standard (which does not yet
|
|
exist anyway).
|
|
|
|
For information on HP's SNMP++ DLL and sample applications, please
|
|
refer to their web site at:
|
|
|
|
http://rosegarden.external.hp.com/snmp++
|
|
|
|
Please report any problems/questions with this release directly to
|
|
Bob Natale, bnatale@acecomm.com.
|