ReactOS  0.4.15-dev-316-g938df97
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.

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 }
BSTR WINAPI SysAllocStringLen(const OLECHAR *str, unsigned int len)
Definition: oleaut.c:339
OLECHAR * BSTR
Definition: compat.h:1943
#define lstrlenW
Definition: compat.h:416
smooth NULL
Definition: ftsmooth.c:416
static const WCHAR selectW[]
Definition: htmlelem.c:38
__wchar_t WCHAR
Definition: xmlstorage.h:180
int ret
GLenum GLsizei len
Definition: glext.h:6722
#define lstrcpyW
Definition: compat.h:415
#define ARRAY_SIZE(a)
Definition: main.h:24
unsigned int UINT
Definition: ndis.h:50
LPWSTR WINAPI lstrcatW(LPWSTR lpString1, LPCWSTR lpString2)
Definition: lstring.c:274

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 }
static rfbScreenInfoPtr server
Definition: vnc.c:74
BSTR WINAPI SysAllocStringLen(const OLECHAR *str, unsigned int len)
Definition: oleaut.c:339
static const WCHAR defaultW[]
Definition: lex.c:42
OLECHAR * BSTR
Definition: compat.h:1943
#define lstrlenW
Definition: compat.h:416
smooth NULL
Definition: ftsmooth.c:416
__wchar_t WCHAR
Definition: xmlstorage.h:180
int ret
GLenum GLsizei len
Definition: glext.h:6722
#define lstrcpyW
Definition: compat.h:415
#define ARRAY_SIZE(a)
Definition: main.h:24
unsigned int ULONG
Definition: retypes.h:1

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 }
static struct enumvar * impl_from_IEnumVARIANT(IEnumVARIANT *iface)
Definition: locator.c:1385
#define InterlockedIncrement
Definition: armddk.h:53
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: debug.h:111
#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 }
const char * var
Definition: shader.c:5666
HRESULT hr
Definition: shlfolder.c:183
GLuint GLuint GLsizei count
Definition: gl.h:1545
GLsizei GLsizei GLuint * obj
Definition: glext.h:6042
#define V_DISPATCH(A)
Definition: oleauto.h:239
#define S_FALSE
Definition: winerror.h:2357
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:78
static struct enumvar * impl_from_IEnumVARIANT(IEnumVARIANT *iface)
Definition: locator.c:1385
#define V_VT(A)
Definition: oleauto.h:211
#define S_OK
Definition: intsafe.h:59
unsigned int ULONG
Definition: retypes.h:1
IEnumWbemClassObject * objectenum
Definition: locator.c:1382
static HRESULT SWbemObject_create(IWbemClassObject *wbem_object, ISWbemObject **obj)
Definition: locator.c:1093

◆ 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 }
#define E_NOINTERFACE
Definition: winerror.h:2364
REFIID riid
Definition: precomp.h:44
#define FIXME(fmt,...)
Definition: debug.h:111
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
const GUID IID_IUnknown
static struct enumvar * impl_from_IEnumVARIANT(IEnumVARIANT *iface)
Definition: locator.c:1385
REFIID LPVOID * ppvObject
Definition: precomp.h:44
#define S_OK
Definition: intsafe.h:59
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
Definition: compobj.c:4112

◆ 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 }
long LONG
Definition: pedump.c:60
#define TRACE(s)
Definition: solgame.cpp:4
static struct enumvar * impl_from_IEnumVARIANT(IEnumVARIANT *iface)
Definition: locator.c:1385
#define InterlockedDecrement
Definition: armddk.h:52
IEnumWbemClassObject * objectenum
Definition: locator.c:1382
LONG refs
Definition: locator.c:1381
static BOOL heap_free(void *mem)
Definition: appwiz.h:75

◆ 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 }
#define TRACE(s)
Definition: solgame.cpp:4
static struct enumvar * impl_from_IEnumVARIANT(IEnumVARIANT *iface)
Definition: locator.c:1385
IEnumWbemClassObject * objectenum
Definition: locator.c:1382

◆ 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 }
#define TRACE(s)
Definition: solgame.cpp:4
static struct enumvar * impl_from_IEnumVARIANT(IEnumVARIANT *iface)
Definition: locator.c:1385
IEnumWbemClassObject * objectenum
Definition: locator.c:1382

