The DMTF WBEM specifications define an interface between a CIM_Client and a CIM_Server based
on XML and HTTP in the WBEM HTTP operations standard, version 1.0 with erratta.
This interface defines the operations required of a CIM Server and the encoding of these
operations into XML with the HTTP transmission protocol.
The Pegasus MSB has implemented both that WBEM interface and also an interface based
on C++ APIs.
The C++ APIs implement the operations as defined within the WBEM HTTP documentation using effectively the same parameters as the HTTP Operations but with C++ calls and the data support classes implementation the manipulation of CIM information.
The C++ Interface is implemented both at:
- The direct interface to the MSB - a module (esample an executable) that direcetly implementes the C++ data definitions and calls below and links either statically or dynamically to the Pegasus MSB can execute the WBEM Operations. These operations are defined in the Pegasus header file operations.h
- As a client SDK that generates WBEM based XML/HTTP operations
The goal was to create a single API that could be used both locally (dynamically linked to the Pegasus MSB) or remotely through WBEM XML/HTTP interface.
A client program can be built to use either interface simply by changing the build and linking it either directly to the Pegasus MSB library statically or to the Pegasus dll dynamically or to the Pegasus Client SDK library.
ATTN: Somewhere we need to define the files, linkages, etc. in detail.
The interfaces and data definitions are defined in the following sections.