ReactOS 0.4.16-dev-297-gc569aee
locator.c File Reference
#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "initguid.h"
#include "objbase.h"
#include "wmiutils.h"
#include "wbemcli.h"
#include "wbemdisp.h"
#include "wine/debug.h"
#include "wine/heap.h"
#include "wbemdisp_private.h"
#include "wbemdisp_classes.h"
Include dependency graph for locator.c:

Go to the source code of this file.

Classes

struct  property
 
struct  propertyset
 
struct  member
 
struct  object
 
struct  objectset
 
struct  enumvar
 
struct  services
 
struct  locator
 
struct  security
 

Macros

#define COBJMACROS
 
#define DISPID_BASE   0x1800000
 
#define DISPID_BASE_METHOD   0x1000000
 

Enumerations

enum  type_id {
  INetFwAuthorizedApplication_tid , INetFwAuthorizedApplications_tid , INetFwMgr_tid , INetFwOpenPort_tid ,
  INetFwOpenPorts_tid , INetFwPolicy_tid , INetFwPolicy2_tid , INetFwProfile_tid ,
  INetFwRules_tid , IUPnPNAT_tid , last_tid , ISWbemLocator_tid ,
  ISWbemObject_tid , ISWbemObjectSet_tid , ISWbemProperty_tid , ISWbemPropertySet_tid ,
  ISWbemServices_tid , ISWbemSecurity_tid , last_tid , IWinHttpRequest_tid ,
  last_tid
}
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (wbemdisp)
 
static HRESULT EnumVARIANT_create (IEnumWbemClassObject *, IEnumVARIANT **)
 
static HRESULT ISWbemSecurity_create (ISWbemSecurity **)
 
static HRESULT get_typeinfo (enum type_id tid, ITypeInfo **ret)
 
static struct propertyimpl_from_ISWbemProperty (ISWbemProperty *iface)
 
static ULONG WINAPI property_AddRef (ISWbemProperty *iface)
 
static ULONG WINAPI property_Release (ISWbemProperty *iface)
 
static HRESULT WINAPI property_QueryInterface (ISWbemProperty *iface, REFIID riid, void **obj)
 
static HRESULT WINAPI property_GetTypeInfoCount (ISWbemProperty *iface, UINT *count)
 
static HRESULT WINAPI property_GetTypeInfo (ISWbemProperty *iface, UINT index, LCID lcid, ITypeInfo **info)
 
static HRESULT WINAPI property_GetIDsOfNames (ISWbemProperty *iface, REFIID riid, LPOLESTR *names, UINT count, LCID lcid, DISPID *dispid)
 
static HRESULT WINAPI property_Invoke (ISWbemProperty *iface, DISPID member, REFIID riid, LCID lcid, WORD flags, DISPPARAMS *params, VARIANT *result, EXCEPINFO *excep_info, UINT *arg_err)
 
static HRESULT WINAPI property_get_Value (ISWbemProperty *iface, VARIANT *value)
 
static HRESULT WINAPI property_put_Value (ISWbemProperty *iface, VARIANT *varValue)
 
static HRESULT WINAPI property_get_Name (ISWbemProperty *iface, BSTR *strName)
 
static HRESULT WINAPI property_get_IsLocal (ISWbemProperty *iface, VARIANT_BOOL *bIsLocal)
 
static HRESULT WINAPI property_get_Origin (ISWbemProperty *iface, BSTR *strOrigin)
 
static HRESULT WINAPI property_get_CIMType (ISWbemProperty *iface, WbemCimtypeEnum *iCimType)
 
static HRESULT WINAPI property_get_Qualifiers_ (ISWbemProperty *iface, ISWbemQualifierSet **objWbemQualifierSet)
 
static HRESULT WINAPI property_get_IsArray (ISWbemProperty *iface, VARIANT_BOOL *bIsArray)
 
static HRESULT SWbemProperty_create (IWbemClassObject *wbem_object, BSTR name, ISWbemProperty **obj)
 
static struct propertysetimpl_from_ISWbemPropertySet (ISWbemPropertySet *iface)
 
static ULONG WINAPI propertyset_AddRef (ISWbemPropertySet *iface)
 
static ULONG WINAPI propertyset_Release (ISWbemPropertySet *iface)
 
static HRESULT WINAPI propertyset_QueryInterface (ISWbemPropertySet *iface, REFIID riid, void **obj)
 
static HRESULT WINAPI propertyset_GetTypeInfoCount (ISWbemPropertySet *iface, UINT *count)
 
static HRESULT WINAPI propertyset_GetTypeInfo (ISWbemPropertySet *iface, UINT index, LCID lcid, ITypeInfo **info)
 
static HRESULT WINAPI propertyset_GetIDsOfNames (ISWbemPropertySet *iface, REFIID riid, LPOLESTR *names, UINT count, LCID lcid, DISPID *dispid)
 
static HRESULT WINAPI propertyset_Invoke (ISWbemPropertySet *iface, DISPID member, REFIID riid, LCID lcid, WORD flags, DISPPARAMS *params, VARIANT *result, EXCEPINFO *excep_info, UINT *arg_err)
 
static HRESULT WINAPI propertyset_get__NewEnum (ISWbemPropertySet *iface, IUnknown **unk)
 
static HRESULT WINAPI propertyset_Item (ISWbemPropertySet *iface, BSTR name, LONG flags, ISWbemProperty **prop)
 
static HRESULT WINAPI propertyset_get_Count (ISWbemPropertySet *iface, LONG *count)
 
static HRESULT WINAPI propertyset_Add (ISWbemPropertySet *iface, BSTR name, WbemCimtypeEnum type, VARIANT_BOOL is_array, LONG flags, ISWbemProperty **prop)
 
static HRESULT WINAPI propertyset_Remove (ISWbemPropertySet *iface, BSTR name, LONG flags)
 
static HRESULT SWbemPropertySet_create (IWbemClassObject *wbem_object, ISWbemPropertySet **obj)
 
static struct objectimpl_from_ISWbemObject (ISWbemObject *iface)
 
static ULONG WINAPI object_AddRef (ISWbemObject *iface)
 
static ULONG WINAPI object_Release (ISWbemObject *iface)
 
static HRESULT WINAPI object_QueryInterface (ISWbemObject *iface, REFIID riid, void **ppvObject)
 
static HRESULT WINAPI object_GetTypeInfoCount (ISWbemObject *iface, UINT *count)
 
static HRESULT WINAPI object_GetTypeInfo (ISWbemObject *iface, UINT index, LCID lcid, ITypeInfo **info)
 
static HRESULT init_members (struct object *object)
 
static DISPID get_member_dispid (struct object *object, const WCHAR *name)
 
static HRESULT WINAPI object_GetIDsOfNames (ISWbemObject *iface, REFIID riid, LPOLESTR *names, UINT count, LCID lcid, DISPID *dispid)
 
static BSTR get_member_name (struct object *object, DISPID dispid)
 
static HRESULT WINAPI object_Invoke (ISWbemObject *iface, DISPID member, REFIID riid, LCID lcid, WORD flags, DISPPARAMS *params, VARIANT *result, EXCEPINFO *excep_info, UINT *arg_err)
 
static HRESULT WINAPI object_Put_ (ISWbemObject *iface, LONG iFlags, IDispatch *objWbemNamedValueSet, ISWbemObjectPath **objWbemObjectPath)
 
static HRESULT WINAPI object_PutAsync_ (ISWbemObject *iface, IDispatch *objWbemSink, LONG iFlags, IDispatch *objWbemNamedValueSet, IDispatch *objWbemAsyncContext)
 
static HRESULT WINAPI object_Delete_ (ISWbemObject *iface, LONG iFlags, IDispatch *objWbemNamedValueSet)
 
static HRESULT WINAPI object_DeleteAsync_ (ISWbemObject *iface, IDispatch *objWbemSink, LONG iFlags, IDispatch *objWbemNamedValueSet, IDispatch *objWbemAsyncContext)
 
static HRESULT WINAPI object_Instances_ (ISWbemObject *iface, LONG iFlags, IDispatch *objWbemNamedValueSet, ISWbemObjectSet **objWbemObjectSet)
 
static HRESULT WINAPI object_InstancesAsync_ (ISWbemObject *iface, IDispatch *objWbemSink, LONG iFlags, IDispatch *objWbemNamedValueSet, IDispatch *objWbemAsyncContext)
 
static HRESULT WINAPI object_Subclasses_ (ISWbemObject *iface, LONG iFlags, IDispatch *objWbemNamedValueSet, ISWbemObjectSet **objWbemObjectSet)
 
static HRESULT WINAPI object_SubclassesAsync_ (ISWbemObject *iface, IDispatch *objWbemSink, LONG iFlags, IDispatch *objWbemNamedValueSet, IDispatch *objWbemAsyncContext)
 
static HRESULT WINAPI object_Associators_ (ISWbemObject *iface, BSTR strAssocClass, BSTR strResultClass, BSTR strResultRole, BSTR strRole, VARIANT_BOOL bClassesOnly, VARIANT_BOOL bSchemaOnly, BSTR strRequiredAssocQualifier, BSTR strRequiredQualifier, LONG iFlags, IDispatch *objWbemNamedValueSet, ISWbemObjectSet **objWbemObjectSet)
 
static HRESULT WINAPI object_AssociatorsAsync_ (ISWbemObject *iface, IDispatch *objWbemSink, BSTR strAssocClass, BSTR strResultClass, BSTR strResultRole, BSTR strRole, VARIANT_BOOL bClassesOnly, VARIANT_BOOL bSchemaOnly, BSTR strRequiredAssocQualifier, BSTR strRequiredQualifier, LONG iFlags, IDispatch *objWbemNamedValueSet, IDispatch *objWbemAsyncContext)
 
static HRESULT WINAPI object_References_ (ISWbemObject *iface, BSTR strResultClass, BSTR strRole, VARIANT_BOOL bClassesOnly, VARIANT_BOOL bSchemaOnly, BSTR strRequiredQualifier, LONG iFlags, IDispatch *objWbemNamedValueSet, ISWbemObjectSet **objWbemObjectSet)
 
static HRESULT WINAPI object_ReferencesAsync_ (ISWbemObject *iface, IDispatch *objWbemSink, BSTR strResultClass, BSTR strRole, VARIANT_BOOL bClassesOnly, VARIANT_BOOL bSchemaOnly, BSTR strRequiredQualifier, LONG iFlags, IDispatch *objWbemNamedValueSet, IDispatch *objWbemAsyncContext)
 
static HRESULT WINAPI object_ExecMethod_ (ISWbemObject *iface, BSTR strMethodName, IDispatch *objWbemInParameters, LONG iFlags, IDispatch *objWbemNamedValueSet, ISWbemObject **objWbemOutParameters)
 
static HRESULT WINAPI object_ExecMethodAsync_ (ISWbemObject *iface, IDispatch *objWbemSink, BSTR strMethodName, IDispatch *objWbemInParameters, LONG iFlags, IDispatch *objWbemNamedValueSet, IDispatch *objWbemAsyncContext)
 
static HRESULT WINAPI object_Clone_ (ISWbemObject *iface, ISWbemObject **objWbemObject)
 
static HRESULT WINAPI object_GetObjectText_ (ISWbemObject *iface, LONG iFlags, BSTR *strObjectText)
 
static HRESULT WINAPI object_SpawnDerivedClass_ (ISWbemObject *iface, LONG iFlags, ISWbemObject **objWbemObject)
 
static HRESULT WINAPI object_SpawnInstance_ (ISWbemObject *iface, LONG iFlags, ISWbemObject **objWbemObject)
 
static HRESULT WINAPI object_CompareTo_ (ISWbemObject *iface, IDispatch *objWbemObject, LONG iFlags, VARIANT_BOOL *bResult)
 
static HRESULT WINAPI object_get_Qualifiers_ (ISWbemObject *iface, ISWbemQualifierSet **objWbemQualifierSet)
 
static HRESULT WINAPI object_get_Properties_ (ISWbemObject *iface, ISWbemPropertySet **prop_set)
 
static HRESULT WINAPI object_get_Methods_ (ISWbemObject *iface, ISWbemMethodSet **objWbemMethodSet)
 
static HRESULT WINAPI object_get_Derivation_ (ISWbemObject *iface, VARIANT *strClassNameArray)
 
static HRESULT WINAPI object_get_Path_ (ISWbemObject *iface, ISWbemObjectPath **objWbemObjectPath)
 
static HRESULT WINAPI object_get_Security_ (ISWbemObject *iface, ISWbemSecurity **objWbemSecurity)
 
static HRESULT SWbemObject_create (IWbemClassObject *wbem_object, ISWbemObject **obj)
 
static struct objectsetimpl_from_ISWbemObjectSet (ISWbemObjectSet *iface)
 
static ULONG WINAPI objectset_AddRef (ISWbemObjectSet *iface)
 
static ULONG WINAPI objectset_Release (ISWbemObjectSet *iface)
 
static HRESULT WINAPI objectset_QueryInterface (ISWbemObjectSet *iface, REFIID riid, void **ppvObject)
 
static HRESULT WINAPI objectset_GetTypeInfoCount (ISWbemObjectSet *iface, UINT *count)
 
static HRESULT WINAPI objectset_GetTypeInfo (ISWbemObjectSet *iface, UINT index, LCID lcid, ITypeInfo **info)
 
static HRESULT WINAPI objectset_GetIDsOfNames (ISWbemObjectSet *iface, REFIID riid, LPOLESTR *names, UINT count, LCID lcid, DISPID *dispid)
 
static HRESULT WINAPI objectset_Invoke (ISWbemObjectSet *iface, DISPID member, REFIID riid, LCID lcid, WORD flags, DISPPARAMS *params, VARIANT *result, EXCEPINFO *excep_info, UINT *arg_err)
 
static HRESULT WINAPI objectset_get__NewEnum (ISWbemObjectSet *iface, IUnknown **pUnk)
 
static HRESULT WINAPI objectset_Item (ISWbemObjectSet *iface, BSTR strObjectPath, LONG iFlags, ISWbemObject **objWbemObject)
 
static HRESULT WINAPI objectset_get_Count (ISWbemObjectSet *iface, LONG *iCount)
 
static HRESULT WINAPI objectset_get_Security_ (ISWbemObjectSet *iface, ISWbemSecurity **objWbemSecurity)
 
static HRESULT WINAPI objectset_ItemIndex (ISWbemObjectSet *iface, LONG lIndex, ISWbemObject **objWbemObject)
 
static LONG get_object_count (IEnumWbemClassObject *iter)
 
static HRESULT SWbemObjectSet_create (IEnumWbemClassObject *wbem_objectenum, ISWbemObjectSet **obj)
 
static struct enumvarimpl_from_IEnumVARIANT (IEnumVARIANT *iface)
 
static ULONG WINAPI enumvar_AddRef (IEnumVARIANT *iface)
 
static ULONG WINAPI enumvar_Release (IEnumVARIANT *iface)
 
static HRESULT WINAPI enumvar_QueryInterface (IEnumVARIANT *iface, REFIID riid, void **ppvObject)
 
static HRESULT WINAPI enumvar_Next (IEnumVARIANT *iface, ULONG celt, VARIANT *var, ULONG *fetched)
 
static HRESULT WINAPI enumvar_Skip (IEnumVARIANT *iface, ULONG celt)
 
static HRESULT WINAPI enumvar_Reset (IEnumVARIANT *iface)
 
static HRESULT WINAPI enumvar_Clone (IEnumVARIANT *iface, IEnumVARIANT **penum)
 
static struct servicesimpl_from_ISWbemServices (ISWbemServices *iface)
 
static ULONG WINAPI services_AddRef (ISWbemServices *iface)
 
static ULONG WINAPI services_Release (ISWbemServices *iface)
 
static HRESULT WINAPI services_QueryInterface (ISWbemServices *iface, REFIID riid, void **ppvObject)
 
static HRESULT WINAPI services_GetTypeInfoCount (ISWbemServices *iface, UINT *count)
 
static HRESULT WINAPI services_GetTypeInfo (ISWbemServices *iface, UINT index, LCID lcid, ITypeInfo **info)
 
static HRESULT WINAPI services_GetIDsOfNames (ISWbemServices *iface, REFIID riid, LPOLESTR *names, UINT count, LCID lcid, DISPID *dispid)
 
static HRESULT WINAPI services_Invoke (ISWbemServices *iface, DISPID member, REFIID riid, LCID lcid, WORD flags, DISPPARAMS *params, VARIANT *result, EXCEPINFO *excep_info, UINT *arg_err)
 
static HRESULT WINAPI services_Get (ISWbemServices *iface, BSTR strObjectPath, LONG iFlags, IDispatch *objWbemNamedValueSet, ISWbemObject **objWbemObject)
 
static HRESULT WINAPI services_GetAsync (ISWbemServices *iface, IDispatch *objWbemSink, BSTR strObjectPath, LONG iFlags, IDispatch *objWbemNamedValueSet, IDispatch *objWbemAsyncContext)
 
static HRESULT WINAPI services_Delete (ISWbemServices *iface, BSTR strObjectPath, LONG iFlags, IDispatch *objWbemNamedValueSet)
 
static HRESULT WINAPI services_DeleteAsync (ISWbemServices *This, IDispatch *objWbemSink, BSTR strObjectPath, LONG iFlags, IDispatch *objWbemNamedValueSet, IDispatch *objWbemAsyncContext)
 
static BSTR build_query_string (const WCHAR *class)
 