◆ 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:65
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define TRACE(s)
Definition: solgame.cpp:4
static const struct IEnumVARIANTVtbl enumvar_vtbl
Definition: locator.c:1484
#define S_OK
Definition: intsafe.h:59
IEnumWbemClassObject * objectenum
Definition: locator.c:1382
IEnumVARIANT IEnumVARIANT_iface
Definition: locator.c:1380
LONG refs
Definition: locator.c:1381

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 }
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
#define wcsicmp
Definition: string.h:1152
unsigned int UINT
Definition: ndis.h:50
Definition: name.c:38
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 }
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
smooth NULL
Definition: ftsmooth.c:416
unsigned int UINT
Definition: ndis.h:50
struct member * members
Definition: locator.c:515

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 }
GLuint GLuint GLsizei count
Definition: gl.h:1545
long LONG
Definition: pedump.c:60
#define S_OK
Definition: intsafe.h:59

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 
71  if (!wbemdisp_typelib)
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  }
84  if (!wbemdisp_typeinfo[tid])
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 }
static ITypeInfo * wbemdisp_typeinfo[last_tid]
Definition: locator.c:54
HRESULT hr
Definition: shlfolder.c:183
static REFIID wbemdisp_tid_id[]
Definition: locator.c:56
static ITypeLib * typelib
Definition: apps.c:108
#define InterlockedCompareExchangePointer
Definition: interlocked.h:129
smooth NULL
Definition: ftsmooth.c:416
#define debugstr_guid
Definition: kernel32.h:35
LONG HRESULT
Definition: typedefs.h:78
#define LOCALE_SYSTEM_DEFAULT
int ret
static ITypeInfo * typeinfo[last_tid]
Definition: apps.c:109
#define ERR(fmt,...)
Definition: debug.h:110
#define S_OK
Definition: intsafe.h:59
HRESULT WINAPI LoadRegTypeLib(REFGUID rguid, WORD wVerMajor, WORD wVerMinor, LCID lcid, ITypeLib **ppTLib)
Definition: typelib.c:531
static ITypeLib * wbemdisp_typelib
Definition: locator.c:53
static TfClientId tid

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 }
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560
IEnumVARIANT IEnumVARIANT_iface
Definition: locator.c:1380

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

Definition at line 2002 of file locator.c.

2003 {
2004  return CONTAINING_RECORD( iface, struct locator, ISWbemLocator_iface );
2005 }
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560

Referenced by locator_AddRef(), locator_ConnectServer(), locator_GetIDsOfNames(), locator_GetTypeInfo(), locator_GetTypeInfoCount(), locator_Invoke(), locator_QueryInterface(), and locator_Release().

◆ 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 }
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560

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

Definition at line 1122 of file locator.c.

1124 {
1125  return CONTAINING_RECORD( iface, struct objectset, ISWbemObjectSet_iface );
1126 }
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560

Referenced by objectset_AddRef(), objectset_get__NewEnum(), objectset_get_Count(), objectset_GetIDsOfNames(), objectset_GetTypeInfo(), objectset_GetTypeInfoCount(), objectset_Invoke(), objectset_ItemIndex(), objectset_QueryInterface(), and objectset_Release().

◆ impl_from_ISWbemProperty()

static struct property* impl_from_ISWbemProperty ( ISWbemProperty *  iface)
inlinestatic

Definition at line 110 of file locator.c.

111 {
112  return CONTAINING_RECORD( iface, struct property, ISWbemProperty_iface );
113 }
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560

Referenced by property_AddRef(), property_get_Value(), property_GetIDsOfNames(), property_GetTypeInfo(), property_GetTypeInfoCount(), property_Invoke(), property_QueryInterface(), and property_Release().

◆ impl_from_ISWbemPropertySet()

static struct propertyset* impl_from_ISWbemPropertySet ( ISWbemPropertySet *  iface)
inlinestatic

Definition at line 308 of file locator.c.

310 {
311  return CONTAINING_RECORD( iface, struct propertyset, ISWbemPropertySet_iface );
312 }
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560

Referenced by propertyset_AddRef(), propertyset_get_Count(), propertyset_GetIDsOfNames(), propertyset_GetTypeInfo(), propertyset_GetTypeInfoCount(), propertyset_Invoke(), propertyset_Item(), propertyset_QueryInterface(), and propertyset_Release().

◆ impl_from_ISWbemSecurity()

static struct security* impl_from_ISWbemSecurity ( ISWbemSecurity *  iface)
inlinestatic

Definition at line 2244 of file locator.c.

2245 {
2246  return CONTAINING_RECORD( iface, struct security, ISWbemSecurity_iface );
2247 }
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560

Referenced by security_AddRef(), security_get_AuthenticationLevel(), security_get_ImpersonationLevel(), security_get_Privileges(), security_GetIDsOfNames(), security_GetTypeInfo(), security_GetTypeInfoCount(), security_Invoke(), security_put_AuthenticationLevel(), security_put_ImpersonationLevel(), security_QueryInterface(), and security_Release().

◆ impl_from_ISWbemServices()

static struct services* impl_from_ISWbemServices ( ISWbemServices *  iface)
inlinestatic

Definition at line 1517 of file locator.c.

1519 {
1520  return CONTAINING_RECORD( iface, struct services, ISWbemServices_iface );
1521 }
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560

Referenced by services_AddRef(), services_ExecQuery(), services_Get(), services_GetIDsOfNames(), services_GetTypeInfo(), services_GetTypeInfoCount(), services_Invoke(), services_QueryInterface(), and services_Release().

