\HeaderA{getLoadedDLLs}{Get DLLs Loaded in Current Session}{getLoadedDLLs}
\aliasA{\$.DLLInfo}{getLoadedDLLs}{.Rdol..DLLInfo}
\aliasA{print.DLLInfo}{getLoadedDLLs}{print.DLLInfo}
\aliasA{print.DLLInfoList}{getLoadedDLLs}{print.DLLInfoList}
\keyword{interface}{getLoadedDLLs}
\begin{Description}\relax
This function provides a way to get a list of all the Dynamically
Loadable Libraries (DLLs) that are currently loaded in the current \R{}
session.
\end{Description}
\begin{Usage}
\begin{verbatim}
getLoadedDLLs()
\end{verbatim}
\end{Usage}
\begin{Details}\relax
This queries the internal table that manages the DLLs.
\end{Details}
\begin{Value}
An object of class \code{"DLLInfoList"} which is a list with an
element corresponding to each DLL that is currently loaded in the
session.  Each element is an object of class \code{"DLLInfo"} which
has the following entries.

\begin{ldescription}
\item[\code{name}] the abbreviated name.
\item[\code{path}] the fully qualified name of the file which was dynamically
loaded.
\item[\code{dynamicLookup}] a logical value indicating whether R uses only
the registration information to resolve symbols or whether it
searches the entire symbol table of the DLL.
\item[\code{handle}] a reference to the C-level data structure that
provides access to the contents of the DLL.
This is an object of class \code{"DLLHandle}".

\end{ldescription}


Note that the class \code{DLLInfo} has an overloaded method for
\code{\$} which can be used to resolve native symbols within that
DLL.  Therefore, one must access the R-level elements described
above using \code{[[}, e.g. \code{x[["name"]]} or \code{x[["handle"]]}.
\end{Value}
\begin{Note}\relax
We are starting to use the \code{handle} elements in the DLL object to
resolve symbols more directly in \R.
\end{Note}
\begin{Author}\relax
Duncan Temple Lang \email{duncan@wald.ucdavis.edu}.
\end{Author}
\begin{SeeAlso}\relax
\code{\LinkA{getDLLRegisteredRoutines}{getDLLRegisteredRoutines}},
\code{\LinkA{getNativeSymbolInfo}{getNativeSymbolInfo}}
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
getLoadedDLLs()
\end{ExampleCode}
\end{Examples}