static HRESULT WINAPI services_InstancesOf (ISWbemServices *iface, BSTR strClass, LONG iFlags, IDispatch *objWbemNamedValueSet, ISWbemObjectSet **objWbemObjectSet)
 
static HRESULT WINAPI services_InstancesOfAsync (ISWbemServices *iface, IDispatch *objWbemSink, BSTR strClass, LONG iFlags, IDispatch *objWbemNamedValueSet, IDispatch *objWbemAsyncContext)
 
static HRESULT WINAPI services_SubclassesOf (ISWbemServices *iface, BSTR strSuperclass, LONG iFlags, IDispatch *objWbemNamedValueSet, ISWbemObjectSet **objWbemObjectSet)
 
static HRESULT WINAPI services_SubclassesOfAsync (ISWbemServices *iface, IDispatch *objWbemSink, BSTR strSuperclass, LONG iFlags, IDispatch *objWbemNamedValueSet, IDispatch *objWbemAsyncContext)
 
static HRESULT WINAPI services_ExecQuery (ISWbemServices *iface, BSTR strQuery, BSTR strQueryLanguage, LONG iFlags, IDispatch *objWbemNamedValueSet, ISWbemObjectSet **objWbemObjectSet)
 
static HRESULT WINAPI services_ExecQueryAsync (ISWbemServices *iface, IDispatch *objWbemSink, BSTR strQuery, BSTR strQueryLanguage, LONG lFlags, IDispatch *objWbemNamedValueSet, IDispatch *objWbemAsyncContext)
 
static HRESULT WINAPI services_AssociatorsOf (ISWbemServices *iface, BSTR strObjectPath, BSTR strAssocClass, BSTR strResultClass, BSTR strResultRole, BSTR strRole, VARIANT_BOOL bClassesOnly, VARIANT_BOOL bSchemaOnly, BSTR strRequiredAssocQualifier, BSTR strRequiredQualifier, LONG iFlags, IDispatch *objWbemNamedValueSet, ISWbemObjectSet **objWbemObjectSet)
 
static HRESULT WINAPI services_AssociatorsOfAsync (ISWbemServices *iface, IDispatch *objWbemSink, BSTR strObjectPath, BSTR strAssocClass, BSTR strResultClass, BSTR strResultRole, BSTR strRole, VARIANT_BOOL bClassesOnly, VARIANT_BOOL bSchemaOnly, BSTR strRequiredAssocQualifier, BSTR strRequiredQualifier, LONG iFlags, IDispatch *objWbemNamedValueSet, IDispatch *objWbemAsyncContext)
 
static HRESULT WINAPI services_ReferencesTo (ISWbemServices *iface, BSTR strObjectPath, BSTR strResultClass, BSTR strRole, VARIANT_BOOL bClassesOnly, VARIANT_BOOL bSchemaOnly, BSTR strRequiredQualifier, LONG iFlags, IDispatch *objWbemNamedValueSet, ISWbemObjectSet **objWbemObjectSet)
 
static HRESULT WINAPI services_ReferencesToAsync (ISWbemServices *iface, IDispatch *objWbemSink, BSTR strObjectPath, BSTR strResultClass, BSTR strRole, VARIANT_BOOL bClassesOnly, VARIANT_BOOL bSchemaOnly, BSTR strRequiredQualifier, LONG iFlags, IDispatch *objWbemNamedValueSet, IDispatch *objWbemAsyncContext)
 
static HRESULT WINAPI services_ExecNotificationQuery (ISWbemServices *iface, BSTR strQuery, BSTR strQueryLanguage, LONG iFlags, IDispatch *objWbemNamedValueSet, ISWbemEventSource **objWbemEventSource)
 
static HRESULT WINAPI services_ExecNotificationQueryAsync (ISWbemServices *iface, IDispatch *objWbemSink, BSTR strQuery, BSTR strQueryLanguage, LONG iFlags, IDispatch *objWbemNamedValueSet, IDispatch *objWbemAsyncContext)
 
static HRESULT WINAPI services_ExecMethod (ISWbemServices *iface, BSTR strObjectPath, BSTR strMethodName, IDispatch *objWbemInParameters, LONG iFlags, IDispatch *objWbemNamedValueSet, ISWbemObject **objWbemOutParameters)
 
static HRESULT WINAPI services_ExecMethodAsync (ISWbemServices *iface, IDispatch *objWbemSink, BSTR strObjectPath, BSTR strMethodName, IDispatch *objWbemInParameters, LONG iFlags, IDispatch *objWbemNamedValueSet, IDispatch *objWbemAsyncContext)
 
static HRESULT WINAPI services_get_Security_ (ISWbemServices *iface, ISWbemSecurity **objWbemSecurity)
 
static HRESULT SWbemServices_create (IWbemServices *wbem_services, ISWbemServices **obj)
 
static struct locatorimpl_from_ISWbemLocator (ISWbemLocator *iface)
 
static ULONG WINAPI locator_AddRef (ISWbemLocator *iface)
 
static ULONG WINAPI locator_Release (ISWbemLocator *iface)
 
static HRESULT WINAPI locator_QueryInterface (ISWbemLocator *iface, REFIID riid, void **ppvObject)
 
static HRESULT WINAPI locator_GetTypeInfoCount (ISWbemLocator *iface, UINT *count)
 
static HRESULT WINAPI locator_GetTypeInfo (ISWbemLocator *iface, UINT index, LCID lcid, ITypeInfo **info)
 
static HRESULT WINAPI locator_GetIDsOfNames (ISWbemLocator *iface, REFIID riid, LPOLESTR *names, UINT count, LCID lcid, DISPID *dispid)
 
static HRESULT WINAPI locator_Invoke (ISWbemLocator *iface, DISPID member, REFIID riid, LCID lcid, WORD flags, DISPPARAMS *params, VARIANT *result, EXCEPINFO *excep_info, UINT *arg_err)
 
static BSTR build_resource_string (BSTR server, BSTR namespace)
 
static HRESULT WINAPI locator_ConnectServer (ISWbemLocator *iface, BSTR strServer, BSTR strNamespace, BSTR strUser, BSTR strPassword, BSTR strLocale, BSTR strAuthority, LONG iSecurityFlags, IDispatch *objWbemNamedValueSet, ISWbemServices **objWbemServices)
 
static HRESULT WINAPI locator_get_Security_ (ISWbemLocator *iface, ISWbemSecurity **objWbemSecurity)
 
HRESULT SWbemLocator_create (void **obj)
 
static struct securityimpl_from_ISWbemSecurity (ISWbemSecurity *iface)
 
static ULONG WINAPI security_AddRef (ISWbemSecurity *iface)
 
static ULONG WINAPI security_Release (ISWbemSecurity *iface)
 
static HRESULT WINAPI security_QueryInterface (ISWbemSecurity *iface, REFIID riid, void **ppvObject)
 
static HRESULT WINAPI security_GetTypeInfoCount (ISWbemSecurity *iface, UINT *count)
 
static HRESULT WINAPI security_GetTypeInfo (ISWbemSecurity *iface, UINT index, LCID lcid, ITypeInfo **info)
 
static HRESULT WINAPI security_GetIDsOfNames (ISWbemSecurity *iface, REFIID riid, LPOLESTR *names, UINT count, LCID lcid, DISPID *dispid)
 
static HRESULT WINAPI security_Invoke (ISWbemSecurity *iface, DISPID member, REFIID riid, LCID lcid, WORD flags, DISPPARAMS *params, VARIANT *result, EXCEPINFO *excep_info, UINT *arg_err)
 
static HRESULT WINAPI security_get_ImpersonationLevel (ISWbemSecurity *iface, WbemImpersonationLevelEnum *impersonation_level)
 
static HRESULT WINAPI security_put_ImpersonationLevel (ISWbemSecurity *iface, WbemImpersonationLevelEnum impersonation_level)
 
static HRESULT WINAPI security_get_AuthenticationLevel (ISWbemSecurity *iface, WbemAuthenticationLevelEnum *authentication_level)
 
static HRESULT WINAPI security_put_AuthenticationLevel (ISWbemSecurity *iface, WbemAuthenticationLevelEnum authentication_level)
 
static HRESULT WINAPI security_get_Privileges (ISWbemSecurity *iface, ISWbemPrivilegeSet **privilege_set)
 

Variables

static ITypeLibwbemdisp_typelib
 
static ITypeInfowbemdisp_typeinfo [last_tid]
 
static REFIID wbemdisp_tid_id []
 
static const ISWbemPropertyVtbl property_vtbl
 
static const ISWbemPropertySetVtbl propertyset_vtbl
 
static const ISWbemObjectVtbl object_vtbl
 
static const ISWbemObjectSetVtbl objectset_vtbl
 
static const struct IEnumVARIANTVtbl enumvar_vtbl
 
static const ISWbemServicesVtbl services_vtbl
 
static const ISWbemLocatorVtbl locator_vtbl
 
static const ISWbemSecurityVtbl security_vtbl
 

Macro Definition Documentation

◆ COBJMACROS

#define COBJMACROS

Definition at line 19 of file locator.c.

◆ DISPID_BASE

#define DISPID_BASE   0x1800000

Definition at line 500 of file locator.c.

◆ DISPID_BASE_METHOD

#define DISPID_BASE_METHOD   0x1000000

Definition at line 501 of file locator.c.

Enumeration Type Documentation

◆ type_id

Enumerator
INetFwAuthorizedApplication_tid 
INetFwAuthorizedApplications_tid 
INetFwMgr_tid 
INetFwOpenPort_tid 
INetFwOpenPorts_tid 
INetFwPolicy_tid 
INetFwPolicy2_tid 
INetFwProfile_tid 
INetFwRules_tid 
IUPnPNAT_tid 
last_tid 
ISWbemLocator_tid 
ISWbemObject_tid 
ISWbemObjectSet_tid 
ISWbemProperty_tid 
ISWbemPropertySet_tid 
ISWbemServices_tid 
ISWbemSecurity_tid 
last_tid 
IWinHttpRequest_tid 
last_tid 

Definition at line 41 of file locator.c.

42{
51};
@ ISWbemObject_tid
Definition: locator.c:44
@ ISWbemObjectSet_tid
Definition: locator.c:45
@ ISWbemSecurity_tid
Definition: locator.c:49
@ last_tid
Definition: locator.c:50
@ ISWbemLocator_tid
Definition: locator.c:43
@ ISWbemPropertySet_tid
Definition: locator.c:47
@ ISWbemProperty_tid
Definition: locator.c:46
@ ISWbemServices_tid
Definition: locator.c:48

Function Documentation

◆ build_query_string()

static BSTR build_query_string ( const WCHAR class)
static

Definition at line 1702 of file locator.c.

1703{
1704 static const WCHAR selectW[] = {'S','E','L','E','C','T',' ','*',' ','F','R','O','M',' ',0};
1705 UINT len = lstrlenW(class) + ARRAY_SIZE(selectW);
1706 BSTR ret;
1707
1708 if (!(ret = SysAllocStringLen( NULL, len ))) return NULL;
1709 lstrcpyW( ret, selectW );
1710 lstrcatW( ret, class );
1711 return ret;
1712}
#define ARRAY_SIZE(A)
Definition: main.h:20
#define NULL
Definition: types.h:112
OLECHAR * BSTR
Definition: compat.h:2293
#define lstrcpyW
Definition: compat.h:749
#define lstrlenW
Definition: compat.h:750
GLenum GLsizei len
Definition: glext.h:6722
static const WCHAR selectW[]
Definition: htmlelem.c:38
LPWSTR WINAPI lstrcatW(LPWSTR lpString1, LPCWSTR lpString2)
Definition: lstring.c:274
unsigned int UINT
Definition: ndis.h:50
BSTR WINAPI SysAllocStringLen(const OLECHAR *str, unsigned int len)
Definition: oleaut.c:339
int ret
__wchar_t WCHAR
Definition: xmlstorage.h:180

Referenced by services_InstancesOf().

◆ build_resource_string()

static BSTR build_resource_string ( BSTR  server,
BSTR  namespace 
)
static

Definition at line 2129 of file locator.c.

2130{
2131 static const WCHAR defaultW[] = {'r','o','o','t','\\','d','e','f','a','u','l','t',0};
2132 ULONG len, len_server = 0, len_namespace = 0;
2133 BSTR ret;
2134
2135 if (server && *server) len_server = lstrlenW( server );
2136 else len_server = 1;
2137 if (namespace && *namespace) len_namespace = lstrlenW( namespace );
2138 else len_namespace = ARRAY_SIZE(defaultW) - 1;
2139
2140 if (!(ret = SysAllocStringLen( NULL, 2 + len_server + 1 + len_namespace ))) return NULL;
2141
2142 ret[0] = ret[1] = '\\';
2143 if (server && *server) lstrcpyW( ret + 2, server );
2144 else ret[2] = '.';
2145
2146 len = len_server + 2;
2147 ret[len++] = '\\';
2148
2149 if (namespace && *namespace) lstrcpyW( ret + len, namespace );
2150 else lstrcpyW( ret + len, defaultW );
2151 return ret;
2152}
uint32_t ULONG
Definition: typedefs.h:59
static const WCHAR defaultW[]
Definition: lex.c:42
static rfbScreenInfoPtr server
Definition: vnc.c:74

Referenced by locator_ConnectServer().

◆ enumvar_AddRef()

static ULONG WINAPI enumvar_AddRef ( IEnumVARIANT iface)
static

Definition at line 1391 of file locator.c.

1393{
1394 struct enumvar *enumvar = impl_from_IEnumVARIANT( iface );
1395 return InterlockedIncrement( &enumvar->refs );
1396}
#define InterlockedIncrement
Definition: armddk.h:53
static struct enumvar * impl_from_IEnumVARIANT(IEnumVARIANT *iface)
Definition: locator.c:1385
LONG refs
Definition: locator.c:1381

◆ enumvar_Clone()

static HRESULT WINAPI enumvar_Clone ( IEnumVARIANT iface,
IEnumVARIANT **  penum 
)
static

Definition at line 1478 of file locator.c.

1479{
1480 FIXME( "%p, %p\n", iface, penum );
1481 return E_NOTIMPL;
1482}
#define FIXME(fmt,...)
Definition: precomp.h:53
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ enumvar_Next()

static HRESULT WINAPI enumvar_Next ( IEnumVARIANT iface,
ULONG  celt,
VARIANT var,
ULONG fetched 
)
static

Definition at line 1435 of file locator.c.

1436{
1437 struct enumvar *enumvar = impl_from_IEnumVARIANT( iface );
1439 ULONG count = 0;
1440
1441 TRACE( "%p, %u, %p, %p\n", iface, celt, var, fetched );
1442
1443 if (celt) IEnumWbemClassObject_Next( enumvar->objectenum, WBEM_INFINITE, 1, &obj, &count );
1444 if (count)
1445 {
1446 ISWbemObject *sobj;
1447 HRESULT hr;
1448
1449 hr = SWbemObject_create( obj, &sobj );
1450 IWbemClassObject_Release( obj );
1451 if (FAILED( hr )) return hr;
1452
1453 V_VT( var ) = VT_DISPATCH;
1454 V_DISPATCH( var ) = (IDispatch *)sobj;
1455 }
1456 if (fetched) *fetched = count;
1457 return (count < celt) ? S_FALSE : S_OK;
1458}
@ VT_DISPATCH
Definition: compat.h:2304
GLuint GLuint GLsizei count
Definition: gl.h:1545
#define S_OK
Definition: intsafe.h:52
#define FAILED(hr)
Definition: intsafe.h:51
static HRESULT SWbemObject_create(IWbemClassObject *wbem_object, ISWbemObject **obj)
Definition: locator.c:1093
const char * var
Definition: shader.c:5666
#define V_VT(A)
Definition: oleauto.h:211
#define V_DISPATCH(A)
Definition: oleauto.h:239
HRESULT hr
Definition: shlfolder.c:183
#define TRACE(s)
Definition: solgame.cpp:4
IEnumWbemClassObject * objectenum
Definition: locator.c:1382
@ WBEM_INFINITE
Definition: wbemcli.idl:189
#define S_FALSE
Definition: winerror.h:2357

◆ enumvar_QueryInterface()

static HRESULT WINAPI enumvar_QueryInterface ( IEnumVARIANT iface,
REFIID  riid,
void **  ppvObject 
)
static

Definition at line 1412 of file locator.c.