◆ 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++;
620  SysFreeString( name );
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 
671 error:
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 TRUE
Definition: types.h:120
IWbemClassObject * object
Definition: locator.c:514
HRESULT hr
Definition: shlfolder.c:183
#define error(str)
Definition: mkdosfs.c:1605
GLuint GLuint GLsizei count
Definition: gl.h:1545
OLECHAR * BSTR
Definition: compat.h:1943
#define E_FAIL
Definition: ddrawi.h:102
static void * heap_alloc(size_t len)
Definition: appwiz.h:65
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
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
long LONG
Definition: pedump.c:60
UINT nb_members
Definition: locator.c:516
#define debugstr_w
Definition: kernel32.h:32
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:78
#define S_OK
Definition: intsafe.h:59
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
Definition: oleaut.c:271
Definition: name.c:38
struct member * members
Definition: locator.c:515
#define SUCCEEDED(hr)
Definition: intsafe.h:57
static BOOL heap_free(void *mem)
Definition: appwiz.h:75
GLuint const GLchar * name
Definition: glext.h:6031

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 }
LONG refs
Definition: locator.c:2239
WbemAuthenticationLevelEnum authlevel
Definition: locator.c:2241
static const ISWbemSecurityVtbl security_vtbl
Definition: locator.c:2431
ISWbemSecurity ISWbemSecurity_iface
Definition: locator.c:2238
static void * heap_alloc(size_t len)
Definition: appwiz.h:65
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define TRACE(s)
Definition: solgame.cpp:4
WbemImpersonationLevelEnum implevel
Definition: locator.c:2240
#define S_OK
Definition: intsafe.h:59

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
#define InterlockedIncrement
Definition: armddk.h:53

◆ 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 hr
Definition: shlfolder.c:183
static BSTR build_resource_string(BSTR server, BSTR namespace)
Definition: locator.c:2129
static struct locator * impl_from_ISWbemLocator(ISWbemLocator *iface)
Definition: locator.c:2002
OLECHAR * BSTR
Definition: compat.h:1943
IWbemLocator * locator
Definition: locator.c:1999
int resource
Definition: rdpsnd_sgi.c:44
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:111
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:78
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
Definition: compobj.c:3325
#define S_OK
Definition: intsafe.h:59
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
Definition: oleaut.c:271
static HRESULT SWbemServices_create(IWbemServices *wbem_services, ISWbemServices **obj)
Definition: locator.c:1978

◆ 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 }
static HRESULT ISWbemSecurity_create(ISWbemSecurity **)
Definition: locator.c:2447
#define E_INVALIDARG
Definition: ddrawi.h:101
#define TRACE(s)
Definition: solgame.cpp:4

◆ 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 }
HRESULT hr
Definition: shlfolder.c:183
REFIID riid
Definition: precomp.h:44
static struct locator * impl_from_ISWbemLocator(ISWbemLocator *iface)
Definition: locator.c:2002
GLuint GLuint GLsizei count
Definition: gl.h:1545
GLuint GLuint * names
Definition: glext.h:11545
static HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
Definition: locator.c:67
#define E_INVALIDARG
Definition: ddrawi.h:101
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:78
static ITypeInfo * typeinfo[last_tid]
Definition: apps.c:109
#define SUCCEEDED(hr)
Definition: intsafe.h:57

◆ 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 
2073  return get_typeinfo( ISWbemLocator_tid, info );
2074 }
static struct locator * impl_from_ISWbemLocator(ISWbemLocator *iface)
Definition: locator.c:2002
static HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
Definition: locator.c:67
GLuint index
Definition: glext.h:6031
#define TRACE(s)
Definition: solgame.cpp:4

◆ 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 }
static struct locator * impl_from_ISWbemLocator(ISWbemLocator *iface)
Definition: locator.c:2002
GLuint GLuint GLsizei count
Definition: gl.h:1545
#define TRACE(s)
Definition: solgame.cpp:4
#define S_OK
Definition: intsafe.h:59

◆ 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 }
HRESULT hr
Definition: shlfolder.c:183
REFIID riid
Definition: precomp.h:44
static struct locator * impl_from_ISWbemLocator(ISWbemLocator *iface)
Definition: locator.c:2002
ISWbemLocator ISWbemLocator_iface
Definition: locator.c:1997
static HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
Definition: locator.c:67
GLenum const GLfloat * params
Definition: glext.h:5645
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:78
GLbitfield flags
Definition: glext.h:7161
static ITypeInfo * typeinfo[last_tid]
Definition: apps.c:109
GLuint64EXT * result
Definition: glext.h:11304
#define SUCCEEDED(hr)
Definition: intsafe.h:57

◆ 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 }
#define E_NOINTERFACE
Definition: winerror.h:2364
REFIID riid
Definition: precomp.h:44
static struct locator * impl_from_ISWbemLocator(ISWbemLocator *iface)
Definition: locator.c:2002
#define FIXME(fmt,...)
Definition: debug.h:111
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
const GUID IID_IUnknown
const GUID IID_IDispatch
REFIID LPVOID * ppvObject
Definition: precomp.h:44
#define S_OK
Definition: intsafe.h:59
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
Definition: compobj.c:4112

◆ 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 }
static struct locator * impl_from_ISWbemLocator(ISWbemLocator *iface)
Definition: locator.c:2002
IWbemLocator * locator
Definition: locator.c:1999
long LONG
Definition: pedump.c:60
LONG refs
Definition: locator.c:1998
#define TRACE(s)
Definition: solgame.cpp:4
#define InterlockedDecrement
Definition: armddk.h:52
static BOOL heap_free(void *mem)
Definition: appwiz.h:75

