/*++

Copyright (c) 1997-1999 Microsoft Corporation

Module Name:

    wmi.src

Abstract:

    WMI dll export definition file

Author:

    16-Jan-1997 AlanWar

Revision History:

--*/

LIBRARY wmi.dll

EXPORTS

#ifdef MEMPHIS
// On memphis all apis are in wmi.dll
    WmiDllInitialize

    WmiOpenBlock                    PRIVATE
    WmiCloseBlock                   PRIVATE
    WmiQueryAllDataA                PRIVATE
    WmiQueryAllDataW                PRIVATE
    WmiQuerySingleInstanceW         PRIVATE
    WmiQuerySingleInstanceA         PRIVATE
    WmiSetSingleInstanceW           PRIVATE
    WmiSetSingleInstanceA           PRIVATE
    WmiSetSingleItemW               PRIVATE
    WmiSetSingleItemA               PRIVATE
    WmiExecuteMethodA               PRIVATE
    WmiExecuteMethodW               PRIVATE
    WmiNotificationRegistrationA    PRIVATE
    WmiNotificationRegistrationW    PRIVATE
    WmiEnumerateGuids               PRIVATE

    WmiFreeBuffer                   PRIVATE

    WmiMofEnumerateResourcesW       PRIVATE
    WmiMofEnumerateResourcesA       PRIVATE

    WmiFileHandleToInstanceNameW    PRIVATE
    WmiFileHandleToInstanceNameA    PRIVATE

    WmiDevInstToInstanceNameW       PRIVATE
    WmiDevInstToInstanceNameA       PRIVATE

    WmiQueryGuidInformation         PRIVATE

    GUID_REGISTRATION_CHANGE_NOTIFICATION 
    GUID_MOF_RESOURCE_ADDED_NOTIFICATION 
#else
// On NT all apis are forwarded to advapi32, but we keep a forwarder dll
// and lib for compatibility
    WmiOpenBlock  = Advapi32.WmiOpenBlock       PRIVATE
    WmiCloseBlock = Advapi32.WmiCloseBlock               PRIVATE
    WmiQueryAllDataA = Advapi32.WmiQueryAllDataA            PRIVATE
    WmiQueryAllDataW = Advapi32.WmiQueryAllDataW            PRIVATE
    WmiQuerySingleInstanceW = Advapi32.WmiQuerySingleInstanceW     PRIVATE
    WmiQuerySingleInstanceA = Advapi32.WmiQuerySingleInstanceA     PRIVATE
    WmiSetSingleInstanceW = Advapi32.WmiSetSingleInstanceW       PRIVATE
    WmiSetSingleInstanceA = Advapi32.WmiSetSingleInstanceA       PRIVATE
    WmiSetSingleItemW = Advapi32.WmiSetSingleItemW           PRIVATE
    WmiSetSingleItemA = Advapi32.WmiSetSingleItemA           PRIVATE
    WmiExecuteMethodA = Advapi32.WmiExecuteMethodA           PRIVATE
    WmiExecuteMethodW = Advapi32.WmiExecuteMethodW           PRIVATE
    WmiNotificationRegistrationA = Advapi32.WmiNotificationRegistrationA PRIVATE
    WmiNotificationRegistrationW = Advapi32.WmiNotificationRegistrationW PRIVATE
    WmiEnumerateGuids = Advapi32.WmiEnumerateGuids           PRIVATE

    WmiFreeBuffer = Advapi32.WmiFreeBuffer               PRIVATE

    WmiMofEnumerateResourcesW = Advapi32.WmiMofEnumerateResourcesW   PRIVATE
    WmiMofEnumerateResourcesA = Advapi32.WmiMofEnumerateResourcesA   PRIVATE

    WmiFileHandleToInstanceNameW = Advapi32.WmiFileHandleToInstanceNameW PRIVATE
    WmiFileHandleToInstanceNameA = Advapi32.WmiFileHandleToInstanceNameA PRIVATE

    WmiDevInstToInstanceNameW = Advapi32.WmiDevInstToInstanceNameW   PRIVATE
    WmiDevInstToInstanceNameA = Advapi32.WmiDevInstToInstanceNameA   PRIVATE

    WmiQueryGuidInformation = Advapi32.WmiQueryGuidInformation     PRIVATE
    WmiGetFirstTraceOffset = Advapi32.WmiGetFirstTraceOffset       PRIVATE
    WmiGetTraceHeader = Advapi32.WmiGetTraceHeader                 PRIVATE
    WmiParseTraceEvent = Advapi32.WmiParseTraceEvent               PRIVATE


//
// Tracelog apis
    StartTraceA = Advapi32.StartTraceA
    StartTraceW = Advapi32.StartTraceW
    StopTraceA = Advapi32.StopTraceA
    StopTraceW = Advapi32.StopTraceW
    QueryTraceA = Advapi32.QueryTraceA
    QueryTraceW = Advapi32.QueryTraceW
    UpdateTraceA = Advapi32.UpdateTraceA
    UpdateTraceW = Advapi32.UpdateTraceW
    FlushTraceA = Advapi32.FlushTraceA
    FlushTraceW = Advapi32.FlushTraceW
    ControlTraceA = Advapi32.ControlTraceA
    ControlTraceW = Advapi32.ControlTraceW
    EnableTrace = Advapi32.EnableTrace
    CreateTraceInstanceId = Advapi32.CreateTraceInstanceId
    TraceEvent = Advapi32.TraceEvent
    TraceEventInstance = Advapi32.TraceEventInstance
    RegisterTraceGuidsA = Advapi32.RegisterTraceGuidsA
    RegisterTraceGuidsW = Advapi32.RegisterTraceGuidsW
    UnregisterTraceGuids = Advapi32.UnregisterTraceGuids
    OpenTraceA = Advapi32.OpenTraceA
    OpenTraceW = Advapi32.OpenTraceW
    ProcessTrace = Advapi32.ProcessTrace
    CloseTrace = Advapi32.CloseTrace
    SetTraceCallback = Advapi32.SetTraceCallback
    RemoveTraceCallback = Advapi32.RemoveTraceCallback
    QueryAllTracesA = Advapi32.QueryAllTracesA
    QueryAllTracesW = Advapi32.QueryAllTracesW
    GetTraceLoggerHandle = Advapi32.GetTraceLoggerHandle
    GetTraceEnableLevel = Advapi32.GetTraceEnableLevel
    GetTraceEnableFlags = Advapi32.GetTraceEnableFlags
    EnumerateTraceGuids = Advapi32.EnumerateTraceGuids
    TraceMessage = Advapi32.TraceMessage
    TraceMessageVa = Advapi32.TraceMessageVa
#endif