1416{
1417 struct enumvar *enumvar = impl_from_IEnumVARIANT( iface );
1418
1419 TRACE( "%p %s %p\n", enumvar, debugstr_guid(riid), ppvObject );
1420
1421 if (IsEqualGUID( riid, &IID_IEnumVARIANT ) ||
1423 {
1424 *ppvObject = iface;
1425 }
1426 else
1427 {
1428 FIXME( "interface %s not implemented\n", debugstr_guid(riid) );
1429 return E_NOINTERFACE;
1430 }
1431 IEnumVARIANT_AddRef( iface );
1432 return S_OK;
1433}
const GUID IID_IUnknown
REFIID riid
Definition: atlbase.h:39
#define debugstr_guid
Definition: kernel32.h:35
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
Definition: wincrypt.h:6082
#define E_NOINTERFACE
Definition: winerror.h:2364

◆ enumvar_Release()

static ULONG WINAPI enumvar_Release ( IEnumVARIANT iface)
static

Definition at line 1398 of file locator.c.

1400{
1401 struct enumvar *enumvar = impl_from_IEnumVARIANT( iface );
1403 if (!refs)
1404 {
1405 TRACE( "destroying %p\n", enumvar );
1406 IEnumWbemClassObject_Release( enumvar->objectenum );
1407 heap_free( enumvar );
1408 }
1409 return refs;
1410}
static BOOL heap_free(void *mem)
Definition: appwiz.h:76
#define InterlockedDecrement
Definition: armddk.h:52
long LONG
Definition: pedump.c:60

◆ enumvar_Reset()

static HRESULT WINAPI enumvar_Reset ( IEnumVARIANT iface)
static

Definition at line 1469 of file locator.c.

1470{
1471 struct enumvar *enumvar = impl_from_IEnumVARIANT( iface );
1472
1473 TRACE( "%p\n", iface );
1474
1475 return IEnumWbemClassObject_Reset( enumvar->objectenum );
1476}

◆ enumvar_Skip()

static HRESULT WINAPI enumvar_Skip ( IEnumVARIANT iface,
ULONG  celt 
)
static

Definition at line 1460 of file locator.c.

1461{
1462 struct enumvar *enumvar = impl_from_IEnumVARIANT( iface );
1463
1464 TRACE( "%p, %u\n", iface, celt );
1465
1466 return IEnumWbemClassObject_Skip( enumvar->objectenum, WBEM_INFINITE, celt );
1467}

◆ EnumVARIANT_create()

static HRESULT EnumVARIANT_create ( IEnumWbemClassObject objectenum,
IEnumVARIANT **  obj 
)
static

Definition at line 1495 of file locator.c.

1496{
1497 struct enumvar *enumvar;
1498
1499 if (!(enumvar = heap_alloc( sizeof(*enumvar) ))) return E_OUTOFMEMORY;
1501 enumvar->refs = 1;
1503 IEnumWbemClassObject_AddRef( enumvar->objectenum );
1504
1506 TRACE( "returning iface %p\n", *obj );
1507 return S_OK;
1508}
static void * heap_alloc(size_t len)
Definition: appwiz.h:66
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
static const struct IEnumVARIANTVtbl enumvar_vtbl
Definition: locator.c:1484
IEnumVARIANT IEnumVARIANT_iface
Definition: locator.c:1380

Referenced by objectset_get__NewEnum().

◆ get_member_dispid()

static DISPID get_member_dispid ( struct object object,
const WCHAR name 
)
static

Definition at line 679 of file locator.c.

680{
681 UINT i;
682 for (i = 0; i < object->nb_members; i++)
683 {
684 if (!wcsicmp( object->members[i].name, name ))
685 {
686 if (!object->members[i].dispid)
687 {
688 if (object->members[i].is_method)
689 object->members[i].dispid = ++object->last_dispid_method;
690 else
691 object->members[i].dispid = ++object->last_dispid;
692 }
693 return object->members[i].dispid;
694 }
695 }
696 return DISPID_UNKNOWN;
697}
#define wcsicmp
Definition: compat.h:15
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
Definition: name.c:39
struct member * members
Definition: locator.c:515

Referenced by object_GetIDsOfNames().

◆ get_member_name()

static BSTR get_member_name ( struct object object,
DISPID  dispid 
)
static

Definition at line 735 of file locator.c.

736{
737 UINT i;
738 for (i = 0; i < object->nb_members; i++)
739 {
740 if (object->members[i].dispid == dispid) return object->members[i].name;
741 }
742 return NULL;
743}

Referenced by object_Invoke().

◆ get_object_count()

static LONG get_object_count ( IEnumWbemClassObject iter)
static

Definition at line 1352 of file locator.c.

1353{
1354 LONG count = 0;
1355 while (IEnumWbemClassObject_Skip( iter, WBEM_INFINITE, 1 ) == S_OK) count++;
1356 IEnumWbemClassObject_Reset( iter );
1357 return count;
1358}

Referenced by SWbemObjectSet_create().

◆ get_typeinfo()

static HRESULT get_typeinfo ( enum type_id  tid,
ITypeInfo **  ret 
)
static

Definition at line 67 of file locator.c.

68{
69 HRESULT hr;
70
72 {
74
75 hr = LoadRegTypeLib( &LIBID_WbemScripting, 1, 2, LOCALE_SYSTEM_DEFAULT, &typelib );
76 if (FAILED( hr ))
77 {
78 ERR( "LoadRegTypeLib failed: %08x\n", hr );
79 return hr;
80 }
82 ITypeLib_Release( typelib );
83 }
85 {
87
88 hr = ITypeLib_GetTypeInfoOfGuid( wbemdisp_typelib, wbemdisp_tid_id[tid], &typeinfo );
89 if (FAILED( hr ))
90 {
91 ERR( "GetTypeInfoOfGuid(%s) failed: %08x\n", debugstr_guid(wbemdisp_tid_id[tid]), hr );
92 return hr;
93 }
95 ITypeInfo_Release( typeinfo );
96 }
98 ITypeInfo_AddRef( *ret );
99 return S_OK;
100}
#define ERR(fmt,...)
Definition: precomp.h:57
HRESULT WINAPI LoadRegTypeLib(REFGUID rguid, WORD wVerMajor, WORD wVerMinor, LCID lcid, ITypeLib **ppTLib)
Definition: typelib.c:531
#define InterlockedCompareExchangePointer
Definition: interlocked.h:129
static REFIID wbemdisp_tid_id[]
Definition: locator.c:56
static ITypeLib * wbemdisp_typelib
Definition: locator.c:53
static ITypeInfo * wbemdisp_typeinfo[last_tid]
Definition: locator.c:54
static TfClientId tid
#define LOCALE_SYSTEM_DEFAULT

Referenced by locator_GetIDsOfNames(), locator_GetTypeInfo(), locator_Invoke(), object_GetIDsOfNames(), object_Invoke(), objectset_GetIDsOfNames(), objectset_GetTypeInfo(), objectset_Invoke(), property_GetIDsOfNames(), property_GetTypeInfo(), property_Invoke(), propertyset_GetIDsOfNames(), propertyset_GetTypeInfo(), propertyset_Invoke(), security_GetIDsOfNames(), security_GetTypeInfo(), security_Invoke(), services_GetIDsOfNames(), services_GetTypeInfo(), and services_Invoke().

◆ impl_from_IEnumVARIANT()

static struct enumvar * impl_from_IEnumVARIANT ( IEnumVARIANT iface)
inlinestatic

Definition at line 1385 of file locator.c.

1387{
1388 return CONTAINING_RECORD( iface, struct enumvar, IEnumVARIANT_iface );
1389}
#define CONTAINING_RECORD(address, type, field)
Definition: typedefs.h:260

Referenced by enumvar_AddRef(), enumvar_Next(), enumvar_QueryInterface(), enumvar_Release(), enumvar_Reset(), and enumvar_Skip().

◆ impl_from_ISWbemLocator()

static struct locator * impl_from_ISWbemLocator ( ISWbemLocator *  iface)
inlinestatic

◆ impl_from_ISWbemObject()

static struct object * impl_from_ISWbemObject ( ISWbemObject *  iface)
inlinestatic

Definition at line 521 of file locator.c.

523{
524 return CONTAINING_RECORD( iface, struct object, ISWbemObject_iface );
525}

Referenced by object_AddRef(), object_get_Properties_(), object_GetIDsOfNames(), object_GetTypeInfo(), object_GetTypeInfoCount(), object_Invoke(), object_QueryInterface(), and object_Release().

◆ impl_from_ISWbemObjectSet()

static struct objectset * impl_from_ISWbemObjectSet ( ISWbemObjectSet *  iface)
inlinestatic

◆ impl_from_ISWbemProperty()

static struct property * impl_from_ISWbemProperty ( ISWbemProperty *  iface)
inlinestatic

◆ impl_from_ISWbemPropertySet()

static struct propertyset * impl_from_ISWbemPropertySet ( ISWbemPropertySet *  iface)
inlinestatic

◆ impl_from_ISWbemSecurity()

◆ impl_from_ISWbemServices()

static struct services * impl_from_ISWbemServices ( ISWbemServices *  iface)
inlinestatic

◆ init_members()

static HRESULT init_members ( struct object object)
static

Definition at line 598 of file locator.c.

599{
600 IWbemClassObject *sig_in, *sig_out;
601 LONG i = 0, count = 0;
602 BSTR name;
603 HRESULT hr;
604
605 if (object->members) return S_OK;
606
607 hr = IWbemClassObject_BeginEnumeration( object->object, 0 );
608 if (SUCCEEDED( hr ))
609 {
610 while (IWbemClassObject_Next( object->object, 0, NULL, NULL, NULL, NULL ) == S_OK) count++;
611 IWbemClassObject_EndEnumeration( object->object );
612 }
613
614 hr = IWbemClassObject_BeginMethodEnumeration( object->object, 0 );
615 if (SUCCEEDED( hr ))
616 {
617 while (IWbemClassObject_NextMethod( object->object, 0, &name, &sig_in, &sig_out ) == S_OK)
618 {
619 count++;
621 if (sig_in) IWbemClassObject_Release( sig_in );
622 if (sig_out) IWbemClassObject_Release( sig_out );
623 }
624 IWbemClassObject_EndMethodEnumeration( object->object );
625 }
626
627 if (!(object->members = heap_alloc( sizeof(struct member) * count ))) return E_OUTOFMEMORY;
628
629 hr = IWbemClassObject_BeginEnumeration( object->object, 0 );
630 if (SUCCEEDED( hr ))
631 {
632 while (IWbemClassObject_Next( object->object, 0, &name, NULL, NULL, NULL ) == S_OK)
633 {
634 object->members[i].name = name;
635 object->members[i].is_method = FALSE;
636 object->members[i].dispid = 0;
637 if (++i > count)
638 {
639 IWbemClassObject_EndEnumeration( object->object );
640 goto error;
641 }
642 TRACE( "added property %s\n", debugstr_w(name) );
643 }
644 IWbemClassObject_EndEnumeration( object->object );
645 }
646
647 hr = IWbemClassObject_BeginMethodEnumeration( object->object, 0 );
648 if (SUCCEEDED( hr ))
649 {
650 while (IWbemClassObject_NextMethod( object->object, 0, &name, &sig_in, &sig_out ) == S_OK)
651 {
652 object->members[i].name = name;
653 object->members[i].is_method = TRUE;
654 object->members[i].dispid = 0;
655 if (++i > count)
656 {
657 IWbemClassObject_EndMethodEnumeration( object->object );
658 goto error;
659 }
660 if (sig_in) IWbemClassObject_Release( sig_in );
661 if (sig_out) IWbemClassObject_Release( sig_out );
662 TRACE( "added method %s\n", debugstr_w(name) );
663 }
664 IWbemClassObject_EndMethodEnumeration( object->object );
665 }
666
667 object->nb_members = count;
668 TRACE( "added %u members\n", object->nb_members );
669 return S_OK;
670
671error:
672 for (--i; i >= 0; i--) SysFreeString( object->members[i].name );
674 object->members = NULL;
675 object->nb_members = 0;
676 return E_FAIL;
677}
#define E_FAIL
Definition: ddrawi.h:102
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
#define SUCCEEDED(hr)
Definition: intsafe.h:50
#define debugstr_w
Definition: kernel32.h:32
#define error(str)
Definition: mkdosfs.c:1605
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
Definition: oleaut.c:271
UINT nb_members
Definition: locator.c:516
IWbemClassObject * object
Definition: locator.c:514

Referenced by object_GetIDsOfNames().

◆ ISWbemSecurity_create()

static HRESULT ISWbemSecurity_create ( ISWbemSecurity **  obj)
static

Definition at line 2447 of file locator.c.

2448{
2449 struct security *security;
2450
2451 TRACE( "%p\n", obj );
2452
2453 if (!(security = heap_alloc( sizeof(*security) ))) return E_OUTOFMEMORY;
2455 security->refs = 1;
2458
2460 TRACE( "returning iface %p\n", *obj );
2461 return S_OK;
2462}
static const ISWbemSecurityVtbl security_vtbl
Definition: locator.c:2431
@ wbemImpersonationLevelImpersonate
Definition: wbemdisp.idl:952
@ wbemAuthenticationLevelPktPrivacy
Definition: wbemdisp.idl:969
WbemAuthenticationLevelEnum authlevel
Definition: locator.c:2241
LONG refs
Definition: locator.c:2239
ISWbemSecurity ISWbemSecurity_iface
Definition: locator.c:2238
WbemImpersonationLevelEnum implevel
Definition: locator.c:2240

Referenced by locator_get_Security_(), and services_get_Security_().

◆ locator_AddRef()

static ULONG WINAPI locator_AddRef ( ISWbemLocator *  iface)
static

Definition at line 2007 of file locator.c.

2009{
2010 struct locator *locator = impl_from_ISWbemLocator( iface );
2011 return InterlockedIncrement( &locator->refs );
2012}
static struct locator * impl_from_ISWbemLocator(ISWbemLocator *iface)
Definition: locator.c:2002
LONG refs
Definition: locator.c:1998

◆ locator_ConnectServer()

static HRESULT WINAPI locator_ConnectServer ( ISWbemLocator *  iface,
BSTR  strServer,
BSTR  strNamespace,
BSTR  strUser,
BSTR  strPassword,
BSTR  strLocale,
BSTR  strAuthority,
LONG  iSecurityFlags,
IDispatch objWbemNamedValueSet,
ISWbemServices **  objWbemServices 
)
static

Definition at line 2154 of file locator.c.

2165{
2166 struct locator *locator = impl_from_ISWbemLocator( iface );
2168 BSTR resource;
2169 HRESULT hr;
2170
2171 TRACE( "%p, %s, %s, %s, %p, %s, %s, 0x%08x, %p, %p\n", iface, debugstr_w(strServer),
2172 debugstr_w(strNamespace), debugstr_w(strUser), strPassword, debugstr_w(strLocale),
2173 debugstr_w(strAuthority), iSecurityFlags, objWbemNamedValueSet, objWbemServices );
2174
2175 if (objWbemNamedValueSet) FIXME( "context not supported\n" );
2176
2177 if (!locator->locator)
2178 {
2179 hr = CoCreateInstance( &CLSID_WbemLocator, NULL, CLSCTX_INPROC_SERVER, &IID_IWbemLocator,
2180 (void **)&locator->locator );
2181 if (hr != S_OK) return hr;
2182 }
2183
2184 if (!(resource = build_resource_string( strServer, strNamespace ))) return E_OUTOFMEMORY;
2185 hr = IWbemLocator_ConnectServer( locator->locator, resource, strUser, strPassword, strLocale,
2186 iSecurityFlags, strAuthority, NULL, &services );
2188 if (hr != S_OK) return hr;
2189
2190 hr = SWbemServices_create( services, objWbemServices );
2191 IWbemServices_Release( services );
2192 return hr;
2193}
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
Definition: compobj.c:3325
#define resource
Definition: kernel32.h:9
static BSTR build_resource_string(BSTR server, BSTR namespace)
Definition: locator.c:2129
static HRESULT SWbemServices_create(IWbemServices *wbem_services, ISWbemServices **obj)
Definition: locator.c:1978
IWbemLocator * locator
Definition: locator.c:1999

◆ locator_get_Security_()

static HRESULT WINAPI locator_get_Security_ ( ISWbemLocator *  iface,
ISWbemSecurity **  objWbemSecurity 
)
static

Definition at line 2195 of file locator.c.

2198{
2199 TRACE( "%p, %p\n", iface, objWbemSecurity );
2200
2201 if (!objWbemSecurity)
2202 return E_INVALIDARG;
2203
2204 return ISWbemSecurity_create( objWbemSecurity );
2205}
#define E_INVALIDARG
Definition: ddrawi.h:101
static HRESULT ISWbemSecurity_create(ISWbemSecurity **)
Definition: locator.c:2447

◆ locator_GetIDsOfNames()

static HRESULT WINAPI locator_GetIDsOfNames ( ISWbemLocator *  iface,
REFIID  riid,
LPOLESTR names,
UINT  count,
LCID  lcid,
DISPID dispid 
)
static

Definition at line 2076 of file locator.c.

2083{
2084 struct locator *locator = impl_from_ISWbemLocator( iface );
2086 HRESULT hr;
2087
2088 TRACE( "%p, %s, %p, %u, %u, %p\n", locator, debugstr_guid(riid), names, count, lcid, dispid );
2089
2090 if (!names || !count || !dispid) return E_INVALIDARG;
2091
2093 if (SUCCEEDED(hr))
2094 {
2095 hr = ITypeInfo_GetIDsOfNames( typeinfo, names, count, dispid );
2096 ITypeInfo_Release( typeinfo );
2097 }
2098 return hr;
2099}
GLuint GLuint * names
Definition: glext.h:11545
static HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
Definition: locator.c:67

◆ locator_GetTypeInfo()

static HRESULT WINAPI locator_GetTypeInfo ( ISWbemLocator *  iface,
UINT  index,
LCID  lcid,
ITypeInfo **  info 
)
static

Definition at line 2064 of file locator.c.

2069{
2070 struct locator *locator = impl_from_ISWbemLocator( iface );
2071 TRACE( "%p, %u, %u, %p\n", locator, index, lcid, info );
2072
2074}
GLuint index
Definition: glext.h:6031

◆ locator_GetTypeInfoCount()

static HRESULT WINAPI locator_GetTypeInfoCount ( ISWbemLocator *  iface,
UINT count 
)
static

Definition at line 2053 of file locator.c.

2056{
2057 struct locator *locator = impl_from_ISWbemLocator( iface );
2058
2059 TRACE( "%p, %p\n", locator, count );
2060 *count = 1;
2061 return S_OK;
2062}

◆ locator_Invoke()

static HRESULT WINAPI locator_Invoke ( ISWbemLocator *  iface,
DISPID  member,
REFIID  riid,
LCID  lcid,
WORD  flags,
DISPPARAMS *  params,
VARIANT result,
EXCEPINFO *  excep_info,
UINT arg_err 
)
static

Definition at line 2101 of file locator.c.

2111{
2112 struct locator *locator = impl_from_ISWbemLocator( iface );
2114 HRESULT hr;
2115
2116 TRACE( "%p, %d, %s, %d, %d, %p, %p, %p, %p\n", locator, member, debugstr_guid(riid),
2117 lcid, flags, params, result, excep_info, arg_err );
2118
2120 if (SUCCEEDED(hr))
2121 {
2122 hr = ITypeInfo_Invoke( typeinfo, &locator->ISWbemLocator_iface, member, flags,
2123 params, result, excep_info, arg_err );
2124 ITypeInfo_Release( typeinfo );
2125 }
2126 return hr;
2127}
GLenum const GLfloat * params
Definition: glext.h:5645
GLbitfield flags
Definition: glext.h:7161
GLuint64EXT * result
Definition: glext.h:11304
ISWbemLocator ISWbemLocator_iface
Definition: locator.c:1997

◆ locator_QueryInterface()

static HRESULT WINAPI locator_QueryInterface ( ISWbemLocator *  iface,
REFIID  riid,
void **  ppvObject 
)
static

Definition at line 2029 of file locator.c.

2033{
2034 struct locator *locator = impl_from_ISWbemLocator( iface );
2035
2036 TRACE( "%p, %s, %p\n", locator, debugstr_guid( riid ), ppvObject );
2037
2038 if (IsEqualGUID( riid, &IID_ISWbemLocator ) ||
2041 {
2042 *ppvObject = iface;
2043 }
2044 else
2045 {
2046 FIXME( "interface %s not implemented\n", debugstr_guid(riid) );
2047 return E_NOINTERFACE;
2048 }
2049 ISWbemLocator_AddRef( iface );
2050 return S_OK;
2051}
const GUID IID_IDispatch

◆ locator_Release()

static ULONG WINAPI locator_Release ( ISWbemLocator *  iface)
static

Definition at line 2014 of file locator.c.

2016{
2017 struct locator *locator = impl_from_ISWbemLocator( iface );
2019 if (!refs)
2020 {
2021 TRACE( "destroying %p\n", locator );
2022 if (locator->locator)
2023 IWbemLocator_Release( locator->locator );
2024 heap_free( locator );
2025 }
2026 return refs;
2027}

◆ object_AddRef()

static ULONG WINAPI object_AddRef ( ISWbemObject *  iface)
static

Definition at line 527 of file locator.c.

529{
530 struct object *object = impl_from_ISWbemObject( iface );
531 return InterlockedIncrement( &object->refs );
532}
static struct object * impl_from_ISWbemObject(ISWbemObject *iface)
Definition: locator.c:521
LONG refs
Definition: locator.c:513

◆ object_Associators_()

static HRESULT WINAPI object_Associators_ ( ISWbemObject *  iface,
BSTR  strAssocClass,
BSTR  strResultClass,
BSTR  strResultRole,
BSTR  strRole,
VARIANT_BOOL  bClassesOnly,
VARIANT_BOOL  bSchemaOnly,
BSTR  strRequiredAssocQualifier,
BSTR  strRequiredQualifier,
LONG  iFlags,
IDispatch objWbemNamedValueSet,
ISWbemObjectSet **  objWbemObjectSet 
)
static

Definition at line 871 of file locator.c.

884{
885 FIXME( "\n" );
886 return E_NOTIMPL;
887}

◆ object_AssociatorsAsync_()

static HRESULT WINAPI object_AssociatorsAsync_ ( ISWbemObject *  iface,
IDispatch objWbemSink,
BSTR  strAssocClass,
BSTR  strResultClass,
BSTR  strResultRole,
BSTR  strRole,
VARIANT_BOOL  bClassesOnly,
VARIANT_BOOL  bSchemaOnly,
BSTR  strRequiredAssocQualifier,
BSTR  strRequiredQualifier,
LONG  iFlags,
IDispatch objWbemNamedValueSet,
IDispatch objWbemAsyncContext 
)
static

Definition at line 889 of file locator.c.

903{
904 FIXME( "\n" );
905 return E_NOTIMPL;
906}

◆ object_Clone_()

static HRESULT WINAPI object_Clone_ ( ISWbemObject *  iface,
ISWbemObject **  objWbemObject 
)
static

Definition at line 964 of file locator.c.

967{
968 FIXME( "\n" );
969 return E_NOTIMPL;
970}

◆ object_CompareTo_()

static HRESULT WINAPI object_CompareTo_ ( ISWbemObject *  iface,
IDispatch objWbemObject,
LONG  iFlags,
VARIANT_BOOL bResult 
)
static

Definition at line 999 of file locator.c.

1004{
1005 FIXME( "\n" );
1006 return E_NOTIMPL;
1007}

◆ object_Delete_()

static HRESULT WINAPI object_Delete_ ( ISWbemObject *  iface,
LONG  iFlags,
IDispatch objWbemNamedValueSet 
)
static

Definition at line 809 of file locator.c.

813{
814 FIXME( "\n" );
815 return E_NOTIMPL;
816}

◆ object_DeleteAsync_()

static HRESULT WINAPI object_DeleteAsync_ ( ISWbemObject *  iface,
IDispatch objWbemSink,
LONG  iFlags,
IDispatch objWbemNamedValueSet,
IDispatch objWbemAsyncContext 
)
static

Definition at line 818 of file locator.c.

824{
825 FIXME( "\n" );
826 return E_NOTIMPL;
827}

◆ object_ExecMethod_()

static HRESULT WINAPI object_ExecMethod_ ( ISWbemObject *  iface,
BSTR  strMethodName,
IDispatch objWbemInParameters,
LONG  iFlags,
IDispatch objWbemNamedValueSet,
ISWbemObject **  objWbemOutParameters 
)
static

Definition at line 939 of file locator.c.

946{
947 FIXME( "\n" );
948 return E_NOTIMPL;
949}

◆ object_ExecMethodAsync_()

static HRESULT WINAPI object_ExecMethodAsync_ ( ISWbemObject *  iface,
IDispatch objWbemSink,
BSTR  strMethodName,
IDispatch objWbemInParameters,
LONG  iFlags,
IDispatch objWbemNamedValueSet,
IDispatch objWbemAsyncContext 
)
static

Definition at line 951 of file locator.c.

959{
960 FIXME( "\n" );
961 return E_NOTIMPL;
962}

◆ object_get_Derivation_()

static HRESULT WINAPI object_get_Derivation_ ( ISWbemObject *  iface,
VARIANT strClassNameArray 
)
static

Definition at line 1033 of file locator.c.

1036{
1037 FIXME( "\n" );
1038 return E_NOTIMPL;
1039}

◆ object_get_Methods_()

static HRESULT WINAPI object_get_Methods_ ( ISWbemObject *  iface,
ISWbemMethodSet **  objWbemMethodSet 
)
static

Definition at line 1025 of file locator.c.

1028{
1029 FIXME( "\n" );
1030 return E_NOTIMPL;
1031}

◆ object_get_Path_()

static HRESULT WINAPI object_get_Path_ ( ISWbemObject *  iface,
ISWbemObjectPath **  objWbemObjectPath 
)
static

Definition at line 1041 of file locator.c.

1044{
1045 FIXME( "\n" );
1046 return E_NOTIMPL;
1047}

◆ object_get_Properties_()

static HRESULT WINAPI object_get_Properties_ ( ISWbemObject *  iface,
ISWbemPropertySet **  prop_set 
)
static

Definition at line 1017 of file locator.c.

1018{
1019 struct object *object = impl_from_ISWbemObject( iface );
1020
1021 TRACE( "%p, %p\n", object, prop_set );
1022 return SWbemPropertySet_create( object->object, prop_set );
1023}
static HRESULT SWbemPropertySet_create(IWbemClassObject *wbem_object, ISWbemPropertySet **obj)
Definition: locator.c:483

◆ object_get_Qualifiers_()

static HRESULT WINAPI object_get_Qualifiers_ ( ISWbemObject *  iface,
ISWbemQualifierSet **  objWbemQualifierSet 
)
static

Definition at line 1009 of file locator.c.

1012{
1013 FIXME( "\n" );
1014 return E_NOTIMPL;
1015}

◆ object_get_Security_()

static HRESULT WINAPI object_get_Security_ ( ISWbemObject *  iface,
ISWbemSecurity **  objWbemSecurity 
)
static

Definition at line 1049 of file locator.c.

1052{
1053 FIXME( "\n" );
1054 return E_NOTIMPL;
1055}

◆ object_GetIDsOfNames()

static HRESULT WINAPI object_GetIDsOfNames ( ISWbemObject *  iface,
REFIID  riid,
LPOLESTR names,
UINT  count,
LCID  lcid,
DISPID dispid 
)
static

Definition at line 699 of file locator.c.

706{
707 struct object *object = impl_from_ISWbemObject( iface );
708 HRESULT hr;
709 UINT i;
711
712 TRACE( "%p, %s, %p, %u, %u, %p\n", object, debugstr_guid(riid), names, count, lcid, dispid );
713
714 if (!names || !count || !dispid) return E_INVALIDARG;
715
716 hr = init_members( object );
717 if (FAILED( hr )) return hr;
718
720 if (SUCCEEDED(hr))
721 {
722 hr = ITypeInfo_GetIDsOfNames( typeinfo, names, count, dispid );
723 ITypeInfo_Release( typeinfo );
724 }
725 if (SUCCEEDED(hr)) return hr;
726
727 for (i = 0; i < count; i++)
728 {
729 if ((dispid[i] = get_member_dispid( object, names[i] )) == DISPID_UNKNOWN) break;
730 }
731 if (i != count) return DISP_E_UNKNOWNNAME;
732 return S_OK;
733}
static DISPID get_member_dispid(struct object *object, const WCHAR *name)
Definition: locator.c:679
static HRESULT init_members(struct object *object)
Definition: locator.c:598
#define DISP_E_UNKNOWNNAME
Definition: winerror.h:2515

◆ object_GetObjectText_()

static HRESULT WINAPI object_GetObjectText_ ( ISWbemObject *  iface,
LONG  iFlags,
BSTR strObjectText 
)
static

Definition at line 972 of file locator.c.

976{
977 FIXME( "\n" );
978 return E_NOTIMPL;
979}

◆ object_GetTypeInfo()

static HRESULT WINAPI object_GetTypeInfo ( ISWbemObject *  iface,
UINT  index,
LCID  lcid,
ITypeInfo **  info 
)
static

Definition at line 587 of file locator.c.

592{
593 struct object *object = impl_from_ISWbemObject( iface );
594 FIXME( "%p, %u, %u, %p\n", object, index, lcid, info );
595 return E_NOTIMPL;
596}

◆ object_GetTypeInfoCount()

static HRESULT WINAPI object_GetTypeInfoCount ( ISWbemObject *  iface,
UINT count 
)
static

Definition at line 576 of file locator.c.

579{
580 struct object *object = impl_from_ISWbemObject( iface );
581
582 TRACE( "%p, %p\n", object, count );
583 *count = 1;
584 return S_OK;
585}

◆ object_Instances_()

static HRESULT WINAPI object_Instances_ ( ISWbemObject *  iface,
LONG  iFlags,
IDispatch objWbemNamedValueSet,
ISWbemObjectSet **  objWbemObjectSet 
)
static

Definition at line 829 of file locator.c.

834{
835 FIXME( "\n" );
836 return E_NOTIMPL;
837}

◆ object_InstancesAsync_()

static HRESULT WINAPI object_InstancesAsync_ ( ISWbemObject *  iface,
IDispatch objWbemSink,
LONG  iFlags,
IDispatch objWbemNamedValueSet,
IDispatch objWbemAsyncContext 
)
static

Definition at line 839 of file locator.c.

845{
846 FIXME( "\n" );
847 return E_NOTIMPL;
848}

◆ object_Invoke()

static HRESULT WINAPI object_Invoke ( ISWbemObject *  iface,
DISPID  member,
REFIID  riid,
LCID  lcid,
WORD  flags,
DISPPARAMS *  params,
VARIANT result,
EXCEPINFO *  excep_info,
UINT arg_err 
)
static

Definition at line 745 of file locator.c.

755{
756 struct object *object = impl_from_ISWbemObject( iface );
757 BSTR name;
759 HRESULT hr;
760
761 TRACE( "%p, %x, %s, %u, %x, %p, %p, %p, %p\n", object, member, debugstr_guid(riid),
762 lcid, flags, params, result, excep_info, arg_err );
763
765 {
767 if (SUCCEEDED(hr))
768 {
769 hr = ITypeInfo_Invoke( typeinfo, &object->ISWbemObject_iface, member, flags,
770 params, result, excep_info, arg_err );
771 ITypeInfo_Release( typeinfo );
772 }
773 return hr;
774 }
775
777 {
778 FIXME( "flags %x not supported\n", flags );
779 return E_NOTIMPL;
780 }
781 if (!(name = get_member_name( object, member )))
783
784 memset( params, 0, sizeof(*params) );
785 return IWbemClassObject_Get( object->object, name, 0, result, NULL, NULL );
786}
static BSTR get_member_name(struct object *object, DISPID dispid)
Definition: locator.c:735
#define DISPID_BASE_METHOD
Definition: locator.c:501
#define DISPATCH_METHOD
Definition: oleauto.h:1006
#define DISPATCH_PROPERTYGET
Definition: oleauto.h:1007
#define memset(x, y, z)
Definition: compat.h:39
ISWbemObject ISWbemObject_iface
Definition: locator.c:512
#define DISP_E_MEMBERNOTFOUND
Definition: winerror.h:2512

◆ object_Put_()

static HRESULT WINAPI object_Put_ ( ISWbemObject *  iface,
LONG  iFlags,
IDispatch objWbemNamedValueSet,
ISWbemObjectPath **  objWbemObjectPath 
)
static

Definition at line 788 of file locator.c.

793{
794 FIXME( "\n" );
795 return E_NOTIMPL;
796}

◆ object_PutAsync_()

static HRESULT WINAPI object_PutAsync_ ( ISWbemObject *  iface,
IDispatch objWbemSink,
LONG  iFlags,
IDispatch objWbemNamedValueSet,
IDispatch objWbemAsyncContext 
)
static

Definition at line 798 of file locator.c.

804{
805 FIXME( "\n" );
806 return E_NOTIMPL;
807}

◆ object_QueryInterface()

static HRESULT WINAPI object_QueryInterface ( ISWbemObject *  iface,
REFIID  riid,
void **  ppvObject 
)
static

Definition at line 552 of file locator.c.

556{
557 struct object *object = impl_from_ISWbemObject( iface );
558
559 TRACE( "%p %s %p\n", object, debugstr_guid(riid), ppvObject );
560
561 if (IsEqualGUID( riid, &IID_ISWbemObject ) ||
564 {
565 *ppvObject = iface;
566 }
567 else
568 {
569 FIXME( "interface %s not implemented\n", debugstr_guid(riid) );
570 return E_NOINTERFACE;
571 }
572 ISWbemObject_AddRef( iface );
573 return S_OK;
574}

◆ object_References_()

static HRESULT WINAPI object_References_ ( ISWbemObject *  iface,
BSTR  strResultClass,
BSTR  strRole,
VARIANT_BOOL  bClassesOnly,
VARIANT_BOOL  bSchemaOnly,
BSTR  strRequiredQualifier,
LONG  iFlags,
IDispatch objWbemNamedValueSet,
ISWbemObjectSet **  objWbemObjectSet 
)
static

Definition at line 908 of file locator.c.

918{
919 FIXME( "\n" );
920 return E_NOTIMPL;
921}

◆ object_ReferencesAsync_()

static HRESULT WINAPI object_ReferencesAsync_ ( ISWbemObject *  iface,
IDispatch objWbemSink,
BSTR  strResultClass,
BSTR  strRole,
VARIANT_BOOL  bClassesOnly,
VARIANT_BOOL  bSchemaOnly,
BSTR  strRequiredQualifier,
LONG  iFlags,
IDispatch objWbemNamedValueSet,
IDispatch objWbemAsyncContext 
)
static

Definition at line 923 of file locator.c.

934{
935 FIXME( "\n" );
936 return E_NOTIMPL;
937}

◆ object_Release()

static ULONG WINAPI object_Release ( ISWbemObject *  iface)
static

Definition at line 534 of file locator.c.

536{
537 struct object *object = impl_from_ISWbemObject( iface );
539 if (!refs)
540 {
541 UINT i;
542
543 TRACE( "destroying %p\n", object );
544 IWbemClassObject_Release( object->object );
545 for (i = 0; i < object->nb_members; i++) SysFreeString( object->members[i].name );
547 heap_free( object );
548 }
549 return refs;
550}

◆ object_SpawnDerivedClass_()

static HRESULT WINAPI object_SpawnDerivedClass_ ( ISWbemObject *  iface,
LONG  iFlags,
ISWbemObject **  objWbemObject 
)
static

Definition at line 981 of file locator.c.

985{
986 FIXME( "\n" );
987 return E_NOTIMPL;
988}

◆ object_SpawnInstance_()

static HRESULT WINAPI object_SpawnInstance_ ( ISWbemObject *  iface,
LONG  iFlags,
ISWbemObject **  objWbemObject 
)
static

Definition at line 990 of file locator.c.

994{
995 FIXME( "\n" );
996 return E_NOTIMPL;
997}

◆ object_Subclasses_()

static HRESULT WINAPI object_Subclasses_ ( ISWbemObject *  iface,
LONG  iFlags,
IDispatch objWbemNamedValueSet,
ISWbemObjectSet **  objWbemObjectSet 
)
static

Definition at line 850 of file locator.c.

855{
856 FIXME( "\n" );
857 return E_NOTIMPL;
858}

◆ object_SubclassesAsync_()

static HRESULT WINAPI object_SubclassesAsync_ ( ISWbemObject *  iface,
IDispatch objWbemSink,
LONG  iFlags,
IDispatch objWbemNamedValueSet,
IDispatch objWbemAsyncContext 
)
static

Definition at line 860 of file locator.c.

866{
867 FIXME( "\n" );
868 return E_NOTIMPL;
869}

◆ objectset_AddRef()

static ULONG WINAPI objectset_AddRef ( ISWbemObjectSet *  iface)
static

Definition at line 1128 of file locator.c.

1130{
1133}
static struct objectset * impl_from_ISWbemObjectSet(ISWbemObjectSet *iface)
Definition: locator.c:1122
LONG refs
Definition: locator.c:1117

◆ objectset_get__NewEnum()

static HRESULT WINAPI objectset_get__NewEnum ( ISWbemObjectSet *  iface,
IUnknown **  pUnk 
)
static

Definition at line 1248 of file locator.c.

1251{
1254 HRESULT hr;
1255
1256 TRACE( "%p, %p\n", objectset, pUnk );
1257
1258 hr = IEnumWbemClassObject_Clone( objectset->objectenum, &objectenum );
1259 if (FAILED( hr )) return hr;
1260
1262 IEnumWbemClassObject_Release( objectenum );
1263 return hr;
1264}
static void *static void *static LPDIRECTPLAY IUnknown * pUnk
Definition: dplayx.c:30
static HRESULT EnumVARIANT_create(IEnumWbemClassObject *, IEnumVARIANT **)
Definition: locator.c:1495
IEnumWbemClassObject * objectenum
Definition: locator.c:1118

◆ objectset_get_Count()

static HRESULT WINAPI objectset_get_Count ( ISWbemObjectSet *  iface,
LONG iCount 
)
static

Definition at line 1276 of file locator.c.

1279{
1281
1282 TRACE( "%p, %p\n", objectset, iCount );
1283
1284 *iCount = objectset->count;
1285 return S_OK;
1286}
LONG count
Definition: locator.c:1119

◆ objectset_get_Security_()

static HRESULT WINAPI objectset_get_Security_ ( ISWbemObjectSet *  iface,
ISWbemSecurity **  objWbemSecurity 
)
static

Definition at line 1288 of file locator.c.

1291{
1292 FIXME( "\n" );
1293 return E_NOTIMPL;
1294}

◆ objectset_GetIDsOfNames()

static HRESULT WINAPI objectset_GetIDsOfNames ( ISWbemObjectSet *  iface,
REFIID  riid,
LPOLESTR names,
UINT  count,
LCID  lcid,
DISPID dispid 
)
static

Definition at line 1195 of file locator.c.

1202{
1205 HRESULT hr;
1206
1207 TRACE( "%p, %s, %p, %u, %u, %p\n", objectset, debugstr_guid(riid), names, count, lcid, dispid );
1208
1209 if (!names || !count || !dispid) return E_INVALIDARG;
1210
1212 if (SUCCEEDED(hr))
1213 {
1214 hr = ITypeInfo_GetIDsOfNames( typeinfo, names, count, dispid );
1215 ITypeInfo_Release( typeinfo );
1216 }
1217 return hr;
1218}

◆ objectset_GetTypeInfo()

static HRESULT WINAPI objectset_GetTypeInfo ( ISWbemObjectSet *  iface,
UINT  index,
LCID  lcid,
ITypeInfo **  info 
)
static

Definition at line 1183 of file locator.c.

1188{
1190 TRACE( "%p, %u, %u, %p\n", objectset, index, lcid, info );
1191
1193}

◆ objectset_GetTypeInfoCount()

static HRESULT WINAPI objectset_GetTypeInfoCount ( ISWbemObjectSet *  iface,
UINT count 
)
static

Definition at line 1173 of file locator.c.

1176{
1178 TRACE( "%p, %p\n", objectset, count );
1179 *count = 1;
1180 return S_OK;
1181}

◆ objectset_Invoke()

static HRESULT WINAPI objectset_Invoke ( ISWbemObjectSet *  iface,
DISPID  member,
REFIID  riid,
LCID  lcid,
WORD  flags,
DISPPARAMS *  params,
VARIANT result,
EXCEPINFO *  excep_info,
UINT arg_err 
)
static

Definition at line 1220 of file locator.c.

1230{
1233 HRESULT hr;
1234
1235 TRACE( "%p, %d, %s, %d, %d, %p, %p, %p, %p\n", objectset, member, debugstr_guid(riid),
1236 lcid, flags, params, result, excep_info, arg_err );
1237
1239 if (SUCCEEDED(hr))
1240 {
1241 hr = ITypeInfo_Invoke( typeinfo, &objectset->ISWbemObjectSet_iface, member, flags,
1242 params, result, excep_info, arg_err );
1243 ITypeInfo_Release( typeinfo );
1244 }
1245 return hr;
1246}
ISWbemObjectSet ISWbemObjectSet_iface
Definition: locator.c:1116

◆ objectset_Item()

static HRESULT WINAPI objectset_Item ( ISWbemObjectSet *  iface,
BSTR  strObjectPath,
LONG  iFlags,
ISWbemObject **  objWbemObject 
)
static

Definition at line 1266 of file locator.c.

1271{
1272 FIXME( "\n" );
1273 return E_NOTIMPL;
1274}

◆ objectset_ItemIndex()

static HRESULT WINAPI objectset_ItemIndex ( ISWbemObjectSet *  iface,
LONG  lIndex,
ISWbemObject **  objWbemObject 
)
static

Definition at line 1296 of file locator.c.

1300{
1302 LONG count;
1303 HRESULT hr;
1304 IEnumVARIANT *enum_var;
1305 VARIANT var;
1306
1307 TRACE( "%p, %d, %p\n", objectset, lIndex, objWbemObject );
1308
1309 *objWbemObject = NULL;
1310 hr = ISWbemObjectSet_get_Count( iface, &count );
1311 if (FAILED(hr)) return hr;
1312
1313 if (lIndex >= count) return WBEM_E_NOT_FOUND;
1314
1315 hr = ISWbemObjectSet_get__NewEnum( iface, (IUnknown **)&enum_var );
1316 if (FAILED(hr)) return hr;
1317
1318 IEnumVARIANT_Reset( enum_var );
1319 hr = IEnumVARIANT_Skip( enum_var, lIndex );
1320 if (SUCCEEDED(hr))
1321 hr = IEnumVARIANT_Next( enum_var, 1, &var, NULL );
1322 IEnumVARIANT_Release( enum_var );
1323
1324 if (SUCCEEDED(hr))
1325 {
1326 if (V_VT( &var ) == VT_DISPATCH)
1327 hr = IDispatch_QueryInterface( V_DISPATCH( &var ), &IID_ISWbemObject, (void **)objWbemObject );
1328 else
1330 VariantClear( &var );
1331 }
1332
1333 return hr;
1334}
HRESULT WINAPI DECLSPEC_HOTPATCH VariantClear(VARIANTARG *pVarg)
Definition: variant.c:648
@ WBEM_E_NOT_FOUND
Definition: wbemcli.idl:52

◆ objectset_QueryInterface()

static HRESULT WINAPI objectset_QueryInterface ( ISWbemObjectSet *  iface,
REFIID  riid,
void **  ppvObject 
)
static

Definition at line 1149 of file locator.c.

1153{
1155
1156 TRACE( "%p %s %p\n", objectset, debugstr_guid(riid), ppvObject );
1157
1158 if (IsEqualGUID( riid, &IID_ISWbemObjectSet ) ||
1161 {
1162 *ppvObject = iface;
1163 }
1164 else
1165 {
1166 FIXME( "interface %s not implemented\n", debugstr_guid(riid) );
1167 return E_NOINTERFACE;
1168 }
1169 ISWbemObjectSet_AddRef( iface );
1170 return S_OK;
1171}

◆ objectset_Release()

static ULONG WINAPI objectset_Release ( ISWbemObjectSet *  iface)
static

Definition at line 1135 of file locator.c.

1137{
1140 if (!refs)
1141 {
1142 TRACE( "destroying %p\n", objectset );
1143 IEnumWbemClassObject_Release( objectset->objectenum );
1145 }
1146 return refs;
1147}

◆ property_AddRef()

static ULONG WINAPI property_AddRef ( ISWbemProperty *  iface)
static

Definition at line 115 of file locator.c.

116{
117 struct property *property = impl_from_ISWbemProperty( iface );
119}
static struct property * impl_from_ISWbemProperty(ISWbemProperty *iface)
Definition: locator.c:110
LONG refs
Definition: locator.c:105

◆ property_get_CIMType()

static HRESULT WINAPI property_get_CIMType ( ISWbemProperty *  iface,
WbemCimtypeEnum *  iCimType 
)
static

Definition at line 247 of file locator.c.

248{
249 FIXME( "\n" );
250 return E_NOTIMPL;
251}

◆ property_get_IsArray()

static HRESULT WINAPI property_get_IsArray ( ISWbemProperty *  iface,
VARIANT_BOOL bIsArray 
)
static

Definition at line 259 of file locator.c.

260{
261 FIXME( "\n" );
262 return E_NOTIMPL;
263}

◆ property_get_IsLocal()

static HRESULT WINAPI property_get_IsLocal ( ISWbemProperty *  iface,
VARIANT_BOOL bIsLocal 
)
static

Definition at line 235 of file locator.c.

236{
237 FIXME( "\n" );
238 return E_NOTIMPL;
239}

◆ property_get_Name()

static HRESULT WINAPI property_get_Name ( ISWbemProperty *  iface,
BSTR strName 
)
static

Definition at line 229 of file locator.c.

230{
231 FIXME( "\n" );
232 return E_NOTIMPL;
233}

◆ property_get_Origin()

static HRESULT WINAPI property_get_Origin ( ISWbemProperty *  iface,
BSTR strOrigin 
)
static

Definition at line 241 of file locator.c.

242{
243 FIXME( "\n" );
244 return E_NOTIMPL;
245}

◆ property_get_Qualifiers_()

static HRESULT WINAPI property_get_Qualifiers_ ( ISWbemProperty *  iface,
ISWbemQualifierSet **  objWbemQualifierSet 
)
static

Definition at line 253 of file locator.c.

254{
255 FIXME( "\n" );
256 return E_NOTIMPL;
257}

◆ property_get_Value()

static HRESULT WINAPI property_get_Value ( ISWbemProperty *  iface,
VARIANT value 
)
static

Definition at line 214 of file locator.c.

215{
216 struct property *property = impl_from_ISWbemProperty( iface );
217
218 TRACE( "%p %p\n", property, value );
219
220 return IWbemClassObject_Get( property->object, property->name, 0, value, NULL, NULL );
221}
BSTR name
Definition: locator.c:107
IWbemClassObject * object
Definition: locator.c:106
Definition: pdh_main.c:94

◆ property_GetIDsOfNames()

static HRESULT WINAPI property_GetIDsOfNames ( ISWbemProperty *  iface,
REFIID  riid,
LPOLESTR names,
UINT  count,
LCID  lcid,
DISPID dispid 
)
static

Definition at line 173 of file locator.c.

175{
176 struct property *property = impl_from_ISWbemProperty( iface );
178 HRESULT hr;
179
180 TRACE( "%p, %s, %p, %u, %u, %p\n", property, debugstr_guid(riid), names, count, lcid, dispid );
181
182 if (!names || !count || !dispid) return E_INVALIDARG;
183
185 if (SUCCEEDED(hr))
186 {
187 hr = ITypeInfo_GetIDsOfNames( typeinfo, names, count, dispid );
188 ITypeInfo_Release( typeinfo );
189 }
190 return hr;
191}

◆ property_GetTypeInfo()

static HRESULT WINAPI property_GetTypeInfo ( ISWbemProperty *  iface,
UINT  index,
LCID  lcid,
ITypeInfo **  info 
)
static

Definition at line 164 of file locator.c.

166{
167 struct property *property = impl_from_ISWbemProperty( iface );
168 TRACE( "%p, %u, %u, %p\n", property, index, lcid, info );
169
171}

◆ property_GetTypeInfoCount()

static HRESULT WINAPI property_GetTypeInfoCount ( ISWbemProperty *  iface,
UINT count 
)
static

Definition at line 156 of file locator.c.

157{
158 struct property *property = impl_from_ISWbemProperty( iface );
159 TRACE( "%p, %p\n", property, count );
160 *count = 1;
161 return S_OK;
162}

◆ property_Invoke()

static HRESULT WINAPI property_Invoke ( ISWbemProperty *  iface,
DISPID  member,
REFIID  riid,
LCID  lcid,
WORD  flags,
DISPPARAMS *  params,
VARIANT result,
EXCEPINFO *  excep_info,
UINT arg_err 
)
static

Definition at line 193 of file locator.c.

196{
197 struct property *property = impl_from_ISWbemProperty( iface );
199 HRESULT hr;
200
201 TRACE( "%p, %d, %s, %d, %d, %p, %p, %p, %p\n", property, member, debugstr_guid(riid),
202 lcid, flags, params, result, excep_info, arg_err );
203
205 if (SUCCEEDED(hr))
206 {
207 hr = ITypeInfo_Invoke( typeinfo, &property->ISWbemProperty_iface, member, flags,
208 params, result, excep_info, arg_err );
209 ITypeInfo_Release( typeinfo );
210 }
211 return hr;
212}
ISWbemProperty ISWbemProperty_iface
Definition: locator.c:104

◆ property_put_Value()

static HRESULT WINAPI property_put_Value ( ISWbemProperty *  iface,
VARIANT varValue 
)
static

Definition at line 223 of file locator.c.

224{
225 FIXME( "\n" );
226 return E_NOTIMPL;
227}

◆ property_QueryInterface()

static HRESULT WINAPI property_QueryInterface ( ISWbemProperty *  iface,
REFIID  riid,
void **  obj 
)
static

Definition at line 135 of file locator.c.

136{
137 struct property *property = impl_from_ISWbemProperty( iface );
138
139 TRACE( "%p %s %p\n", property, debugstr_guid(riid), obj );
140
141 if (IsEqualGUID( riid, &IID_ISWbemProperty ) ||
144 {
145 *obj = iface;
146 }
147 else
148 {
149 FIXME( "interface %s not implemented\n", debugstr_guid(riid) );
150 return E_NOINTERFACE;
151 }
152 ISWbemProperty_AddRef( iface );
153 return S_OK;
154}

◆ property_Release()

static ULONG WINAPI property_Release ( ISWbemProperty *  iface)
static

Definition at line 121 of file locator.c.

122{
123 struct property *property = impl_from_ISWbemProperty( iface );
125 if (!refs)
126 {
127 TRACE( "destroying %p\n", property );
128 IWbemClassObject_Release( property->object );
131 }
132 return refs;
133}

◆ propertyset_Add()

static HRESULT WINAPI propertyset_Add ( ISWbemPropertySet *  iface,
BSTR  name,
WbemCimtypeEnum  type,
VARIANT_BOOL  is_array,
LONG  flags,
ISWbemProperty **  prop 
)
static

Definition at line 454 of file locator.c.

456{
457 FIXME( "\n" );
458 return E_NOTIMPL;
459}

◆ propertyset_AddRef()

static ULONG WINAPI propertyset_AddRef ( ISWbemPropertySet *  iface)
static

Definition at line 314 of file locator.c.

315{
318}
static struct propertyset * impl_from_ISWbemPropertySet(ISWbemPropertySet *iface)
Definition: locator.c:308
LONG refs
Definition: locator.c:304

◆ propertyset_get__NewEnum()

static HRESULT WINAPI propertyset_get__NewEnum ( ISWbemPropertySet *  iface,
IUnknown **  unk 
)
static

Definition at line 413 of file locator.c.

414{
415 FIXME( "\n" );
416 return E_NOTIMPL;
417}

◆ propertyset_get_Count()

static HRESULT WINAPI propertyset_get_Count ( ISWbemPropertySet *  iface,
LONG count 
)
static

Definition at line 437 of file locator.c.

438{
439 static const WCHAR propcountW[] = {'_','_','P','R','O','P','E','R','T','Y','_','C','O','U','N','T',0};
441 HRESULT hr;
442 VARIANT val;
443
444 TRACE( "%p, %p\n", propertyset, count );
445
446 hr = IWbemClassObject_Get( propertyset->object, propcountW, 0, &val, NULL, NULL );
447 if (SUCCEEDED(hr))
448 {
449 *count = V_I4( &val );
450 }
451 return hr;
452}
GLuint GLfloat * val
Definition: glext.h:7180
#define V_I4(A)
Definition: oleauto.h:247
IWbemClassObject * object
Definition: locator.c:305

◆ propertyset_GetIDsOfNames()

static HRESULT WINAPI propertyset_GetIDsOfNames ( ISWbemPropertySet *  iface,
REFIID  riid,
LPOLESTR names,
UINT  count,
LCID  lcid,
DISPID dispid 
)
static

Definition at line 372 of file locator.c.

374{
377 HRESULT hr;
378
379 TRACE( "%p, %s, %p, %u, %u, %p\n", propertyset, debugstr_guid(riid), names, count, lcid, dispid );
380
381 if (!names || !count || !dispid) return E_INVALIDARG;
382
384 if (SUCCEEDED(hr))
385 {
386 hr = ITypeInfo_GetIDsOfNames( typeinfo, names, count, dispid );
387 ITypeInfo_Release( typeinfo );
388 }
389 return hr;
390}

◆ propertyset_GetTypeInfo()

static HRESULT WINAPI propertyset_GetTypeInfo ( ISWbemPropertySet *  iface,
UINT  index,
LCID  lcid,
ITypeInfo **  info 
)
static

Definition at line 363 of file locator.c.

365{
367 TRACE( "%p, %u, %u, %p\n", propertyset, index, lcid, info );
368
370}

◆ propertyset_GetTypeInfoCount()

static HRESULT WINAPI propertyset_GetTypeInfoCount ( ISWbemPropertySet *  iface,
UINT count 
)
static

Definition at line 355 of file locator.c.

356{
358 TRACE( "%p, %p\n", propertyset, count );
359 *count = 1;
360 return S_OK;
361}

◆ propertyset_Invoke()

static HRESULT WINAPI propertyset_Invoke ( ISWbemPropertySet *  iface,
DISPID  member,
REFIID  riid,
LCID  lcid,
WORD  flags,
DISPPARAMS *  params,
VARIANT result,
EXCEPINFO *  excep_info,
UINT arg_err 
)
static

Definition at line 392 of file locator.c.

395{
398 HRESULT hr;
399
400 TRACE( "%p, %d, %s, %d, %d, %p, %p, %p, %p\n", propertyset, member, debugstr_guid(riid),
401 lcid, flags, params, result, excep_info, arg_err );
402
404 if (SUCCEEDED(hr))
405 {
407 params, result, excep_info, arg_err );
408 ITypeInfo_Release( typeinfo );
409 }
410 return hr;
411}
ISWbemPropertySet ISWbemPropertySet_iface
Definition: locator.c:303

◆ propertyset_Item()

static HRESULT WINAPI propertyset_Item ( ISWbemPropertySet *  iface,
BSTR  name,
LONG  flags,
ISWbemProperty **  prop 
)
static

Definition at line 419 of file locator.c.

421{
423 HRESULT hr;
424 VARIANT var;
425
426 TRACE( "%p, %s, %08x, %p\n", propertyset, debugstr_w(name), flags, prop );
427
428 hr = IWbemClassObject_Get( propertyset->object, name, 0, &var, NULL, NULL );
429 if (SUCCEEDED(hr))
430 {
432 VariantClear( &var );
433 }
434 return hr;
435}
static HRESULT SWbemProperty_create(IWbemClassObject *wbem_object, BSTR name, ISWbemProperty **obj)
Definition: locator.c:284

◆ propertyset_QueryInterface()

static HRESULT WINAPI propertyset_QueryInterface ( ISWbemPropertySet *  iface,
REFIID  riid,
void **  obj 
)
static

Definition at line 333 of file locator.c.

335{
337
338 TRACE( "%p %s %p\n", propertyset, debugstr_guid(riid), obj );
339
340 if (IsEqualGUID( riid, &IID_ISWbemPropertySet ) ||
343 {
344 *obj = iface;
345 }
346 else
347 {
348 FIXME( "interface %s not implemented\n", debugstr_guid(riid) );
349 return E_NOINTERFACE;
350 }
351 ISWbemPropertySet_AddRef( iface );
352 return S_OK;
353}

◆ propertyset_Release()

static ULONG WINAPI propertyset_Release ( ISWbemPropertySet *  iface)
static

Definition at line 320 of file locator.c.

321{
324 if (!refs)
325 {
326 TRACE( "destroying %p\n", propertyset );
327 IWbemClassObject_Release( propertyset->object );
329 }
330 return refs;
331}

◆ propertyset_Remove()

static HRESULT WINAPI propertyset_Remove ( ISWbemPropertySet *  iface,
BSTR  name,
LONG  flags 
)
static

Definition at line 461 of file locator.c.

462{
463 FIXME( "\n" );
464 return E_NOTIMPL;
465}

◆ security_AddRef()

static ULONG WINAPI security_AddRef ( ISWbemSecurity *  iface)
static

Definition at line 2249 of file locator.c.

2251{
2252 struct security *security = impl_from_ISWbemSecurity( iface );
2254}
static struct security * impl_from_ISWbemSecurity(ISWbemSecurity *iface)
Definition: locator.c:2244

◆ security_get_AuthenticationLevel()

static HRESULT WINAPI security_get_AuthenticationLevel ( ISWbemSecurity *  iface,
WbemAuthenticationLevelEnum *  authentication_level 
)
static

Definition at line 2393 of file locator.c.

2396{
2397 struct security *security = impl_from_ISWbemSecurity( iface );
2398 FIXME( "%p, %p: stub\n", security, authentication_level );
2399
2400 if (!authentication_level)
2401 return E_INVALIDARG;
2402
2403 *authentication_level = security->authlevel;
2404 return S_OK;
2405}

◆ security_get_ImpersonationLevel()

static HRESULT WINAPI security_get_ImpersonationLevel ( ISWbemSecurity *  iface,
WbemImpersonationLevelEnum *  impersonation_level 
)
static

Definition at line 2368 of file locator.c.

2371{
2372 struct security *security = impl_from_ISWbemSecurity( iface );
2373 FIXME( "%p, %p: stub\n", security, impersonation_level );
2374
2375 if (!impersonation_level)
2376 return E_INVALIDARG;
2377
2378 *impersonation_level = security->implevel;
2379 return S_OK;
2380}

◆ security_get_Privileges()

static HRESULT WINAPI security_get_Privileges ( ISWbemSecurity *  iface,
ISWbemPrivilegeSet **  privilege_set 
)
static

Definition at line 2418 of file locator.c.

2421{
2422 struct security *security = impl_from_ISWbemSecurity( iface );
2423 FIXME( "%p, %p: stub\n", security, privilege_set );
2424
2425 if (!privilege_set)
2426 return E_INVALIDARG;
2427
2428 return E_NOTIMPL;
2429}

◆ security_GetIDsOfNames()

static HRESULT WINAPI security_GetIDsOfNames ( ISWbemSecurity *  iface,
REFIID  riid,
LPOLESTR names,
UINT  count,
LCID  lcid,
DISPID dispid 
)
static

Definition at line 2315 of file locator.c.

2322{
2323 struct security *security = impl_from_ISWbemSecurity( iface );
2325 HRESULT hr;
2326
2327 TRACE( "%p, %s, %p, %u, %u, %p\n", security, debugstr_guid(riid), names, count, lcid, dispid );
2328
2329 if (!names || !count || !dispid) return E_INVALIDARG;
2330
2332 if (SUCCEEDED(hr))
2333 {
2334 hr = ITypeInfo_GetIDsOfNames( typeinfo, names, count, dispid );
2335 ITypeInfo_Release( typeinfo );
2336 }
2337 return hr;
2338}

◆ security_GetTypeInfo()

static HRESULT WINAPI security_GetTypeInfo ( ISWbemSecurity *  iface,
UINT  index,
LCID  lcid,
ITypeInfo **  info 
)
static

Definition at line 2303 of file locator.c.

2308{
2309 struct security *security = impl_from_ISWbemSecurity( iface );
2310 TRACE( "%p, %u, %u, %p\n", security, index, lcid, info );
2311
2313}

◆ security_GetTypeInfoCount()

static HRESULT WINAPI security_GetTypeInfoCount ( ISWbemSecurity *  iface,
UINT count 
)
static

Definition at line 2292 of file locator.c.

2295{
2296 struct security *security = impl_from_ISWbemSecurity( iface );
2297 TRACE( "%p, %p\n", security, count );
2298
2299 *count = 1;
2300 return S_OK;
2301}

◆ security_Invoke()

static HRESULT WINAPI security_Invoke ( ISWbemSecurity *  iface,
DISPID  member,
REFIID  riid,
LCID  lcid,
WORD  flags,
DISPPARAMS *  params,
VARIANT result,
EXCEPINFO *  excep_info,
UINT arg_err 
)
static

Definition at line 2340 of file locator.c.

2350{
2351 struct security *security = impl_from_ISWbemSecurity( iface );
2353 HRESULT hr;
2354
2355 TRACE( "%p, %d, %s, %d, %d, %p, %p, %p, %p\n", security, member, debugstr_guid(riid),
2356 lcid, flags, params, result, excep_info, arg_err );
2357
2359 if (SUCCEEDED(hr))
2360 {
2361 hr = ITypeInfo_Invoke( typeinfo, &security->ISWbemSecurity_iface, member, flags,
2362 params, result, excep_info, arg_err );
2363 ITypeInfo_Release( typeinfo );
2364 }
2365 return hr;
2366}

◆ security_put_AuthenticationLevel()

static HRESULT WINAPI security_put_AuthenticationLevel ( ISWbemSecurity *  iface,
WbemAuthenticationLevelEnum  authentication_level 
)
static

Definition at line 2407 of file locator.c.

2410{
2411 struct security *security = impl_from_ISWbemSecurity( iface );
2412 FIXME( "%p, %d: stub\n", security, authentication_level );
2413
2414 security->authlevel = authentication_level;
2415 return S_OK;
2416}

◆ security_put_ImpersonationLevel()

static HRESULT WINAPI security_put_ImpersonationLevel ( ISWbemSecurity *  iface,
WbemImpersonationLevelEnum  impersonation_level 
)
static

Definition at line 2382 of file locator.c.

2385{
2386 struct security *security = impl_from_ISWbemSecurity( iface );
2387 FIXME( "%p, %d: stub\n", security, impersonation_level );
2388
2389 security->implevel = impersonation_level;
2390 return S_OK;
2391}

◆ security_QueryInterface()

static HRESULT WINAPI security_QueryInterface ( ISWbemSecurity *  iface,
REFIID  riid,
void **  ppvObject 
)
static

Definition at line 2269 of file locator.c.

2273{
2274 struct security *security = impl_from_ISWbemSecurity( iface );
2275 TRACE( "%p, %s, %p\n", security, debugstr_guid( riid ), ppvObject );
2276
2277 if (IsEqualGUID( riid, &IID_ISWbemSecurity ) ||
2280 {
2281 *ppvObject = iface;
2282 }
2283 else
2284 {
2285 FIXME( "interface %s not implemented\n", debugstr_guid(riid) );
2286 return E_NOINTERFACE;
2287 }
2288 ISWbemSecurity_AddRef( iface );
2289 return S_OK;
2290}

◆ security_Release()

static ULONG WINAPI security_Release ( ISWbemSecurity *  iface)
static

Definition at line 2256 of file locator.c.

2258{
2259 struct security *security = impl_from_ISWbemSecurity( iface );
2261 if (!refs)
2262 {
2263 TRACE( "destroying %p\n", security );
2265 }
2266 return refs;
2267}

◆ services_AddRef()

static ULONG WINAPI services_AddRef ( ISWbemServices *  iface)
static

Definition at line 1523 of file locator.c.

1525{
1526 struct services *services = impl_from_ISWbemServices( iface );
1528}
static struct services * impl_from_ISWbemServices(ISWbemServices *iface)
Definition: locator.c:1517
LONG refs
Definition: locator.c:1513

◆ services_AssociatorsOf()

static HRESULT WINAPI services_AssociatorsOf ( ISWbemServices *  iface,
BSTR  strObjectPath,
BSTR  strAssocClass,
BSTR  strResultClass,
BSTR  strResultRole,
BSTR  strRole,
VARIANT_BOOL  bClassesOnly,
VARIANT_BOOL  bSchemaOnly,
BSTR  strRequiredAssocQualifier,
BSTR  strRequiredQualifier,
LONG  iFlags,
IDispatch objWbemNamedValueSet,
ISWbemObjectSet **  objWbemObjectSet 
)
static

Definition at line 1812 of file locator.c.

1826{
1827 FIXME( "\n" );
1828 return E_NOTIMPL;
1829}

◆ services_AssociatorsOfAsync()

static HRESULT WINAPI services_AssociatorsOfAsync ( ISWbemServices *  iface,
IDispatch objWbemSink,
BSTR  strObjectPath,
BSTR  strAssocClass,
BSTR  strResultClass,
BSTR  strResultRole,
BSTR  strRole,
VARIANT_BOOL  bClassesOnly,
VARIANT_BOOL  bSchemaOnly,
BSTR  strRequiredAssocQualifier,
BSTR  strRequiredQualifier,
LONG  iFlags,
IDispatch objWbemNamedValueSet,
IDispatch objWbemAsyncContext 
)
static

Definition at line 1831 of file locator.c.

1846{
1847 FIXME( "\n" );
1848 return E_NOTIMPL;
1849}

◆ services_Delete()

static HRESULT WINAPI services_Delete ( ISWbemServices *  iface,
BSTR  strObjectPath,
LONG  iFlags,
IDispatch objWbemNamedValueSet 
)
static

Definition at line 1680 of file locator.c.

1685{
1686 FIXME( "\n" );
1687 return E_NOTIMPL;
1688}

◆ services_DeleteAsync()

static HRESULT WINAPI services_DeleteAsync ( ISWbemServices *  This,
IDispatch objWbemSink,
BSTR  strObjectPath,
LONG  iFlags,
IDispatch objWbemNamedValueSet,
IDispatch objWbemAsyncContext 
)
static

Definition at line 1690 of file locator.c.

1697{
1698 FIXME( "\n" );
1699 return E_NOTIMPL;
1700}

◆ services_ExecMethod()

static HRESULT WINAPI services_ExecMethod ( ISWbemServices *  iface,
BSTR  strObjectPath,
BSTR  strMethodName,
IDispatch objWbemInParameters,
LONG  iFlags,
IDispatch objWbemNamedValueSet,
ISWbemObject **  objWbemOutParameters 
)
static

Definition at line 1909 of file locator.c.

1917{
1918 FIXME( "\n" );
1919 return E_NOTIMPL;
1920}

◆ services_ExecMethodAsync()

static HRESULT WINAPI services_ExecMethodAsync ( ISWbemServices *  iface,
IDispatch objWbemSink,
BSTR  strObjectPath,
BSTR  strMethodName,
IDispatch objWbemInParameters,
LONG  iFlags,
IDispatch objWbemNamedValueSet,
IDispatch objWbemAsyncContext 
)
static

Definition at line 1922 of file locator.c.

1931{
1932 FIXME( "\n" );
1933 return E_NOTIMPL;
1934}

◆ services_ExecNotificationQuery()

static HRESULT WINAPI services_ExecNotificationQuery ( ISWbemServices *  iface,
BSTR  strQuery,
BSTR  strQueryLanguage,
LONG  iFlags,
IDispatch objWbemNamedValueSet,
ISWbemEventSource **  objWbemEventSource 
)
static

Definition at line 1884 of file locator.c.

1891{
1892 FIXME( "\n" );
1893 return E_NOTIMPL;
1894}

◆ services_ExecNotificationQueryAsync()

static HRESULT WINAPI services_ExecNotificationQueryAsync ( ISWbemServices *  iface,
IDispatch objWbemSink,
BSTR  strQuery,
BSTR  strQueryLanguage,
LONG  iFlags,
IDispatch objWbemNamedValueSet,
IDispatch objWbemAsyncContext 
)
static

Definition at line 1896 of file locator.c.

1904{
1905 FIXME( "\n" );
1906 return E_NOTIMPL;
1907}

◆ services_ExecQuery()

static HRESULT WINAPI services_ExecQuery ( ISWbemServices *  iface,
BSTR  strQuery,
BSTR  strQueryLanguage,
LONG  iFlags,
IDispatch objWbemNamedValueSet,
ISWbemObjectSet **  objWbemObjectSet 
)
static

Definition at line 1774 of file locator.c.

1781{
1782 struct services *services = impl_from_ISWbemServices( iface );
1784 HRESULT hr;
1785
1786 TRACE( "%p, %s, %s, %x, %p, %p\n", iface, debugstr_w(strQuery), debugstr_w(strQueryLanguage),
1787 iFlags, objWbemNamedValueSet, objWbemObjectSet );
1788
1789 if (objWbemNamedValueSet) FIXME( "ignoring context\n" );
1790
1791 hr = IWbemServices_ExecQuery( services->services, strQueryLanguage, strQuery, iFlags, NULL, &iter );
1792 if (hr != S_OK) return hr;
1793
1794 hr = SWbemObjectSet_create( iter, objWbemObjectSet );
1795 IEnumWbemClassObject_Release( iter );
1796 return hr;
1797}
static HRESULT SWbemObjectSet_create(IEnumWbemClassObject *wbem_objectenum, ISWbemObjectSet **obj)
Definition: locator.c:1360
IWbemServices * services
Definition: locator.c:1514

◆ services_ExecQueryAsync()

static HRESULT WINAPI services_ExecQueryAsync ( ISWbemServices *  iface,
IDispatch objWbemSink,
BSTR  strQuery,
BSTR  strQueryLanguage,
LONG  lFlags,
IDispatch objWbemNamedValueSet,
IDispatch objWbemAsyncContext 
)
static

Definition at line 1799 of file locator.c.

1807{
1808 FIXME( "\n" );
1809 return E_NOTIMPL;
1810}

◆ services_Get()

static HRESULT WINAPI services_Get ( ISWbemServices *  iface,
BSTR  strObjectPath,
LONG  iFlags,
IDispatch objWbemNamedValueSet,
ISWbemObject **  objWbemObject 
)
static

Definition at line 1644 of file locator.c.

1650{
1651 struct services *services = impl_from_ISWbemServices( iface );
1653 HRESULT hr;
1654
1655 TRACE( "%p, %s, %d, %p, %p\n", iface, debugstr_w(strObjectPath), iFlags, objWbemNamedValueSet,
1656 objWbemObject );
1657
1658 if (objWbemNamedValueSet) FIXME( "ignoring context\n" );
1659
1660 hr = IWbemServices_GetObject( services->services, strObjectPath, iFlags, NULL, &obj, NULL );
1661 if (hr != S_OK) return hr;
1662
1663 hr = SWbemObject_create( obj, objWbemObject );
1664 IWbemClassObject_Release( obj );
1665 return hr;
1666}

◆ services_get_Security_()

static HRESULT WINAPI services_get_Security_ ( ISWbemServices *  iface,
ISWbemSecurity **  objWbemSecurity 
)
static

Definition at line 1936 of file locator.c.

1939{
1940 TRACE( "%p, %p\n", iface, objWbemSecurity );
1941
1942 if (!objWbemSecurity)
1943 return E_INVALIDARG;
1944
1945 return ISWbemSecurity_create( objWbemSecurity );
1946}

◆ services_GetAsync()

static HRESULT WINAPI services_GetAsync ( ISWbemServices *  iface,
IDispatch objWbemSink,
BSTR  strObjectPath,
LONG  iFlags,
IDispatch objWbemNamedValueSet,
IDispatch objWbemAsyncContext 
)
static

Definition at line 1668 of file locator.c.

1675{
1676 FIXME( "\n" );
1677 return E_NOTIMPL;
1678}

◆ services_GetIDsOfNames()

static HRESULT WINAPI services_GetIDsOfNames ( ISWbemServices *  iface,
REFIID  riid,
LPOLESTR names,
UINT  count,
LCID  lcid,
DISPID dispid 
)
static

Definition at line 1591 of file locator.c.

1598{
1599 struct services *services = impl_from_ISWbemServices( iface );
1601 HRESULT hr;
1602
1603 TRACE( "%p, %s, %p, %u, %u, %p\n", services, debugstr_guid(riid), names, count, lcid, dispid );
1604
1605 if (!names || !count || !dispid) return E_INVALIDARG;
1606
1608 if (SUCCEEDED(hr))
1609 {
1610 hr = ITypeInfo_GetIDsOfNames( typeinfo, names, count, dispid );
1611 ITypeInfo_Release( typeinfo );
1612 }
1613 return hr;
1614}

◆ services_GetTypeInfo()

static HRESULT WINAPI services_GetTypeInfo ( ISWbemServices *  iface,
UINT  index,
LCID  lcid,
ITypeInfo **  info 
)
static

Definition at line 1579 of file locator.c.

1584{
1585 struct services *services = impl_from_ISWbemServices( iface );
1586 TRACE( "%p, %u, %u, %p\n", services, index, lcid, info );
1587
1589}

◆ services_GetTypeInfoCount()

static HRESULT WINAPI services_GetTypeInfoCount ( ISWbemServices *  iface,
UINT count 
)
static

Definition at line 1568 of file locator.c.

1571{
1572 struct services *services = impl_from_ISWbemServices( iface );
1573 TRACE( "%p, %p\n", services, count );
1574
1575 *count = 1;
1576 return S_OK;
1577}

◆ services_InstancesOf()

static HRESULT WINAPI services_InstancesOf ( ISWbemServices *  iface,
BSTR  strClass,
LONG  iFlags,
IDispatch objWbemNamedValueSet,
ISWbemObjectSet **  objWbemObjectSet 
)
static

Definition at line 1714 of file locator.c.

1720{
1721 static const WCHAR wqlW[] = {'W','Q','L',0};
1722 BSTR query, wql = SysAllocString( wqlW );
1723 HRESULT hr;
1724
1725 TRACE( "%p, %s, %x, %p, %p\n", iface, debugstr_w(strClass), iFlags, objWbemNamedValueSet,
1726 objWbemObjectSet );
1727
1728 if (!(query = build_query_string( strClass )))
1729 {
1730 SysFreeString( wql );
1731 return E_OUTOFMEMORY;
1732 }
1733 hr = ISWbemServices_ExecQuery( iface, query, wql, iFlags, objWbemNamedValueSet, objWbemObjectSet );
1734 SysFreeString( wql );
1736 return hr;
1737}
static BSTR build_query_string(const WCHAR *class)
Definition: locator.c:1702
static const WCHAR wqlW[]
Definition: query.c:30
BSTR WINAPI SysAllocString(LPCOLESTR str)
Definition: oleaut.c:238

◆ services_InstancesOfAsync()

static HRESULT WINAPI services_InstancesOfAsync ( ISWbemServices *  iface,
IDispatch objWbemSink,
BSTR  strClass,
LONG  iFlags,
IDispatch objWbemNamedValueSet,
IDispatch objWbemAsyncContext 
)
static

Definition at line 1739 of file locator.c.

1746{
1747 FIXME( "\n" );
1748 return E_NOTIMPL;
1749}

◆ services_Invoke()

static HRESULT WINAPI services_Invoke ( ISWbemServices *  iface,
DISPID  member,
REFIID  riid,
LCID  lcid,
WORD  flags,
DISPPARAMS *  params,
VARIANT result,
EXCEPINFO *  excep_info,
UINT arg_err 
)
static

Definition at line 1616 of file locator.c.

1626{
1627 struct services *services = impl_from_ISWbemServices( iface );
1629 HRESULT hr;
1630
1631 TRACE( "%p, %d, %s, %d, %d, %p, %p, %p, %p\n", services, member, debugstr_guid(riid),
1632 lcid, flags, params, result, excep_info, arg_err );
1633
1635 if (SUCCEEDED(hr))
1636 {
1637 hr = ITypeInfo_Invoke( typeinfo, &services->ISWbemServices_iface, member, flags,
1638 params, result, excep_info, arg_err );
1639 ITypeInfo_Release( typeinfo );
1640 }
1641 return hr;
1642}
ISWbemServices ISWbemServices_iface
Definition: locator.c:1512

◆ services_QueryInterface()

static HRESULT WINAPI services_QueryInterface ( ISWbemServices *  iface,
REFIID  riid,
void **  ppvObject 
)
static

Definition at line 1544 of file locator.c.

1548{
1549 struct services *services = impl_from_ISWbemServices( iface );
1550
1551 TRACE( "%p %s %p\n", services, debugstr_guid(riid), ppvObject );
1552
1553 if (IsEqualGUID( riid, &IID_ISWbemServices ) ||
1556 {
1557 *ppvObject = iface;
1558 }
1559 else
1560 {
1561 FIXME( "interface %s not implemented\n", debugstr_guid(riid) );
1562 return E_NOINTERFACE;
1563 }
1564 ISWbemServices_AddRef( iface );
1565 return S_OK;
1566}

◆ services_ReferencesTo()

static HRESULT WINAPI services_ReferencesTo ( ISWbemServices *  iface,
BSTR  strObjectPath,
BSTR  strResultClass,
BSTR  strRole,
VARIANT_BOOL  bClassesOnly,
VARIANT_BOOL  bSchemaOnly,
BSTR  strRequiredQualifier,
LONG  iFlags,
IDispatch objWbemNamedValueSet,
ISWbemObjectSet **  objWbemObjectSet 
)
static

Definition at line 1851 of file locator.c.

1862{
1863 FIXME( "\n" );
1864 return E_NOTIMPL;
1865}

◆ services_ReferencesToAsync()

static HRESULT WINAPI services_ReferencesToAsync ( ISWbemServices *  iface,
IDispatch objWbemSink,
BSTR  strObjectPath,
BSTR  strResultClass,
BSTR  strRole,
VARIANT_BOOL  bClassesOnly,
VARIANT_BOOL  bSchemaOnly,
BSTR  strRequiredQualifier,
LONG  iFlags,
IDispatch objWbemNamedValueSet,
IDispatch objWbemAsyncContext 
)
static

Definition at line 1867 of file locator.c.

1879{
1880 FIXME( "\n" );
1881 return E_NOTIMPL;
1882}

◆ services_Release()

static ULONG WINAPI services_Release ( ISWbemServices *  iface)
static

Definition at line 1530 of file locator.c.

1532{
1533 struct services *services = impl_from_ISWbemServices( iface );
1535 if (!refs)
1536 {
1537 TRACE( "destroying %p\n", services );
1538 IWbemServices_Release( services->services );
1540 }
1541 return refs;
1542}

◆ services_SubclassesOf()

static HRESULT WINAPI services_SubclassesOf ( ISWbemServices *  iface,
BSTR  strSuperclass,
LONG  iFlags,
IDispatch objWbemNamedValueSet,
ISWbemObjectSet **  objWbemObjectSet 
)
static

Definition at line 1751 of file locator.c.

1757{
1758 FIXME( "\n" );
1759 return E_NOTIMPL;
1760}

◆ services_SubclassesOfAsync()

static HRESULT WINAPI services_SubclassesOfAsync ( ISWbemServices *  iface,
IDispatch objWbemSink,
BSTR  strSuperclass,
LONG  iFlags,
IDispatch objWbemNamedValueSet,
IDispatch objWbemAsyncContext 
)
static

Definition at line 1762 of file locator.c.

1769{
1770 FIXME( "\n" );
1771 return E_NOTIMPL;
1772}

◆ SWbemLocator_create()

HRESULT SWbemLocator_create ( void **  obj)

Definition at line 2220 of file locator.c.

2221{
2222 struct locator *locator;
2223
2224 TRACE( "%p\n", obj );
2225
2226 if (!(locator = heap_alloc( sizeof(*locator) ))) return E_OUTOFMEMORY;
2228 locator->refs = 1;
2229 locator->locator = NULL;
2230
2232 TRACE( "returning iface %p\n", *obj );
2233 return S_OK;
2234}
static const ISWbemLocatorVtbl locator_vtbl
Definition: locator.c:2207

Referenced by WinMGMTS_ParseDisplayName().

◆ SWbemObject_create()

static HRESULT SWbemObject_create ( IWbemClassObject wbem_object,
ISWbemObject **  obj 
)
static

Definition at line 1093 of file locator.c.

1094{
1095 struct object *object;
1096
1097 TRACE( "%p, %p\n", obj, wbem_object );
1098
1099 if (!(object = heap_alloc( sizeof(*object) ))) return E_OUTOFMEMORY;
1100 object->ISWbemObject_iface.lpVtbl = &object_vtbl;
1101 object->refs = 1;
1102 object->object = wbem_object;
1103 IWbemClassObject_AddRef( object->object );
1104 object->members = NULL;
1105 object->nb_members = 0;
1106 object->last_dispid = DISPID_BASE;
1107 object->last_dispid_method = DISPID_BASE_METHOD;
1108
1109 *obj = &object->ISWbemObject_iface;
1110 TRACE( "returning iface %p\n", *obj );
1111 return S_OK;
1112}
#define DISPID_BASE
Definition: locator.c:500
static const ISWbemObjectVtbl object_vtbl
Definition: locator.c:1057

Referenced by enumvar_Next(), and services_Get().

◆ SWbemObjectSet_create()

static HRESULT SWbemObjectSet_create ( IEnumWbemClassObject wbem_objectenum,
ISWbemObjectSet **  obj 
)
static

Definition at line 1360 of file locator.c.

1361{
1362 struct objectset *objectset;
1363
1364 TRACE( "%p, %p\n", obj, wbem_objectenum );
1365
1366 if (!(objectset = heap_alloc( sizeof(*objectset) ))) return E_OUTOFMEMORY;
1368 objectset->refs = 1;
1369 objectset->objectenum = wbem_objectenum;
1370 IEnumWbemClassObject_AddRef( objectset->objectenum );
1372
1374 TRACE( "returning iface %p\n", *obj );
1375 return S_OK;
1376}
static const ISWbemObjectSetVtbl objectset_vtbl
Definition: locator.c:1336
static LONG get_object_count(IEnumWbemClassObject *iter)
Definition: locator.c:1352

Referenced by services_ExecQuery().

◆ SWbemProperty_create()

static HRESULT SWbemProperty_create ( IWbemClassObject wbem_object,
BSTR  name,
ISWbemProperty **  obj 
)
static

Definition at line 284 of file locator.c.

285{
286 struct property *property;
287
288 TRACE( "%p, %p\n", obj, wbem_object );
289
290 if (!(property = heap_alloc( sizeof(*property) ))) return E_OUTOFMEMORY;
291 property->ISWbemProperty_iface.lpVtbl = &property_vtbl;
292 property->refs = 1;
293 property->object = wbem_object;
294 IWbemClassObject_AddRef( property->object );
295 property->name = SysAllocStringLen( name, SysStringLen( name ) );
296 *obj = &property->ISWbemProperty_iface;
297 TRACE( "returning iface %p\n", *obj );
298 return S_OK;
299}
static const ISWbemPropertyVtbl property_vtbl
Definition: locator.c:265
UINT WINAPI SysStringLen(BSTR str)
Definition: oleaut.c:196

Referenced by propertyset_Item().

◆ SWbemPropertySet_create()

static HRESULT SWbemPropertySet_create ( IWbemClassObject wbem_object,
ISWbemPropertySet **  obj 
)
static

Definition at line 483 of file locator.c.

484{
485 struct propertyset *propertyset;
486
487 TRACE( "%p, %p\n", obj, wbem_object );
488
489 if (!(propertyset = heap_alloc( sizeof(*propertyset) ))) return E_OUTOFMEMORY;
491 propertyset->refs = 1;
492 propertyset->object = wbem_object;
493 IWbemClassObject_AddRef( propertyset->object );
495
496 TRACE( "returning iface %p\n", *obj );
497 return S_OK;
498}
static const ISWbemPropertySetVtbl propertyset_vtbl
Definition: locator.c:467

Referenced by object_get_Properties_().

◆ SWbemServices_create()

static HRESULT SWbemServices_create ( IWbemServices wbem_services,
ISWbemServices **  obj 
)
static

Definition at line 1978 of file locator.c.

1979{
1980 struct services *services;
1981
1982 TRACE( "%p, %p\n", obj, wbem_services );
1983
1984 if (!(services = heap_alloc( sizeof(*services) ))) return E_OUTOFMEMORY;
1986 services->refs = 1;
1988 IWbemServices_AddRef( services->services );
1989
1991 TRACE( "returning iface %p\n", *obj );
1992 return S_OK;
1993}
static const ISWbemServicesVtbl services_vtbl
Definition: locator.c:1948

Referenced by locator_ConnectServer().

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( wbemdisp  )

Variable Documentation

◆ enumvar_vtbl

const struct IEnumVARIANTVtbl enumvar_vtbl
static
Initial value:
=
{
}
static HRESULT WINAPI enumvar_Clone(IEnumVARIANT *iface, IEnumVARIANT **penum)
Definition: locator.c:1478
static HRESULT WINAPI enumvar_Reset(IEnumVARIANT *iface)
Definition: locator.c:1469
static HRESULT WINAPI enumvar_Next(IEnumVARIANT *iface, ULONG celt, VARIANT *var, ULONG *fetched)
Definition: locator.c:1435
static ULONG WINAPI enumvar_AddRef(IEnumVARIANT *iface)
Definition: locator.c:1391
static HRESULT WINAPI enumvar_Skip(IEnumVARIANT *iface, ULONG celt)
Definition: locator.c:1460
static ULONG WINAPI enumvar_Release(IEnumVARIANT *iface)
Definition: locator.c:1398
static HRESULT WINAPI enumvar_QueryInterface(IEnumVARIANT *iface, REFIID riid, void **ppvObject)
Definition: locator.c:1412

Definition at line 1484 of file locator.c.

Referenced by EnumVARIANT_create().

◆ locator_vtbl

const ISWbemLocatorVtbl locator_vtbl
static
Initial value:
=
{
}
static HRESULT WINAPI locator_QueryInterface(ISWbemLocator *iface, REFIID riid, void **ppvObject)
Definition: locator.c:2029
static HRESULT WINAPI locator_get_Security_(ISWbemLocator *iface, ISWbemSecurity **objWbemSecurity)
Definition: locator.c:2195
static HRESULT WINAPI locator_Invoke(ISWbemLocator *iface, DISPID member, REFIID riid, LCID lcid, WORD flags, DISPPARAMS *params, VARIANT *result, EXCEPINFO *excep_info, UINT *arg_err)
Definition: locator.c:2101
static HRESULT WINAPI locator_GetTypeInfoCount(ISWbemLocator *iface, UINT *count)
Definition: locator.c:2053
static HRESULT WINAPI locator_GetTypeInfo(ISWbemLocator *iface, UINT index, LCID lcid, ITypeInfo **info)
Definition: locator.c:2064
static ULONG WINAPI locator_Release(ISWbemLocator *iface)
Definition: locator.c:2014
static ULONG WINAPI locator_AddRef(ISWbemLocator *iface)
Definition: locator.c:2007
static HRESULT WINAPI locator_ConnectServer(ISWbemLocator *iface, BSTR strServer, BSTR strNamespace, BSTR strUser, BSTR strPassword, BSTR strLocale, BSTR strAuthority, LONG iSecurityFlags, IDispatch *objWbemNamedValueSet, ISWbemServices **objWbemServices)
Definition: locator.c:2154
static HRESULT WINAPI locator_GetIDsOfNames(ISWbemLocator *iface, REFIID riid, LPOLESTR *names, UINT count, LCID lcid, DISPID *dispid)
Definition: locator.c:2076

Definition at line 2207 of file locator.c.

Referenced by SWbemLocator_create().

◆ object_vtbl

const ISWbemObjectVtbl object_vtbl
static

Definition at line 1057 of file locator.c.

Referenced by SWbemObject_create().

◆ objectset_vtbl

const ISWbemObjectSetVtbl objectset_vtbl
static
Initial value:
=
{
}
static HRESULT WINAPI objectset_ItemIndex(ISWbemObjectSet *iface, LONG lIndex, ISWbemObject **objWbemObject)
Definition: locator.c:1296
static HRESULT WINAPI objectset_Item(ISWbemObjectSet *iface, BSTR strObjectPath, LONG iFlags, ISWbemObject **objWbemObject)
Definition: locator.c:1266
static HRESULT WINAPI objectset_GetTypeInfo(ISWbemObjectSet *iface, UINT index, LCID lcid, ITypeInfo **info)
Definition: locator.c:1183
static HRESULT WINAPI objectset_get__NewEnum(ISWbemObjectSet *iface, IUnknown **pUnk)
Definition: locator.c:1248
static HRESULT WINAPI objectset_Invoke(ISWbemObjectSet *iface, DISPID member, REFIID riid, LCID lcid, WORD flags, DISPPARAMS *params, VARIANT *result, EXCEPINFO *excep_info, UINT *arg_err)
Definition: locator.c:1220
static ULONG WINAPI objectset_Release(ISWbemObjectSet *iface)
Definition: locator.c:1135
static HRESULT WINAPI objectset_GetTypeInfoCount(ISWbemObjectSet *iface, UINT *count)
Definition: locator.c:1173
static HRESULT WINAPI objectset_QueryInterface(ISWbemObjectSet *iface, REFIID riid, void **ppvObject)
Definition: locator.c:1149
static ULONG WINAPI objectset_AddRef(ISWbemObjectSet *iface)
Definition: locator.c:1128
static HRESULT WINAPI objectset_GetIDsOfNames(ISWbemObjectSet *iface, REFIID riid, LPOLESTR *names, UINT count, LCID lcid, DISPID *dispid)
Definition: locator.c:1195
static HRESULT WINAPI objectset_get_Security_(ISWbemObjectSet *iface, ISWbemSecurity **objWbemSecurity)
Definition: locator.c:1288
static HRESULT WINAPI objectset_get_Count(ISWbemObjectSet *iface, LONG *iCount)
Definition: locator.c:1276

Definition at line 1336 of file locator.c.

Referenced by SWbemObjectSet_create().

◆ property_vtbl

const ISWbemPropertyVtbl property_vtbl
static
Initial value:
=
{
}
static HRESULT WINAPI property_Invoke(ISWbemProperty *iface, DISPID member, REFIID riid, LCID lcid, WORD flags, DISPPARAMS *params, VARIANT *result, EXCEPINFO *excep_info, UINT *arg_err)
Definition: locator.c:193
static HRESULT WINAPI property_get_Qualifiers_(ISWbemProperty *iface, ISWbemQualifierSet **objWbemQualifierSet)
Definition: locator.c:253
static HRESULT WINAPI property_GetTypeInfoCount(ISWbemProperty *iface, UINT *count)
Definition: locator.c:156
static HRESULT WINAPI property_QueryInterface(ISWbemProperty *iface, REFIID riid, void **obj)
Definition: locator.c:135
static HRESULT WINAPI property_get_Name(ISWbemProperty *iface, BSTR *strName)
Definition: locator.c:229
static HRESULT WINAPI property_get_IsArray(ISWbemProperty *iface, VARIANT_BOOL *bIsArray)
Definition: locator.c:259
static HRESULT WINAPI property_get_IsLocal(ISWbemProperty *iface, VARIANT_BOOL *bIsLocal)
Definition: locator.c:235
static HRESULT WINAPI property_GetTypeInfo(ISWbemProperty *iface, UINT index, LCID lcid, ITypeInfo **info)
Definition: locator.c:164
static HRESULT WINAPI property_get_Value(ISWbemProperty *iface, VARIANT *value)
Definition: locator.c:214
static HRESULT WINAPI property_GetIDsOfNames(ISWbemProperty *iface, REFIID riid, LPOLESTR *names, UINT count, LCID lcid, DISPID *dispid)
Definition: locator.c:173
static ULONG WINAPI property_Release(ISWbemProperty *iface)
Definition: locator.c:121
static HRESULT WINAPI property_get_Origin(ISWbemProperty *iface, BSTR *strOrigin)
Definition: locator.c:241
static HRESULT WINAPI property_put_Value(ISWbemProperty *iface, VARIANT *varValue)
Definition: locator.c:223
static HRESULT WINAPI property_get_CIMType(ISWbemProperty *iface, WbemCimtypeEnum *iCimType)
Definition: locator.c:247
static ULONG WINAPI property_AddRef(ISWbemProperty *iface)
Definition: locator.c:115

Definition at line 265 of file locator.c.

Referenced by SWbemProperty_create().

◆ propertyset_vtbl

const ISWbemPropertySetVtbl propertyset_vtbl
static
Initial value:
=
{
}
static HRESULT WINAPI propertyset_GetIDsOfNames(ISWbemPropertySet *iface, REFIID riid, LPOLESTR *names, UINT count, LCID lcid, DISPID *dispid)
Definition: locator.c:372
static HRESULT WINAPI propertyset_QueryInterface(ISWbemPropertySet *iface, REFIID riid, void **obj)
Definition: locator.c:333
static HRESULT WINAPI propertyset_get__NewEnum(ISWbemPropertySet *iface, IUnknown **unk)
Definition: locator.c:413
static HRESULT WINAPI propertyset_Add(ISWbemPropertySet *iface, BSTR name, WbemCimtypeEnum type, VARIANT_BOOL is_array, LONG flags, ISWbemProperty **prop)
Definition: locator.c:454
static HRESULT WINAPI propertyset_get_Count(ISWbemPropertySet *iface, LONG *count)
Definition: locator.c:437
static HRESULT WINAPI propertyset_GetTypeInfo(ISWbemPropertySet *iface, UINT index, LCID lcid, ITypeInfo **info)
Definition: locator.c:363
static ULONG WINAPI propertyset_AddRef(ISWbemPropertySet *iface)
Definition: locator.c:314
static HRESULT WINAPI propertyset_Invoke(ISWbemPropertySet *iface, DISPID member, REFIID riid, LCID lcid, WORD flags, DISPPARAMS *params, VARIANT *result, EXCEPINFO *excep_info, UINT *arg_err)
Definition: locator.c:392
static HRESULT WINAPI propertyset_Item(ISWbemPropertySet *iface, BSTR name, LONG flags, ISWbemProperty **prop)
Definition: locator.c:419
static ULONG WINAPI propertyset_Release(ISWbemPropertySet *iface)
Definition: locator.c:320
static HRESULT WINAPI propertyset_GetTypeInfoCount(ISWbemPropertySet *iface, UINT *count)
Definition: locator.c:355
static HRESULT WINAPI propertyset_Remove(ISWbemPropertySet *iface, BSTR name, LONG flags)
Definition: locator.c:461

Definition at line 467 of file locator.c.

Referenced by SWbemPropertySet_create().

◆ security_vtbl

const ISWbemSecurityVtbl security_vtbl
static
Initial value:
=
{
}
static ULONG WINAPI security_AddRef(ISWbemSecurity *iface)
Definition: locator.c:2249
static HRESULT WINAPI security_GetTypeInfoCount(ISWbemSecurity *iface, UINT *count)
Definition: locator.c:2292
static HRESULT WINAPI security_put_ImpersonationLevel(ISWbemSecurity *iface, WbemImpersonationLevelEnum impersonation_level)
Definition: locator.c:2382
static HRESULT WINAPI security_Invoke(ISWbemSecurity *iface, DISPID member, REFIID riid, LCID lcid, WORD flags, DISPPARAMS *params, VARIANT *result, EXCEPINFO *excep_info, UINT *arg_err)
Definition: locator.c:2340
static ULONG WINAPI security_Release(ISWbemSecurity *iface)
Definition: locator.c:2256
static HRESULT WINAPI security_get_AuthenticationLevel(ISWbemSecurity *iface, WbemAuthenticationLevelEnum *authentication_level)
Definition: locator.c:2393
static HRESULT WINAPI security_get_ImpersonationLevel(ISWbemSecurity *iface, WbemImpersonationLevelEnum *impersonation_level)
Definition: locator.c:2368
static HRESULT WINAPI security_put_AuthenticationLevel(ISWbemSecurity *iface, WbemAuthenticationLevelEnum authentication_level)
Definition: locator.c:2407
static HRESULT WINAPI security_GetIDsOfNames(ISWbemSecurity *iface, REFIID riid, LPOLESTR *names, UINT count, LCID lcid, DISPID *dispid)
Definition: locator.c:2315
static HRESULT WINAPI security_get_Privileges(ISWbemSecurity *iface, ISWbemPrivilegeSet **privilege_set)
Definition: locator.c:2418
static HRESULT WINAPI security_GetTypeInfo(ISWbemSecurity *iface, UINT index, LCID lcid, ITypeInfo **info)
Definition: locator.c:2303
static HRESULT WINAPI security_QueryInterface(ISWbemSecurity *iface, REFIID riid, void **ppvObject)
Definition: locator.c:2269

Definition at line 2431 of file locator.c.

Referenced by ISWbemSecurity_create().

◆ services_vtbl

const ISWbemServicesVtbl services_vtbl
static
Initial value:
=
{
}
static HRESULT WINAPI services_ExecMethodAsync(ISWbemServices *iface, IDispatch *objWbemSink, BSTR strObjectPath, BSTR strMethodName, IDispatch *objWbemInParameters, LONG iFlags, IDispatch *objWbemNamedValueSet, IDispatch *objWbemAsyncContext)
Definition: locator.c:1922
static HRESULT WINAPI services_get_Security_(ISWbemServices *iface, ISWbemSecurity **objWbemSecurity)
Definition: locator.c:1936
static HRESULT WINAPI services_ExecMethod(ISWbemServices *iface, BSTR strObjectPath, BSTR strMethodName, IDispatch *objWbemInParameters, LONG iFlags, IDispatch *objWbemNamedValueSet, ISWbemObject **objWbemOutParameters)
Definition: locator.c:1909
static HRESULT WINAPI services_DeleteAsync(ISWbemServices *This, IDispatch *objWbemSink, BSTR strObjectPath, LONG iFlags, IDispatch *objWbemNamedValueSet, IDispatch *objWbemAsyncContext)
Definition: locator.c:1690
static HRESULT WINAPI services_GetTypeInfoCount(ISWbemServices *iface, UINT *count)
Definition: locator.c:1568
static HRESULT WINAPI services_Delete(ISWbemServices *iface, BSTR strObjectPath, LONG iFlags, IDispatch *objWbemNamedValueSet)
Definition: locator.c:1680
static HRESULT WINAPI services_Get(ISWbemServices *iface, BSTR strObjectPath, LONG iFlags, IDispatch *objWbemNamedValueSet, ISWbemObject **objWbemObject)
Definition: locator.c:1644
static HRESULT WINAPI services_ExecQuery(ISWbemServices *iface, BSTR strQuery, BSTR strQueryLanguage, LONG iFlags, IDispatch *objWbemNamedValueSet, ISWbemObjectSet **objWbemObjectSet)
Definition: locator.c:1774
static HRESULT WINAPI services_ExecNotificationQuery(ISWbemServices *iface, BSTR strQuery, BSTR strQueryLanguage, LONG iFlags, IDispatch *objWbemNamedValueSet, ISWbemEventSource **objWbemEventSource)
Definition: locator.c:1884
static HRESULT WINAPI services_AssociatorsOfAsync(ISWbemServices *iface, IDispatch *objWbemSink, BSTR strObjectPath, BSTR strAssocClass, BSTR strResultClass, BSTR strResultRole, BSTR strRole, VARIANT_BOOL bClassesOnly, VARIANT_BOOL bSchemaOnly, BSTR strRequiredAssocQualifier, BSTR strRequiredQualifier, LONG iFlags, IDispatch *objWbemNamedValueSet, IDispatch *objWbemAsyncContext)
Definition: locator.c:1831
static ULONG WINAPI services_Release(ISWbemServices *iface)
Definition: locator.c:1530
static HRESULT WINAPI services_SubclassesOf(ISWbemServices *iface, BSTR strSuperclass, LONG iFlags, IDispatch *objWbemNamedValueSet, ISWbemObjectSet **objWbemObjectSet)
Definition: locator.c:1751
static HRESULT WINAPI services_InstancesOf(ISWbemServices *iface, BSTR strClass, LONG iFlags, IDispatch *objWbemNamedValueSet, ISWbemObjectSet **objWbemObjectSet)
Definition: locator.c:1714
static HRESULT WINAPI services_ExecNotificationQueryAsync(ISWbemServices *iface, IDispatch *objWbemSink, BSTR strQuery, BSTR strQueryLanguage, LONG iFlags, IDispatch *objWbemNamedValueSet, IDispatch *objWbemAsyncContext)
Definition: locator.c:1896
static HRESULT WINAPI services_InstancesOfAsync(ISWbemServices *iface, IDispatch *objWbemSink, BSTR strClass, LONG iFlags, IDispatch *objWbemNamedValueSet, IDispatch *objWbemAsyncContext)
Definition: locator.c:1739
static HRESULT WINAPI services_ReferencesToAsync(ISWbemServices *iface, IDispatch *objWbemSink, BSTR strObjectPath, BSTR strResultClass, BSTR strRole, VARIANT_BOOL bClassesOnly, VARIANT_BOOL bSchemaOnly, BSTR strRequiredQualifier, LONG iFlags, IDispatch *objWbemNamedValueSet, IDispatch *objWbemAsyncContext)
Definition: locator.c:1867
static HRESULT WINAPI services_AssociatorsOf(ISWbemServices *iface, BSTR strObjectPath, BSTR strAssocClass, BSTR strResultClass, BSTR strResultRole, BSTR strRole, VARIANT_BOOL bClassesOnly, VARIANT_BOOL bSchemaOnly, BSTR strRequiredAssocQualifier, BSTR strRequiredQualifier, LONG iFlags, IDispatch *objWbemNamedValueSet, ISWbemObjectSet **objWbemObjectSet)
Definition: locator.c:1812
static HRESULT WINAPI services_ExecQueryAsync(ISWbemServices *iface, IDispatch *objWbemSink, BSTR strQuery, BSTR strQueryLanguage, LONG lFlags, IDispatch *objWbemNamedValueSet, IDispatch *objWbemAsyncContext)
Definition: locator.c:1799
static HRESULT WINAPI services_ReferencesTo(ISWbemServices *iface, BSTR strObjectPath, BSTR strResultClass, BSTR strRole, VARIANT_BOOL bClassesOnly, VARIANT_BOOL bSchemaOnly, BSTR strRequiredQualifier, LONG iFlags, IDispatch *objWbemNamedValueSet, ISWbemObjectSet **objWbemObjectSet)
Definition: locator.c:1851
static HRESULT WINAPI services_SubclassesOfAsync(ISWbemServices *iface, IDispatch *objWbemSink, BSTR strSuperclass, LONG iFlags, IDispatch *objWbemNamedValueSet, IDispatch *objWbemAsyncContext)
Definition: locator.c:1762
static HRESULT WINAPI services_GetIDsOfNames(ISWbemServices *iface, REFIID riid, LPOLESTR *names, UINT count, LCID lcid, DISPID *dispid)
Definition: locator.c:1591
static HRESULT WINAPI services_GetAsync(ISWbemServices *iface, IDispatch *objWbemSink, BSTR strObjectPath, LONG iFlags, IDispatch *objWbemNamedValueSet, IDispatch *objWbemAsyncContext)
Definition: locator.c:1668
static HRESULT WINAPI services_QueryInterface(ISWbemServices *iface, REFIID riid, void **ppvObject)
Definition: locator.c:1544
static HRESULT WINAPI services_Invoke(ISWbemServices *iface, DISPID member, REFIID riid, LCID lcid, WORD flags, DISPPARAMS *params, VARIANT *result, EXCEPINFO *excep_info, UINT *arg_err)
Definition: locator.c:1616
static HRESULT WINAPI services_GetTypeInfo(ISWbemServices *iface, UINT index, LCID lcid, ITypeInfo **info)
Definition: locator.c:1579
static ULONG WINAPI services_AddRef(ISWbemServices *iface)
Definition: locator.c:1523

Definition at line 1948 of file locator.c.

Referenced by SWbemServices_create().

◆ wbemdisp_tid_id

REFIID wbemdisp_tid_id[]
static
Initial value:
=
{
&IID_ISWbemLocator,
&IID_ISWbemObject,
&IID_ISWbemObjectSet,
&IID_ISWbemProperty,
&IID_ISWbemPropertySet,
&IID_ISWbemServices,
&IID_ISWbemSecurity
}

Definition at line 56 of file locator.c.

Referenced by get_typeinfo().

◆ wbemdisp_typeinfo

ITypeInfo* wbemdisp_typeinfo[last_tid]
static

Definition at line 54 of file locator.c.

Referenced by get_typeinfo().

◆ wbemdisp_typelib

ITypeLib* wbemdisp_typelib
static

Definition at line 53 of file locator.c.

Referenced by get_typeinfo().