◆ 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
#define InterlockedIncrement
Definition: armddk.h:53

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 struct object * impl_from_ISWbemObject(ISWbemObject *iface)
Definition: locator.c:521
IWbemClassObject * object
Definition: locator.c:514
static HRESULT SWbemPropertySet_create(IWbemClassObject *wbem_object, ISWbemPropertySet **obj)
Definition: locator.c:483
#define TRACE(s)
Definition: solgame.cpp:4

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
#define DISP_E_UNKNOWNNAME
Definition: winerror.h:2515
static struct object * impl_from_ISWbemObject(ISWbemObject *iface)
Definition: locator.c:521
HRESULT hr
Definition: shlfolder.c:183
REFIID riid
Definition: precomp.h:44
GLuint GLuint GLsizei count
Definition: gl.h:1545
GLuint GLuint * names
Definition: glext.h:11545
static HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
Definition: locator.c:67
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
static DISPID get_member_dispid(struct object *object, const WCHAR *name)
Definition: locator.c:679
#define E_INVALIDARG
Definition: ddrawi.h:101
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:78
static ITypeInfo * typeinfo[last_tid]
Definition: apps.c:109
#define S_OK
Definition: intsafe.h:59
unsigned int UINT
Definition: ndis.h:50
static HRESULT init_members(struct object *object)
Definition: locator.c:598
#define SUCCEEDED(hr)
Definition: intsafe.h:57

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
static struct object * impl_from_ISWbemObject(ISWbemObject *iface)
Definition: locator.c:521
#define FIXME(fmt,...)
Definition: debug.h:111
GLuint index
Definition: glext.h:6031
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
static struct object * impl_from_ISWbemObject(ISWbemObject *iface)
Definition: locator.c:521
GLuint GLuint GLsizei count
Definition: gl.h:1545
#define TRACE(s)
Definition: solgame.cpp:4
#define S_OK
Definition: intsafe.h:59

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 
764  if (member <= DISPID_BASE_METHOD)
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 )))
782  return DISP_E_MEMBERNOTFOUND;
783 
784  memset( params, 0, sizeof(*params) );
785  return IWbemClassObject_Get( object->object, name, 0, result, NULL, NULL );
786 }
static struct object * impl_from_ISWbemObject(ISWbemObject *iface)
Definition: locator.c:521
#define DISPATCH_PROPERTYGET
Definition: oleauto.h:1007
IWbemClassObject * object
Definition: locator.c:514
HRESULT hr
Definition: shlfolder.c:183
REFIID riid
Definition: precomp.h:44
#define DISP_E_MEMBERNOTFOUND
Definition: winerror.h:2512
OLECHAR * BSTR
Definition: compat.h:1943
#define DISPATCH_METHOD
Definition: oleauto.h:1006
static HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
Definition: locator.c:67
GLenum const GLfloat * params
Definition: glext.h:5645
ISWbemObject ISWbemObject_iface
Definition: locator.c:512
#define FIXME(fmt,...)
Definition: debug.h:111
smooth NULL
Definition: ftsmooth.c:416
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:78
GLbitfield flags
Definition: glext.h:7161
static ITypeInfo * typeinfo[last_tid]
Definition: apps.c:109
static BSTR get_member_name(struct object *object, DISPID dispid)
Definition: locator.c:735
#define E_NOTIMPL
Definition: ddrawi.h:99
#define DISPID_BASE_METHOD
Definition: locator.c:501
Definition: name.c:38
GLuint64EXT * result
Definition: glext.h:11304
#define memset(x, y, z)
Definition: compat.h:39
#define SUCCEEDED(hr)
Definition: intsafe.h:57
GLuint const GLchar * name
Definition: glext.h:6031

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
#define E_NOINTERFACE
Definition: winerror.h:2364
static struct object * impl_from_ISWbemObject(ISWbemObject *iface)
Definition: locator.c:521
REFIID riid
Definition: precomp.h:44
#define FIXME(fmt,...)
Definition: debug.h:111
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
const GUID IID_IUnknown
const GUID IID_IDispatch
REFIID LPVOID * ppvObject
Definition: precomp.h:44
#define S_OK
Definition: intsafe.h:59
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
Definition: compobj.c:4112

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
static struct object * impl_from_ISWbemObject(ISWbemObject *iface)
Definition: locator.c:521
IWbemClassObject * object
Definition: locator.c:514
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
long LONG
Definition: pedump.c:60
#define TRACE(s)
Definition: solgame.cpp:4
LONG refs
Definition: locator.c:513
#define InterlockedDecrement
Definition: armddk.h:52
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
Definition: oleaut.c:271
unsigned int UINT
Definition: ndis.h:50
struct member * members
Definition: locator.c:515
static BOOL heap_free(void *mem)
Definition: appwiz.h:75

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ objectset_AddRef()

static ULONG WINAPI objectset_AddRef ( ISWbemObjectSet *  iface)
static

Definition at line 1128 of file locator.c.

1130 {
1131  struct objectset *objectset = impl_from_ISWbemObjectSet( iface );
1132  return InterlockedIncrement( &objectset->refs );
1133 }
LONG refs
Definition: locator.c:1117
#define InterlockedIncrement
Definition: armddk.h:53
static struct objectset * impl_from_ISWbemObjectSet(ISWbemObjectSet *iface)
Definition: locator.c:1122

◆ objectset_get__NewEnum()

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

Definition at line 1248 of file locator.c.

1251 {
1252  struct objectset *objectset = impl_from_ISWbemObjectSet( iface );
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 }
HRESULT hr
Definition: shlfolder.c:183
IEnumWbemClassObject * objectenum
Definition: locator.c:1118
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:78
static HRESULT EnumVARIANT_create(IEnumWbemClassObject *, IEnumVARIANT **)
Definition: locator.c:1495
static struct objectset * impl_from_ISWbemObjectSet(ISWbemObjectSet *iface)
Definition: locator.c:1122
static void *static void *static LPDIRECTPLAY IUnknown * pUnk
Definition: dplayx.c:30

◆ objectset_get_Count()

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

Definition at line 1276 of file locator.c.

1279 {
1280  struct objectset *objectset = impl_from_ISWbemObjectSet( iface );
1281 
1282  TRACE( "%p, %p\n", objectset, iCount );
1283 
1284  *iCount = objectset->count;
1285  return S_OK;
1286 }
#define TRACE(s)
Definition: solgame.cpp:4
LONG count
Definition: locator.c:1119
#define S_OK
Definition: intsafe.h:59
static struct objectset * impl_from_ISWbemObjectSet(ISWbemObjectSet *iface)
Definition: locator.c:1122

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 {
1203  struct objectset *objectset = impl_from_ISWbemObjectSet( iface );
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 }
HRESULT hr
Definition: shlfolder.c:183
REFIID riid
Definition: precomp.h:44
GLuint GLuint GLsizei count
Definition: gl.h:1545
GLuint GLuint * names
Definition: glext.h:11545
static HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
Definition: locator.c:67
#define E_INVALIDARG
Definition: ddrawi.h:101
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:78
static ITypeInfo * typeinfo[last_tid]
Definition: apps.c:109
static struct objectset * impl_from_ISWbemObjectSet(ISWbemObjectSet *iface)
Definition: locator.c:1122
#define SUCCEEDED(hr)
Definition: intsafe.h:57

◆ 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 {
1189  struct objectset *objectset = impl_from_ISWbemObjectSet( iface );
1190  TRACE( "%p, %u, %u, %p\n", objectset, index, lcid, info );
1191 
1193 }
static HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
Definition: locator.c:67
GLuint index
Definition: glext.h:6031
#define TRACE(s)
Definition: solgame.cpp:4
static struct objectset * impl_from_ISWbemObjectSet(ISWbemObjectSet *iface)
Definition: locator.c:1122

◆ objectset_GetTypeInfoCount()

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

Definition at line 1173 of file locator.c.

1176 {
1177  struct objectset *objectset = impl_from_ISWbemObjectSet( iface );
1178  TRACE( "%p, %p\n", objectset, count );
1179  *count = 1;
1180  return S_OK;
1181 }
GLuint GLuint GLsizei count
Definition: gl.h:1545
#define TRACE(s)
Definition: solgame.cpp:4
#define S_OK
Definition: intsafe.h:59
static struct objectset * impl_from_ISWbemObjectSet(ISWbemObjectSet *iface)
Definition: locator.c:1122

◆ 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 {
1231  struct objectset *objectset = impl_from_ISWbemObjectSet( iface );
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 }
HRESULT hr
Definition: shlfolder.c:183
REFIID riid
Definition: precomp.h:44
ISWbemObjectSet ISWbemObjectSet_iface
Definition: locator.c:1116
static HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
Definition: locator.c:67
GLenum const GLfloat * params
Definition: glext.h:5645
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:78
GLbitfield flags
Definition: glext.h:7161
static ITypeInfo * typeinfo[last_tid]
Definition: apps.c:109
static struct objectset * impl_from_ISWbemObjectSet(ISWbemObjectSet *iface)
Definition: locator.c:1122
GLuint64EXT * result
Definition: glext.h:11304
#define SUCCEEDED(hr)
Definition: intsafe.h:57

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ objectset_ItemIndex()

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

Definition at line 1296 of file locator.c.

1300 {
1301  struct objectset *objectset = impl_from_ISWbemObjectSet( iface );
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
1329  hr = WBEM_E_NOT_FOUND;
1330  VariantClear( &var );
1331  }
1332 
1333  return hr;
1334 }
const char * var
Definition: shader.c:5666
HRESULT hr
Definition: shlfolder.c:183
GLuint GLuint GLsizei count
Definition: gl.h:1545
#define V_DISPATCH(A)
Definition: oleauto.h:239
long LONG
Definition: pedump.c:60
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:78
HRESULT WINAPI DECLSPEC_HOTPATCH VariantClear(VARIANTARG *pVarg)
Definition: variant.c:648
#define V_VT(A)
Definition: oleauto.h:211
static struct objectset * impl_from_ISWbemObjectSet(ISWbemObjectSet *iface)
Definition: locator.c:1122
#define SUCCEEDED(hr)
Definition: intsafe.h:57

◆ objectset_QueryInterface()

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

Definition at line 1149 of file locator.c.

1153 {
1154  struct objectset *objectset = impl_from_ISWbemObjectSet( iface );
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 }
#define E_NOINTERFACE
Definition: winerror.h:2364
REFIID riid
Definition: precomp.h:44
#define FIXME(fmt,...)
Definition: debug.h:111
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
const GUID IID_IUnknown
const GUID IID_IDispatch
REFIID LPVOID * ppvObject
Definition: precomp.h:44
#define S_OK
Definition: intsafe.h:59
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
Definition: compobj.c:4112
static struct objectset * impl_from_ISWbemObjectSet(ISWbemObjectSet *iface)
Definition: locator.c:1122

◆ objectset_Release()

static ULONG WINAPI objectset_Release ( ISWbemObjectSet *  iface)
static

Definition at line 1135 of file locator.c.

1137 {
1138  struct objectset *objectset = impl_from_ISWbemObjectSet( iface );
1140  if (!refs)
1141  {
1142  TRACE( "destroying %p\n", objectset );
1143  IEnumWbemClassObject_Release( objectset->objectenum );
1144  heap_free( objectset );
1145  }
1146  return refs;
1147 }
IEnumWbemClassObject * objectenum
Definition: locator.c:1118
long LONG
Definition: pedump.c:60
#define TRACE(s)
Definition: solgame.cpp:4
LONG refs
Definition: locator.c:1117
#define InterlockedDecrement
Definition: armddk.h:52
static struct objectset * impl_from_ISWbemObjectSet(ISWbemObjectSet *iface)
Definition: locator.c:1122
static BOOL heap_free(void *mem)
Definition: appwiz.h:75

◆ 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 );
118  return InterlockedIncrement( &property->refs );
119 }
static struct property * impl_from_ISWbemProperty(ISWbemProperty *iface)
Definition: locator.c:110
#define InterlockedIncrement
Definition: armddk.h:53
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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
IWbemClassObject * object
Definition: locator.c:106
static struct property * impl_from_ISWbemProperty(ISWbemProperty *iface)
Definition: locator.c:110
BSTR name
Definition: locator.c:107

◆ 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 }
HRESULT hr
Definition: shlfolder.c:183
REFIID riid
Definition: precomp.h:44
GLuint GLuint GLsizei count
Definition: gl.h:1545
GLuint GLuint * names
Definition: glext.h:11545
static HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
Definition: locator.c:67
#define E_INVALIDARG
Definition: ddrawi.h:101
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:78
static struct property * impl_from_ISWbemProperty(ISWbemProperty *iface)
Definition: locator.c:110
static ITypeInfo * typeinfo[last_tid]
Definition: apps.c:109
#define SUCCEEDED(hr)
Definition: intsafe.h:57

◆ 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 }
static HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
Definition: locator.c:67
GLuint index
Definition: glext.h:6031
#define TRACE(s)
Definition: solgame.cpp:4
static struct property * impl_from_ISWbemProperty(ISWbemProperty *iface)
Definition: locator.c:110

◆ 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 }
GLuint GLuint GLsizei count
Definition: gl.h:1545
#define TRACE(s)
Definition: solgame.cpp:4
static struct property * impl_from_ISWbemProperty(ISWbemProperty *iface)
Definition: locator.c:110
#define S_OK
Definition: intsafe.h:59

◆ 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 }
HRESULT hr
Definition: shlfolder.c:183
REFIID riid
Definition: precomp.h:44
static HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
Definition: locator.c:67
GLenum const GLfloat * params
Definition: glext.h:5645
ISWbemProperty ISWbemProperty_iface
Definition: locator.c:104
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:78
static struct property * impl_from_ISWbemProperty(ISWbemProperty *iface)
Definition: locator.c:110
GLbitfield flags
Definition: glext.h:7161
static ITypeInfo * typeinfo[last_tid]
Definition: apps.c:109
GLuint64EXT * result
Definition: glext.h:11304
#define SUCCEEDED(hr)
Definition: intsafe.h:57

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
#define E_NOINTERFACE
Definition: winerror.h:2364
REFIID riid
Definition: precomp.h:44
#define FIXME(fmt,...)
Definition: debug.h:111
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
const GUID IID_IUnknown
static struct property * impl_from_ISWbemProperty(ISWbemProperty *iface)
Definition: locator.c:110
const GUID IID_IDispatch
#define S_OK
Definition: intsafe.h:59
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
Definition: compobj.c:4112

◆ 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 );
130  heap_free( property );
131  }
132  return refs;
133 }
long LONG
Definition: pedump.c:60
#define TRACE(s)
Definition: solgame.cpp:4
IWbemClassObject * object
Definition: locator.c:106
static struct property * impl_from_ISWbemProperty(ISWbemProperty *iface)
Definition: locator.c:110
#define InterlockedDecrement
Definition: armddk.h:52
BSTR name
Definition: locator.c:107
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
Definition: oleaut.c:271
static BOOL heap_free(void *mem)
Definition: appwiz.h:75
LONG refs
Definition: locator.c:105

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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
#define InterlockedIncrement
Definition: armddk.h:53

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
HRESULT hr
Definition: shlfolder.c:183
GLuint GLuint GLsizei count
Definition: gl.h:1545
static struct propertyset * impl_from_ISWbemPropertySet(ISWbemPropertySet *iface)
Definition: locator.c:308
#define V_I4(A)
Definition: oleauto.h:247
smooth NULL
Definition: ftsmooth.c:416
GLuint GLfloat * val
Definition: glext.h:7180
#define TRACE(s)
Definition: solgame.cpp:4
__wchar_t WCHAR
Definition: xmlstorage.h:180
LONG HRESULT
Definition: typedefs.h:78
IWbemClassObject * object
Definition: locator.c:305
#define SUCCEEDED(hr)
Definition: intsafe.h:57

◆ 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 }
HRESULT hr
Definition: shlfolder.c:183
REFIID riid
Definition: precomp.h:44
GLuint GLuint GLsizei count
Definition: gl.h:1545
static struct propertyset * impl_from_ISWbemPropertySet(ISWbemPropertySet *iface)
Definition: locator.c:308
GLuint GLuint * names
Definition: glext.h:11545
static HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
Definition: locator.c:67
#define E_INVALIDARG
Definition: ddrawi.h:101
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:78
static ITypeInfo * typeinfo[last_tid]
Definition: apps.c:109
#define SUCCEEDED(hr)
Definition: intsafe.h:57

◆ 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 }
static struct propertyset * impl_from_ISWbemPropertySet(ISWbemPropertySet *iface)
Definition: locator.c:308
static HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
Definition: locator.c:67
GLuint index
Definition: glext.h:6031
#define TRACE(s)
Definition: solgame.cpp:4

◆ 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 }
GLuint GLuint GLsizei count
Definition: gl.h:1545
static struct propertyset * impl_from_ISWbemPropertySet(ISWbemPropertySet *iface)
Definition: locator.c:308
#define TRACE(s)
Definition: solgame.cpp:4
#define S_OK
Definition: intsafe.h:59

◆ 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  {
406  hr = ITypeInfo_Invoke( typeinfo, &propertyset->ISWbemPropertySet_iface, member, flags,
407  params, result, excep_info, arg_err );
408  ITypeInfo_Release( typeinfo );
409  }
410  return hr;
411 }
HRESULT hr
Definition: shlfolder.c:183
REFIID riid
Definition: precomp.h:44
static struct propertyset * impl_from_ISWbemPropertySet(ISWbemPropertySet *iface)
Definition: locator.c:308
static HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
Definition: locator.c:67
GLenum const GLfloat * params
Definition: glext.h:5645
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:78
GLbitfield flags
Definition: glext.h:7161
static ITypeInfo * typeinfo[last_tid]
Definition: apps.c:109
ISWbemPropertySet ISWbemPropertySet_iface
Definition: locator.c:303
GLuint64EXT * result
Definition: glext.h:11304
#define SUCCEEDED(hr)
Definition: intsafe.h:57

◆ 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 }
const char * var
Definition: shader.c:5666
HRESULT hr
Definition: shlfolder.c:183
static struct propertyset * impl_from_ISWbemPropertySet(ISWbemPropertySet *iface)
Definition: locator.c:308
#define debugstr_w
Definition: kernel32.h:32
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:78
GLbitfield flags
Definition: glext.h:7161
HRESULT WINAPI DECLSPEC_HOTPATCH VariantClear(VARIANTARG *pVarg)
Definition: variant.c:648
IWbemClassObject * object
Definition: locator.c:305
static HRESULT SWbemProperty_create(IWbemClassObject *wbem_object, BSTR name, ISWbemProperty **obj)
Definition: locator.c:284
Definition: name.c:38
#define SUCCEEDED(hr)
Definition: intsafe.h:57

◆ 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 }
#define E_NOINTERFACE
Definition: winerror.h:2364
REFIID riid
Definition: precomp.h:44
static struct propertyset * impl_from_ISWbemPropertySet(ISWbemPropertySet *iface)
Definition: locator.c:308
#define FIXME(fmt,...)
Definition: debug.h:111
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
const GUID IID_IUnknown
const GUID IID_IDispatch
#define S_OK
Definition: intsafe.h:59
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
Definition: compobj.c:4112

◆ 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 }
static struct propertyset * impl_from_ISWbemPropertySet(ISWbemPropertySet *iface)
Definition: locator.c:308
long LONG
Definition: pedump.c:60
LONG refs
Definition: locator.c:304
#define TRACE(s)
Definition: solgame.cpp:4
#define InterlockedDecrement
Definition: armddk.h:52
IWbemClassObject * object
Definition: locator.c:305
static BOOL heap_free(void *mem)
Definition: appwiz.h:75

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 );
2253  return InterlockedIncrement( &security->refs );
2254 }
LONG refs
Definition: locator.c:2239
#define InterlockedIncrement
Definition: armddk.h:53
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 }
WbemAuthenticationLevelEnum authlevel
Definition: locator.c:2241
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_INVALIDARG
Definition: ddrawi.h:101
#define S_OK
Definition: intsafe.h:59
static struct security * impl_from_ISWbemSecurity(ISWbemSecurity *iface)
Definition: locator.c:2244

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_INVALIDARG
Definition: ddrawi.h:101
WbemImpersonationLevelEnum implevel
Definition: locator.c:2240
#define S_OK
Definition: intsafe.h:59
static struct security * impl_from_ISWbemSecurity(ISWbemSecurity *iface)
Definition: locator.c:2244

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_INVALIDARG
Definition: ddrawi.h:101
#define E_NOTIMPL
Definition: ddrawi.h:99
static struct security * impl_from_ISWbemSecurity(ISWbemSecurity *iface)
Definition: locator.c:2244

◆ 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 }
HRESULT hr
Definition: shlfolder.c:183
REFIID riid
Definition: precomp.h:44
GLuint GLuint GLsizei count
Definition: gl.h:1545
GLuint GLuint * names
Definition: glext.h:11545
static HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
Definition: locator.c:67
#define E_INVALIDARG
Definition: ddrawi.h:101
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:78
static ITypeInfo * typeinfo[last_tid]
Definition: apps.c:109
static struct security * impl_from_ISWbemSecurity(ISWbemSecurity *iface)
Definition: locator.c:2244
#define SUCCEEDED(hr)
Definition: intsafe.h:57

◆ 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 }
static HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
Definition: locator.c:67
GLuint index
Definition: glext.h:6031
#define TRACE(s)
Definition: solgame.cpp:4
static struct security * impl_from_ISWbemSecurity(ISWbemSecurity *iface)
Definition: locator.c:2244

◆ 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 }
GLuint GLuint GLsizei count
Definition: gl.h:1545
#define TRACE(s)
Definition: solgame.cpp:4
#define S_OK
Definition: intsafe.h:59
static struct security * impl_from_ISWbemSecurity(ISWbemSecurity *iface)
Definition: locator.c:2244

◆ 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 }
HRESULT hr
Definition: shlfolder.c:183
REFIID riid
Definition: precomp.h:44
ISWbemSecurity ISWbemSecurity_iface
Definition: locator.c:2238
static HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
Definition: locator.c:67
GLenum const GLfloat * params
Definition: glext.h:5645
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:78
GLbitfield flags
Definition: glext.h:7161
static ITypeInfo * typeinfo[last_tid]
Definition: apps.c:109
static struct security * impl_from_ISWbemSecurity(ISWbemSecurity *iface)
Definition: locator.c:2244
GLuint64EXT * result
Definition: glext.h:11304
#define SUCCEEDED(hr)
Definition: intsafe.h:57

◆ 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 }
WbemAuthenticationLevelEnum authlevel
Definition: locator.c:2241
#define FIXME(fmt,...)
Definition: debug.h:111
#define S_OK
Definition: intsafe.h:59
static struct security * impl_from_ISWbemSecurity(ISWbemSecurity *iface)
Definition: locator.c:2244

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
WbemImpersonationLevelEnum implevel
Definition: locator.c:2240
#define S_OK
Definition: intsafe.h:59
static struct security * impl_from_ISWbemSecurity(ISWbemSecurity *iface)
Definition: locator.c:2244

◆ 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 }
#define E_NOINTERFACE
Definition: winerror.h:2364
REFIID riid
Definition: precomp.h:44
#define FIXME(fmt,...)
Definition: debug.h:111
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
const GUID IID_IUnknown
const GUID IID_IDispatch
REFIID LPVOID * ppvObject
Definition: precomp.h:44
#define S_OK
Definition: intsafe.h:59
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
Definition: compobj.c:4112
static struct security * impl_from_ISWbemSecurity(ISWbemSecurity *iface)
Definition: locator.c:2244

◆ 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 );
2264  heap_free( security );
2265  }
2266  return refs;
2267 }
LONG refs
Definition: locator.c:2239
long LONG
Definition: pedump.c:60
#define TRACE(s)
Definition: solgame.cpp:4
#define InterlockedDecrement
Definition: armddk.h:52
static struct security * impl_from_ISWbemSecurity(ISWbemSecurity *iface)
Definition: locator.c:2244
static BOOL heap_free(void *mem)
Definition: appwiz.h:75

◆ 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 );
1527  return InterlockedIncrement( &services->refs );
1528 }
static struct services * impl_from_ISWbemServices(ISWbemServices *iface)
Definition: locator.c:1517
LONG refs
Definition: locator.c:1513
#define InterlockedIncrement
Definition: armddk.h:53

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 );
1783  IEnumWbemClassObject *iter;
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 }
HRESULT hr
Definition: shlfolder.c:183
IWbemServices * services
Definition: locator.c:1514
static struct services * impl_from_ISWbemServices(ISWbemServices *iface)
Definition: locator.c:1517
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:111
smooth NULL
Definition: ftsmooth.c:416
static HRESULT SWbemObjectSet_create(IEnumWbemClassObject *wbem_objectenum, ISWbemObjectSet **obj)
Definition: locator.c:1360
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:78
#define S_OK
Definition: intsafe.h:59

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
HRESULT hr
Definition: shlfolder.c:183
IWbemServices * services
Definition: locator.c:1514
static struct services * impl_from_ISWbemServices(ISWbemServices *iface)
Definition: locator.c:1517
GLsizei GLsizei GLuint * obj
Definition: glext.h:6042
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:111
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:78
#define S_OK
Definition: intsafe.h:59
static HRESULT SWbemObject_create(IWbemClassObject *wbem_object, ISWbemObject **obj)
Definition: locator.c:1093

◆ services_get_Security_()

static