ReactOS  0.4.14-dev-337-gf981a68
locator.c File Reference
#include "config.h"
#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 "wine/unicode.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 502 of file locator.c.

◆ DISPID_BASE_METHOD

#define DISPID_BASE_METHOD   0x1000000

Definition at line 503 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 43 of file locator.c.

Function Documentation

◆ build_query_string()

static BSTR build_query_string ( const WCHAR class)
static

Definition at line 1704 of file locator.c.

1705 {
1706  static const WCHAR selectW[] = {'S','E','L','E','C','T',' ','*',' ','F','R','O','M',' ',0};
1707  UINT len = strlenW(class) + ARRAY_SIZE(selectW);
1708  BSTR ret;
1709 
1710  if (!(ret = SysAllocStringLen( NULL, len ))) return NULL;
1711  strcpyW( ret, selectW );
1712  strcatW( ret, class );
1713  return ret;
1714 }
WINE_UNICODE_INLINE unsigned int strlenW(const WCHAR *str)
Definition: unicode.h:212
BSTR WINAPI SysAllocStringLen(const OLECHAR *str, unsigned int len)
Definition: oleaut.c:342
OLECHAR * BSTR
Definition: compat.h:1942
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
WINE_UNICODE_INLINE WCHAR * strcpyW(WCHAR *dst, const WCHAR *src)
Definition: unicode.h:219
#define ARRAY_SIZE(a)
Definition: main.h:24
WINE_UNICODE_INLINE WCHAR * strcatW(WCHAR *dst, const WCHAR *src)
Definition: unicode.h:242
unsigned int UINT
Definition: ndis.h:50

Referenced by services_InstancesOf().

◆ build_resource_string()

static BSTR build_resource_string ( BSTR  server,
BSTR  namespace 
)
static

Definition at line 2131 of file locator.c.

2132 {
2133  static const WCHAR defaultW[] = {'r','o','o','t','\\','d','e','f','a','u','l','t',0};
2134  ULONG len, len_server = 0, len_namespace = 0;
2135  BSTR ret;
2136 
2137  if (server && *server) len_server = strlenW( server );
2138  else len_server = 1;
2139  if (namespace && *namespace) len_namespace = strlenW( namespace );
2140  else len_namespace = ARRAY_SIZE(defaultW) - 1;
2141 
2142  if (!(ret = SysAllocStringLen( NULL, 2 + len_server + 1 + len_namespace ))) return NULL;
2143 
2144  ret[0] = ret[1] = '\\';
2145  if (server && *server) strcpyW( ret + 2, server );
2146  else ret[2] = '.';
2147 
2148  len = len_server + 2;
2149  ret[len++] = '\\';
2150 
2151  if (namespace && *namespace) strcpyW( ret + len, namespace );
2152  else strcpyW( ret + len, defaultW );
2153  return ret;
2154 }
static rfbScreenInfoPtr server
Definition: vnc.c:74
WINE_UNICODE_INLINE unsigned int strlenW(const WCHAR *str)
Definition: unicode.h:212
BSTR WINAPI SysAllocStringLen(const OLECHAR *str, unsigned int len)
Definition: oleaut.c:342
static const WCHAR defaultW[]
Definition: lex.c:40
OLECHAR * BSTR
Definition: compat.h:1942
smooth NULL
Definition: ftsmooth.c:416
__wchar_t WCHAR
Definition: xmlstorage.h:180
int ret
GLenum GLsizei len
Definition: glext.h:6722
WINE_UNICODE_INLINE WCHAR * strcpyW(WCHAR *dst, const WCHAR *src)
Definition: unicode.h:219
#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 1393 of file locator.c.

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

◆ enumvar_Clone()

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

Definition at line 1480 of file locator.c.

1481 {
1482  FIXME( "%p, %p\n", iface, penum );
1483  return E_NOTIMPL;
1484 }
#define FIXME(fmt,...)
Definition: debug.h:110
#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 1437 of file locator.c.

1438 {
1439  struct enumvar *enumvar = impl_from_IEnumVARIANT( iface );
1441  ULONG count = 0;
1442 
1443  TRACE( "%p, %u, %p, %p\n", iface, celt, var, fetched );
1444 
1445  if (celt) IEnumWbemClassObject_Next( enumvar->objectenum, WBEM_INFINITE, 1, &obj, &count );
1446  if (count)
1447  {
1448  ISWbemObject *sobj;
1449  HRESULT hr;
1450 
1451  hr = SWbemObject_create( obj, &sobj );
1452  IWbemClassObject_Release( obj );
1453  if (FAILED( hr )) return hr;
1454 
1455  V_VT( var ) = VT_DISPATCH;
1456  V_DISPATCH( var ) = (IDispatch *)sobj;
1457  }
1458  if (fetched) *fetched = count;
1459  return (count < celt) ? S_FALSE : S_OK;
1460 }
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:77
static struct enumvar * impl_from_IEnumVARIANT(IEnumVARIANT *iface)
Definition: locator.c:1387
#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:1384
static HRESULT SWbemObject_create(IWbemClassObject *wbem_object, ISWbemObject **obj)
Definition: locator.c:1095

◆ enumvar_QueryInterface()

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

Definition at line 1414 of file locator.c.

1418 {
1419  struct enumvar *enumvar = impl_from_IEnumVARIANT( iface );
1420 
1421  TRACE( "%p %s %p\n", enumvar, debugstr_guid(riid), ppvObject );
1422 
1423  if (IsEqualGUID( riid, &IID_IEnumVARIANT ) ||
1425  {
1426  *ppvObject = iface;
1427  }
1428  else
1429  {
1430  FIXME( "interface %s not implemented\n", debugstr_guid(riid) );
1431  return E_NOINTERFACE;
1432  }
1433  IEnumVARIANT_AddRef( iface );
1434  return S_OK;
1435 }
#define E_NOINTERFACE
Definition: winerror.h:2364
REFIID riid
Definition: precomp.h:44
#define FIXME(fmt,...)
Definition: debug.h:110
#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:1387
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 1400 of file locator.c.

1402 {
1403  struct enumvar *enumvar = impl_from_IEnumVARIANT( iface );
1405  if (!refs)
1406  {
1407  TRACE( "destroying %p\n", enumvar );
1408  IEnumWbemClassObject_Release( enumvar->objectenum );
1409  heap_free( enumvar );
1410  }
1411  return refs;
1412 }
long LONG
Definition: pedump.c:60
#define TRACE(s)
Definition: solgame.cpp:4
static struct enumvar * impl_from_IEnumVARIANT(IEnumVARIANT *iface)
Definition: locator.c:1387
#define InterlockedDecrement
Definition: armddk.h:52
IEnumWbemClassObject * objectenum
Definition: locator.c:1384
LONG refs
Definition: locator.c:1383
static BOOL heap_free(void *mem)
Definition: appwiz.h:75

◆ enumvar_Reset()

static HRESULT WINAPI enumvar_Reset ( IEnumVARIANT iface)
static

Definition at line 1471 of file locator.c.

1472 {
1473  struct enumvar *enumvar = impl_from_IEnumVARIANT( iface );
1474 
1475  TRACE( "%p\n", iface );
1476 
1477  return IEnumWbemClassObject_Reset( enumvar->objectenum );
1478 }
#define TRACE(s)
Definition: solgame.cpp:4
static struct enumvar * impl_from_IEnumVARIANT(IEnumVARIANT *iface)
Definition: locator.c:1387
IEnumWbemClassObject * objectenum
Definition: locator.c:1384

◆ enumvar_Skip()

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

Definition at line 1462 of file locator.c.

1463 {
1464  struct enumvar *enumvar = impl_from_IEnumVARIANT( iface );
1465 
1466  TRACE( "%p, %u\n", iface, celt );
1467 
1468  return IEnumWbemClassObject_Skip( enumvar->objectenum, WBEM_INFINITE, celt );
1469 }
#define TRACE(s)
Definition: solgame.cpp:4
static struct enumvar * impl_from_IEnumVARIANT(IEnumVARIANT *iface)
Definition: locator.c:1387
IEnumWbemClassObject * objectenum
Definition: locator.c:1384

◆ EnumVARIANT_create()

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

Definition at line 1497 of file locator.c.

1498 {
1499  struct enumvar *enumvar;
1500 
1501  if (!(enumvar = heap_alloc( sizeof(*enumvar) ))) return E_OUTOFMEMORY;
1503  enumvar->refs = 1;
1505  IEnumWbemClassObject_AddRef( enumvar->objectenum );
1506 
1508  TRACE( "returning iface %p\n", *obj );
1509  return S_OK;
1510 }
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:1486
#define S_OK
Definition: intsafe.h:59
IEnumWbemClassObject * objectenum
Definition: locator.c:1384
IEnumVARIANT IEnumVARIANT_iface
Definition: locator.c:1382
LONG refs
Definition: locator.c:1383

Referenced by objectset_get__NewEnum().

◆ get_member_dispid()

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

Definition at line 681 of file locator.c.

682 {
683  UINT i;
684  for (i = 0; i < object->nb_members; i++)
685  {
686  if (!strcmpiW( object->members[i].name, name ))
687  {
688  if (!object->members[i].dispid)
689  {
690  if (object->members[i].is_method)
691  object->members[i].dispid = ++object->last_dispid_method;
692  else
693  object->members[i].dispid = ++object->last_dispid;
694  }
695  return object->members[i].dispid;
696  }
697  }
698  return DISPID_UNKNOWN;
699 }
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 strcmpiW(s1, s2)
Definition: unicode.h:39
unsigned int UINT
Definition: ndis.h:50
Definition: name.c:36
struct member * members
Definition: locator.c:517

Referenced by object_GetIDsOfNames().

◆ get_member_name()

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

Definition at line 737 of file locator.c.

738 {
739  UINT i;
740  for (i = 0; i < object->nb_members; i++)
741  {
742  if (object->members[i].dispid == dispid) return object->members[i].name;
743  }
744  return NULL;
745 }
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:517

Referenced by object_Invoke().

◆ get_object_count()

static LONG get_object_count ( IEnumWbemClassObject iter)
static

Definition at line 1354 of file locator.c.

1355 {
1356  LONG count = 0;
1357  while (IEnumWbemClassObject_Skip( iter, WBEM_INFINITE, 1 ) == S_OK) count++;
1358  IEnumWbemClassObject_Reset( iter );
1359  return count;
1360 }
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 69 of file locator.c.

70 {
71  HRESULT hr;
72 
73  if (!wbemdisp_typelib)
74  {
76 
77  hr = LoadRegTypeLib( &LIBID_WbemScripting, 1, 2, LOCALE_SYSTEM_DEFAULT, &typelib );
78  if (FAILED( hr ))
79  {
80  ERR( "LoadRegTypeLib failed: %08x\n", hr );
81  return hr;
82  }
84  ITypeLib_Release( typelib );
85  }
86  if (!wbemdisp_typeinfo[tid])
87  {
89 
90  hr = ITypeLib_GetTypeInfoOfGuid( wbemdisp_typelib, wbemdisp_tid_id[tid], &typeinfo );
91  if (FAILED( hr ))
92  {
93  ERR( "GetTypeInfoOfGuid(%s) failed: %08x\n", debugstr_guid(wbemdisp_tid_id[tid]), hr );
94  return hr;
95  }
97  ITypeInfo_Release( typeinfo );
98  }
100  ITypeInfo_AddRef( *ret );
101  return S_OK;
102 }
static ITypeInfo * wbemdisp_typeinfo[last_tid]
Definition: locator.c:56
HRESULT hr
Definition: shlfolder.c:183
static REFIID wbemdisp_tid_id[]
Definition: locator.c:58
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:77
#define LOCALE_SYSTEM_DEFAULT
int ret
static ITypeInfo * typeinfo[last_tid]
Definition: apps.c:109
#define ERR(fmt,...)
Definition: debug.h:109
#define S_OK
Definition: intsafe.h:59
HRESULT WINAPI LoadRegTypeLib(REFGUID rguid, WORD wVerMajor, WORD wVerMinor, LCID lcid, ITypeLib **ppTLib)
Definition: typelib.c:534
static ITypeLib * wbemdisp_typelib
Definition: locator.c:55
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 1387 of file locator.c.

1389 {
1390  return CONTAINING_RECORD( iface, struct enumvar, IEnumVARIANT_iface );
1391 }
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:1382

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 2004 of file locator.c.

2005 {
2006  return CONTAINING_RECORD( iface, struct locator, ISWbemLocator_iface );
2007 }
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 523 of file locator.c.

525 {
526  return CONTAINING_RECORD( iface, struct object, ISWbemObject_iface );
527 }
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 1124 of file locator.c.

1126 {
1127  return CONTAINING_RECORD( iface, struct objectset, ISWbemObjectSet_iface );
1128 }
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 112 of file locator.c.

113 {
114  return CONTAINING_RECORD( iface, struct property, ISWbemProperty_iface );
115 }
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 310 of file locator.c.

312 {
313  return CONTAINING_RECORD( iface, struct propertyset, ISWbemPropertySet_iface );
314 }
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 2246 of file locator.c.

2247 {
2248  return CONTAINING_RECORD( iface, struct security, ISWbemSecurity_iface );
2249 }
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 1519 of file locator.c.

1521 {
1522  return CONTAINING_RECORD( iface, struct services, ISWbemServices_iface );
1523 }
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 600 of file locator.c.

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

2450 {
2451  struct security *security;
2452 
2453  TRACE( "%p\n", obj );
2454 
2455  if (!(security = heap_alloc( sizeof(*security) ))) return E_OUTOFMEMORY;
2457  security->refs = 1;
2460 
2462  TRACE( "returning iface %p\n", *obj );
2463  return S_OK;
2464 }
LONG refs
Definition: locator.c:2241
WbemAuthenticationLevelEnum authlevel
Definition: locator.c:2243
static const ISWbemSecurityVtbl security_vtbl
Definition: locator.c:2433
ISWbemSecurity ISWbemSecurity_iface
Definition: locator.c:2240
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:2242
#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 2009 of file locator.c.

2011 {
2012  struct locator *locator = impl_from_ISWbemLocator( iface );
2013  return InterlockedIncrement( &locator->refs );
2014 }
static struct locator * impl_from_ISWbemLocator(ISWbemLocator *iface)
Definition: locator.c:2004
LONG refs
Definition: locator.c:2000
#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 2156 of file locator.c.

2167 {
2168  struct locator *locator = impl_from_ISWbemLocator( iface );
2170  BSTR resource;
2171  HRESULT hr;
2172 
2173  TRACE( "%p, %s, %s, %s, %p, %s, %s, 0x%08x, %p, %p\n", iface, debugstr_w(strServer),
2174  debugstr_w(strNamespace), debugstr_w(strUser), strPassword, debugstr_w(strLocale),
2175  debugstr_w(strAuthority), iSecurityFlags, objWbemNamedValueSet, objWbemServices );
2176 
2177  if (objWbemNamedValueSet) FIXME( "context not supported\n" );
2178 
2179  if (!locator->locator)
2180  {
2181  hr = CoCreateInstance( &CLSID_WbemLocator, NULL, CLSCTX_INPROC_SERVER, &IID_IWbemLocator,
2182  (void **)&locator->locator );
2183  if (hr != S_OK) return hr;
2184  }
2185 
2186  if (!(resource = build_resource_string( strServer, strNamespace ))) return E_OUTOFMEMORY;
2187  hr = IWbemLocator_ConnectServer( locator->locator, resource, strUser, strPassword, strLocale,
2188  iSecurityFlags, strAuthority, NULL, &services );
2190  if (hr != S_OK) return hr;
2191 
2192  hr = SWbemServices_create( services, objWbemServices );
2193  IWbemServices_Release( services );
2194  return hr;
2195 }
HRESULT hr
Definition: shlfolder.c:183
static BSTR build_resource_string(BSTR server, BSTR namespace)
Definition: locator.c:2131
static struct locator * impl_from_ISWbemLocator(ISWbemLocator *iface)
Definition: locator.c:2004
OLECHAR * BSTR
Definition: compat.h:1942
IWbemLocator * locator
Definition: locator.c:2001
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:110
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:77
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:274
static HRESULT SWbemServices_create(IWbemServices *wbem_services, ISWbemServices **obj)
Definition: locator.c:1980

◆ locator_get_Security_()

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

Definition at line 2197 of file locator.c.

2200 {
2201  TRACE( "%p, %p\n", iface, objWbemSecurity );
2202 
2203  if (!objWbemSecurity)
2204  return E_INVALIDARG;
2205 
2206  return ISWbemSecurity_create( objWbemSecurity );
2207 }
static HRESULT ISWbemSecurity_create(ISWbemSecurity **)
Definition: locator.c:2449
#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 2078 of file locator.c.

2085 {
2086  struct locator *locator = impl_from_ISWbemLocator( iface );
2088  HRESULT hr;
2089 
2090  TRACE( "%p, %s, %p, %u, %u, %p\n", locator, debugstr_guid(riid), names, count, lcid, dispid );
2091 
2092  if (!names || !count || !dispid) return E_INVALIDARG;
2093 
2095  if (SUCCEEDED(hr))
2096  {
2097  hr = ITypeInfo_GetIDsOfNames( typeinfo, names, count, dispid );
2098  ITypeInfo_Release( typeinfo );
2099  }
2100  return hr;
2101 }
HRESULT hr
Definition: shlfolder.c:183
REFIID riid
Definition: precomp.h:44
static struct locator * impl_from_ISWbemLocator(ISWbemLocator *iface)
Definition: locator.c:2004
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:69
#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:77
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 2066 of file locator.c.

2071 {
2072  struct locator *locator = impl_from_ISWbemLocator( iface );
2073  TRACE( "%p, %u, %u, %p\n", locator, index, lcid, info );
2074 
2075  return get_typeinfo( ISWbemLocator_tid, info );
2076 }
static struct locator * impl_from_ISWbemLocator(ISWbemLocator *iface)
Definition: locator.c:2004
static HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
Definition: locator.c:69
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 2055 of file locator.c.

2058 {
2059  struct locator *locator = impl_from_ISWbemLocator( iface );
2060 
2061  TRACE( "%p, %p\n", locator, count );
2062  *count = 1;
2063  return S_OK;
2064 }
static struct locator * impl_from_ISWbemLocator(ISWbemLocator *iface)
Definition: locator.c:2004
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 2103 of file locator.c.

2113 {
2114  struct locator *locator = impl_from_ISWbemLocator( iface );
2116  HRESULT hr;
2117 
2118  TRACE( "%p, %d, %s, %d, %d, %p, %p, %p, %p\n", locator, member, debugstr_guid(riid),
2119  lcid, flags, params, result, excep_info, arg_err );
2120 
2122  if (SUCCEEDED(hr))
2123  {
2124  hr = ITypeInfo_Invoke( typeinfo, &locator->ISWbemLocator_iface, member, flags,
2125  params, result, excep_info, arg_err );
2126  ITypeInfo_Release( typeinfo );
2127  }
2128  return hr;
2129 }
HRESULT hr
Definition: shlfolder.c:183
REFIID riid
Definition: precomp.h:44
static struct locator * impl_from_ISWbemLocator(ISWbemLocator *iface)
Definition: locator.c:2004
ISWbemLocator ISWbemLocator_iface
Definition: locator.c:1999
static HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
Definition: locator.c:69
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:77
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 2031 of file locator.c.

2035 {
2036  struct locator *locator = impl_from_ISWbemLocator( iface );
2037 
2038  TRACE( "%p, %s, %p\n", locator, debugstr_guid( riid ), ppvObject );
2039 
2040  if (IsEqualGUID( riid, &IID_ISWbemLocator ) ||
2043  {
2044  *ppvObject = iface;
2045  }
2046  else
2047  {
2048  FIXME( "interface %s not implemented\n", debugstr_guid(riid) );
2049  return E_NOINTERFACE;
2050  }
2051  ISWbemLocator_AddRef( iface );
2052  return S_OK;
2053 }
#define E_NOINTERFACE
Definition: winerror.h:2364
REFIID riid
Definition: precomp.h:44
static struct locator * impl_from_ISWbemLocator(ISWbemLocator *iface)
Definition: locator.c:2004
#define FIXME(fmt,...)
Definition: debug.h:110
#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 2016 of file locator.c.

2018 {
2019  struct locator *locator = impl_from_ISWbemLocator( iface );
2021  if (!refs)
2022  {
2023  TRACE( "destroying %p\n", locator );
2024  if (locator->locator)
2025  IWbemLocator_Release( locator->locator );
2026  heap_free( locator );
2027  }
2028  return refs;
2029 }
static struct locator * impl_from_ISWbemLocator(ISWbemLocator *iface)
Definition: locator.c:2004
IWbemLocator * locator
Definition: locator.c:2001
long LONG
Definition: pedump.c:60
LONG refs
Definition: locator.c:2000
#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 529 of file locator.c.

531 {
532  struct object *object = impl_from_ISWbemObject( iface );
533  return InterlockedIncrement( &object->refs );
534 }
static struct object * impl_from_ISWbemObject(ISWbemObject *iface)
Definition: locator.c:523
LONG refs
Definition: locator.c:515
#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 873 of file locator.c.

886 {
887  FIXME( "\n" );
888  return E_NOTIMPL;
889 }
#define FIXME(fmt,...)
Definition: debug.h:110
#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 891 of file locator.c.

905 {
906  FIXME( "\n" );
907  return E_NOTIMPL;
908 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ object_Clone_()

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

Definition at line 966 of file locator.c.

969 {
970  FIXME( "\n" );
971  return E_NOTIMPL;
972 }
#define FIXME(fmt,...)
Definition: debug.h:110
#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 1001 of file locator.c.

1006 {
1007  FIXME( "\n" );
1008  return E_NOTIMPL;
1009 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ object_Delete_()

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

Definition at line 811 of file locator.c.

815 {
816  FIXME( "\n" );
817  return E_NOTIMPL;
818 }
#define FIXME(fmt,...)
Definition: debug.h:110
#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 820 of file locator.c.

826 {
827  FIXME( "\n" );
828  return E_NOTIMPL;
829 }
#define FIXME(fmt,...)
Definition: debug.h:110
#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 941 of file locator.c.

948 {
949  FIXME( "\n" );
950  return E_NOTIMPL;
951 }
#define FIXME(fmt,...)
Definition: debug.h:110
#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 953 of file locator.c.

961 {
962  FIXME( "\n" );
963  return E_NOTIMPL;
964 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ object_get_Derivation_()

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

Definition at line 1035 of file locator.c.

1038 {
1039  FIXME( "\n" );
1040  return E_NOTIMPL;
1041 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ object_get_Methods_()

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

Definition at line 1027 of file locator.c.

1030 {
1031  FIXME( "\n" );
1032  return E_NOTIMPL;
1033 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ object_get_Path_()

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

Definition at line 1043 of file locator.c.

1046 {
1047  FIXME( "\n" );
1048  return E_NOTIMPL;
1049 }
#define FIXME(fmt,...)
Definition: debug.h:110
#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 1019 of file locator.c.

1020 {
1021  struct object *object = impl_from_ISWbemObject( iface );
1022 
1023  TRACE( "%p, %p\n", object, prop_set );
1024  return SWbemPropertySet_create( object->object, prop_set );
1025 }
static struct object * impl_from_ISWbemObject(ISWbemObject *iface)
Definition: locator.c:523
IWbemClassObject * object
Definition: locator.c:516
static HRESULT SWbemPropertySet_create(IWbemClassObject *wbem_object, ISWbemPropertySet **obj)
Definition: locator.c:485
#define TRACE(s)
Definition: solgame.cpp:4

◆ object_get_Qualifiers_()

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

Definition at line 1011 of file locator.c.

1014 {
1015  FIXME( "\n" );
1016  return E_NOTIMPL;
1017 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ object_get_Security_()

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

Definition at line 1051 of file locator.c.

1054 {
1055  FIXME( "\n" );
1056  return E_NOTIMPL;
1057 }
#define FIXME(fmt,...)
Definition: debug.h:110
#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 701 of file locator.c.

708 {
709  struct object *object = impl_from_ISWbemObject( iface );
710  HRESULT hr;
711  UINT i;
713 
714  TRACE( "%p, %s, %p, %u, %u, %p\n", object, debugstr_guid(riid), names, count, lcid, dispid );
715 
716  if (!names || !count || !dispid) return E_INVALIDARG;
717 
718  hr = init_members( object );
719  if (FAILED( hr )) return hr;
720 
722  if (SUCCEEDED(hr))
723  {
724  hr = ITypeInfo_GetIDsOfNames( typeinfo, names, count, dispid );
725  ITypeInfo_Release( typeinfo );
726  }
727  if (SUCCEEDED(hr)) return hr;
728 
729  for (i = 0; i < count; i++)
730  {
731  if ((dispid[i] = get_member_dispid( object, names[i] )) == DISPID_UNKNOWN) break;
732  }
733  if (i != count) return DISP_E_UNKNOWNNAME;
734  return S_OK;
735 }
#define DISP_E_UNKNOWNNAME
Definition: winerror.h:2515
static struct object * impl_from_ISWbemObject(ISWbemObject *iface)
Definition: locator.c:523
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:69
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:681
#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:77
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:600
#define SUCCEEDED(hr)
Definition: intsafe.h:57

◆ object_GetObjectText_()

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

Definition at line 974 of file locator.c.

978 {
979  FIXME( "\n" );
980  return E_NOTIMPL;
981 }
#define FIXME(fmt,...)
Definition: debug.h:110
#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 589 of file locator.c.

594 {
595  struct object *object = impl_from_ISWbemObject( iface );
596  FIXME( "%p, %u, %u, %p\n", object, index, lcid, info );
597  return E_NOTIMPL;
598 }
static struct object * impl_from_ISWbemObject(ISWbemObject *iface)
Definition: locator.c:523
#define FIXME(fmt,...)
Definition: debug.h:110
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 578 of file locator.c.

581 {
582  struct object *object = impl_from_ISWbemObject( iface );
583 
584  TRACE( "%p, %p\n", object, count );
585  *count = 1;
586  return S_OK;
587 }
static struct object * impl_from_ISWbemObject(ISWbemObject *iface)
Definition: locator.c:523
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 831 of file locator.c.

836 {
837  FIXME( "\n" );
838  return E_NOTIMPL;
839 }
#define FIXME(fmt,...)
Definition: debug.h:110
#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 841 of file locator.c.

847 {
848  FIXME( "\n" );
849  return E_NOTIMPL;
850 }
#define FIXME(fmt,...)
Definition: debug.h:110
#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 747 of file locator.c.

757 {
758  struct object *object = impl_from_ISWbemObject( iface );
759  BSTR name;
761  HRESULT hr;
762 
763  TRACE( "%p, %x, %s, %u, %x, %p, %p, %p, %p\n", object, member, debugstr_guid(riid),
764  lcid, flags, params, result, excep_info, arg_err );
765 
766  if (member <= DISPID_BASE_METHOD)
767  {
769  if (SUCCEEDED(hr))
770  {
771  hr = ITypeInfo_Invoke( typeinfo, &object->ISWbemObject_iface, member, flags,
772  params, result, excep_info, arg_err );
773  ITypeInfo_Release( typeinfo );
774  }
775  return hr;
776  }
777 
779  {
780  FIXME( "flags %x not supported\n", flags );
781  return E_NOTIMPL;
782  }
783  if (!(name = get_member_name( object, member )))
784  return DISP_E_MEMBERNOTFOUND;
785 
786  memset( params, 0, sizeof(*params) );
787  return IWbemClassObject_Get( object->object, name, 0, result, NULL, NULL );
788 }
static struct object * impl_from_ISWbemObject(ISWbemObject *iface)
Definition: locator.c:523
#define DISPATCH_PROPERTYGET
Definition: oleauto.h:1007
IWbemClassObject * object
Definition: locator.c:516
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:1942
#define DISPATCH_METHOD
Definition: oleauto.h:1006
static HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
Definition: locator.c:69
GLenum const GLfloat * params
Definition: glext.h:5645
ISWbemObject ISWbemObject_iface
Definition: locator.c:514
#define FIXME(fmt,...)
Definition: debug.h:110
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:77
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:737
#define E_NOTIMPL
Definition: ddrawi.h:99
#define DISPID_BASE_METHOD
Definition: locator.c:503
Definition: name.c:36
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 790 of file locator.c.

795 {
796  FIXME( "\n" );
797  return E_NOTIMPL;
798 }
#define FIXME(fmt,...)
Definition: debug.h:110
#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 800 of file locator.c.

806 {
807  FIXME( "\n" );
808  return E_NOTIMPL;
809 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ object_QueryInterface()

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

Definition at line 554 of file locator.c.

558 {
559  struct object *object = impl_from_ISWbemObject( iface );
560 
561  TRACE( "%p %s %p\n", object, debugstr_guid(riid), ppvObject );
562 
563  if (IsEqualGUID( riid, &IID_ISWbemObject ) ||
566  {
567  *ppvObject = iface;
568  }
569  else
570  {
571  FIXME( "interface %s not implemented\n", debugstr_guid(riid) );
572  return E_NOINTERFACE;
573  }
574  ISWbemObject_AddRef( iface );
575  return S_OK;
576 }
#define E_NOINTERFACE
Definition: winerror.h:2364
static struct object * impl_from_ISWbemObject(ISWbemObject *iface)
Definition: locator.c:523
REFIID riid
Definition: precomp.h:44
#define FIXME(fmt,...)
Definition: debug.h:110
#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 910 of file locator.c.

920 {
921  FIXME( "\n" );
922  return E_NOTIMPL;
923 }
#define FIXME(fmt,...)
Definition: debug.h:110
#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 925 of file locator.c.

936 {
937  FIXME( "\n" );
938  return E_NOTIMPL;
939 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ object_Release()

static ULONG WINAPI object_Release ( ISWbemObject *  iface)
static

Definition at line 536 of file locator.c.

538 {
539  struct object *object = impl_from_ISWbemObject( iface );
541  if (!refs)
542  {
543  UINT i;
544 
545  TRACE( "destroying %p\n", object );
546  IWbemClassObject_Release( object->object );
547  for (i = 0; i < object->nb_members; i++) SysFreeString( object->members[i].name );
549  heap_free( object );
550  }
551  return refs;
552 }
static struct object * impl_from_ISWbemObject(ISWbemObject *iface)
Definition: locator.c:523
IWbemClassObject * object
Definition: locator.c:516
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:515
#define InterlockedDecrement
Definition: armddk.h:52
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
Definition: oleaut.c:274
unsigned int UINT
Definition: ndis.h:50
struct member * members
Definition: locator.c:517
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 983 of file locator.c.

987 {
988  FIXME( "\n" );
989  return E_NOTIMPL;
990 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ object_SpawnInstance_()

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

Definition at line 992 of file locator.c.

996 {
997  FIXME( "\n" );
998  return E_NOTIMPL;
999 }
#define FIXME(fmt,...)
Definition: debug.h:110
#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 852 of file locator.c.

857 {
858  FIXME( "\n" );
859  return E_NOTIMPL;
860 }
#define FIXME(fmt,...)
Definition: debug.h:110
#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 862 of file locator.c.

868 {
869  FIXME( "\n" );
870  return E_NOTIMPL;
871 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ objectset_AddRef()

static ULONG WINAPI objectset_AddRef ( ISWbemObjectSet *  iface)
static

Definition at line 1130 of file locator.c.

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

◆ objectset_get__NewEnum()

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

Definition at line 1250 of file locator.c.

1253 {
1254  struct objectset *objectset = impl_from_ISWbemObjectSet( iface );
1256  HRESULT hr;
1257 
1258  TRACE( "%p, %p\n", objectset, pUnk );
1259 
1260  hr = IEnumWbemClassObject_Clone( objectset->objectenum, &objectenum );
1261  if (FAILED( hr )) return hr;
1262 
1264  IEnumWbemClassObject_Release( objectenum );
1265  return hr;
1266 }
HRESULT hr
Definition: shlfolder.c:183
IEnumWbemClassObject * objectenum
Definition: locator.c:1120
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:77
static HRESULT EnumVARIANT_create(IEnumWbemClassObject *, IEnumVARIANT **)
Definition: locator.c:1497
static struct objectset * impl_from_ISWbemObjectSet(ISWbemObjectSet *iface)
Definition: locator.c:1124
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 1278 of file locator.c.

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

◆ objectset_get_Security_()

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

Definition at line 1290 of file locator.c.

1293 {
1294  FIXME( "\n" );
1295  return E_NOTIMPL;
1296 }
#define FIXME(fmt,...)
Definition: debug.h:110
#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 1197 of file locator.c.

1204 {
1205  struct objectset *objectset = impl_from_ISWbemObjectSet( iface );
1207  HRESULT hr;
1208 
1209  TRACE( "%p, %s, %p, %u, %u, %p\n", objectset, debugstr_guid(riid), names, count, lcid, dispid );
1210 
1211  if (!names || !count || !dispid) return E_INVALIDARG;
1212 
1214  if (SUCCEEDED(hr))
1215  {
1216  hr = ITypeInfo_GetIDsOfNames( typeinfo, names, count, dispid );
1217  ITypeInfo_Release( typeinfo );
1218  }
1219  return hr;
1220 }
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:69
#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:77
static ITypeInfo * typeinfo[last_tid]
Definition: apps.c:109
static struct objectset * impl_from_ISWbemObjectSet(ISWbemObjectSet *iface)
Definition: locator.c:1124
#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 1185 of file locator.c.

1190 {
1191  struct objectset *objectset = impl_from_ISWbemObjectSet( iface );
1192  TRACE( "%p, %u, %u, %p\n", objectset, index, lcid, info );
1193 
1195 }
static HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
Definition: locator.c:69
GLuint index
Definition: glext.h:6031
#define TRACE(s)
Definition: solgame.cpp:4
static struct objectset * impl_from_ISWbemObjectSet(ISWbemObjectSet *iface)
Definition: locator.c:1124

◆ objectset_GetTypeInfoCount()

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

Definition at line 1175 of file locator.c.

1178 {
1179  struct objectset *objectset = impl_from_ISWbemObjectSet( iface );
1180  TRACE( "%p, %p\n", objectset, count );
1181  *count = 1;
1182  return S_OK;
1183 }
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:1124

◆ 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 1222 of file locator.c.

1232 {
1233  struct objectset *objectset = impl_from_ISWbemObjectSet( iface );
1235  HRESULT hr;
1236 
1237  TRACE( "%p, %d, %s, %d, %d, %p, %p, %p, %p\n", objectset, member, debugstr_guid(riid),
1238  lcid, flags, params, result, excep_info, arg_err );
1239 
1241  if (SUCCEEDED(hr))
1242  {
1243  hr = ITypeInfo_Invoke( typeinfo, &objectset->ISWbemObjectSet_iface, member, flags,
1244  params, result, excep_info, arg_err );
1245  ITypeInfo_Release( typeinfo );
1246  }
1247  return hr;
1248 }
HRESULT hr
Definition: shlfolder.c:183
REFIID riid
Definition: precomp.h:44
ISWbemObjectSet ISWbemObjectSet_iface
Definition: locator.c:1118
static HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
Definition: locator.c:69
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:77
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:1124
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 1268 of file locator.c.

1273 {
1274  FIXME( "\n" );
1275  return E_NOTIMPL;
1276 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ objectset_ItemIndex()

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

Definition at line 1298 of file locator.c.

1302 {
1303  struct objectset *objectset = impl_from_ISWbemObjectSet( iface );
1304  LONG count;
1305  HRESULT hr;
1306  IEnumVARIANT *enum_var;
1307  VARIANT var;
1308 
1309  TRACE( "%p, %d, %p\n", objectset, lIndex, objWbemObject );
1310 
1311  *objWbemObject = NULL;
1312  hr = ISWbemObjectSet_get_Count( iface, &count );
1313  if (FAILED(hr)) return hr;
1314 
1315  if (lIndex >= count) return WBEM_E_NOT_FOUND;
1316 
1317  hr = ISWbemObjectSet_get__NewEnum( iface, (IUnknown **)&enum_var );
1318  if (FAILED(hr)) return hr;
1319 
1320  IEnumVARIANT_Reset( enum_var );
1321  hr = IEnumVARIANT_Skip( enum_var, lIndex );
1322  if (SUCCEEDED(hr))
1323  hr = IEnumVARIANT_Next( enum_var, 1, &var, NULL );
1324  IEnumVARIANT_Release( enum_var );
1325 
1326  if (SUCCEEDED(hr))
1327  {
1328  if (V_VT( &var ) == VT_DISPATCH)
1329  hr = IDispatch_QueryInterface( V_DISPATCH( &var ), &IID_ISWbemObject, (void **)objWbemObject );
1330  else
1331  hr = WBEM_E_NOT_FOUND;
1332  VariantClear( &var );
1333  }
1334 
1335  return hr;
1336 }
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:77
HRESULT WINAPI DECLSPEC_HOTPATCH VariantClear(VARIANTARG *pVarg)
Definition: variant.c:651
#define V_VT(A)
Definition: oleauto.h:211
static struct objectset * impl_from_ISWbemObjectSet(ISWbemObjectSet *iface)
Definition: locator.c:1124
#define SUCCEEDED(hr)
Definition: intsafe.h:57

◆ objectset_QueryInterface()

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

Definition at line 1151 of file locator.c.

1155 {
1156  struct objectset *objectset = impl_from_ISWbemObjectSet( iface );
1157 
1158  TRACE( "%p %s %p\n", objectset, debugstr_guid(riid), ppvObject );
1159 
1160  if (IsEqualGUID( riid, &IID_ISWbemObjectSet ) ||
1163  {
1164  *ppvObject = iface;
1165  }
1166  else
1167  {
1168  FIXME( "interface %s not implemented\n", debugstr_guid(riid) );
1169  return E_NOINTERFACE;
1170  }
1171  ISWbemObjectSet_AddRef( iface );
1172  return S_OK;
1173 }
#define E_NOINTERFACE
Definition: winerror.h:2364
REFIID riid
Definition: precomp.h:44
#define FIXME(fmt,...)
Definition: debug.h:110
#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:1124

◆ objectset_Release()

static ULONG WINAPI objectset_Release ( ISWbemObjectSet *  iface)
static

Definition at line 1137 of file locator.c.

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

◆ property_AddRef()

static ULONG WINAPI property_AddRef ( ISWbemProperty *  iface)
static

Definition at line 117 of file locator.c.

118 {
119  struct property *property = impl_from_ISWbemProperty( iface );
120  return InterlockedIncrement( &property->refs );
121 }
static struct property * impl_from_ISWbemProperty(ISWbemProperty *iface)
Definition: locator.c:112
#define InterlockedIncrement
Definition: armddk.h:53
LONG refs
Definition: locator.c:107

◆ property_get_CIMType()

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

Definition at line 249 of file locator.c.

250 {
251  FIXME( "\n" );
252  return E_NOTIMPL;
253 }
#define FIXME(fmt,...)
Definition: debug.h:110
#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 261 of file locator.c.

262 {
263  FIXME( "\n" );
264  return E_NOTIMPL;
265 }
#define FIXME(fmt,...)
Definition: debug.h:110
#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 237 of file locator.c.

238 {
239  FIXME( "\n" );
240  return E_NOTIMPL;
241 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ property_get_Name()

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

Definition at line 231 of file locator.c.

232 {
233  FIXME( "\n" );
234  return E_NOTIMPL;
235 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ property_get_Origin()

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

Definition at line 243 of file locator.c.

244 {
245  FIXME( "\n" );
246  return E_NOTIMPL;
247 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ property_get_Qualifiers_()

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

Definition at line 255 of file locator.c.

256 {
257  FIXME( "\n" );
258  return E_NOTIMPL;
259 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ property_get_Value()

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

Definition at line 216 of file locator.c.

217 {
218  struct property *property = impl_from_ISWbemProperty( iface );
219 
220  TRACE( "%p %p\n", property, value );
221 
222  return IWbemClassObject_Get( property->object, property->name, 0, value, NULL, NULL );
223 }
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
IWbemClassObject * object
Definition: locator.c:108
static struct property * impl_from_ISWbemProperty(ISWbemProperty *iface)
Definition: locator.c:112
BSTR name
Definition: locator.c:109

◆ property_GetIDsOfNames()

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

Definition at line 175 of file locator.c.

177 {
178  struct property *property = impl_from_ISWbemProperty( iface );
180  HRESULT hr;
181 
182  TRACE( "%p, %s, %p, %u, %u, %p\n", property, debugstr_guid(riid), names, count, lcid, dispid );
183 
184  if (!names || !count || !dispid) return E_INVALIDARG;
185 
187  if (SUCCEEDED(hr))
188  {
189  hr = ITypeInfo_GetIDsOfNames( typeinfo, names, count, dispid );
190  ITypeInfo_Release( typeinfo );
191  }
192  return hr;
193 }
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:69
#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:77
static struct property * impl_from_ISWbemProperty(ISWbemProperty *iface)
Definition: locator.c:112
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 166 of file locator.c.

168 {
169  struct property *property = impl_from_ISWbemProperty( iface );
170  TRACE( "%p, %u, %u, %p\n", property, index, lcid, info );
171 
173 }
static HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
Definition: locator.c:69
GLuint index
Definition: glext.h:6031
#define TRACE(s)
Definition: solgame.cpp:4
static struct property * impl_from_ISWbemProperty(ISWbemProperty *iface)
Definition: locator.c:112

◆ property_GetTypeInfoCount()

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

Definition at line 158 of file locator.c.

159 {
160  struct property *property = impl_from_ISWbemProperty( iface );
161  TRACE( "%p, %p\n", property, count );
162  *count = 1;
163  return S_OK;
164 }
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:112
#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 195 of file locator.c.

198 {
199  struct property *property = impl_from_ISWbemProperty( iface );
201  HRESULT hr;
202 
203  TRACE( "%p, %d, %s, %d, %d, %p, %p, %p, %p\n", property, member, debugstr_guid(riid),
204  lcid, flags, params, result, excep_info, arg_err );
205 
207  if (SUCCEEDED(hr))
208  {
209  hr = ITypeInfo_Invoke( typeinfo, &property->ISWbemProperty_iface, member, flags,
210  params, result, excep_info, arg_err );
211  ITypeInfo_Release( typeinfo );
212  }
213  return hr;
214 }
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:69
GLenum const GLfloat * params
Definition: glext.h:5645
ISWbemProperty ISWbemProperty_iface
Definition: locator.c:106
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:77
static struct property * impl_from_ISWbemProperty(ISWbemProperty *iface)
Definition: locator.c:112
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 225 of file locator.c.

226 {
227  FIXME( "\n" );
228  return E_NOTIMPL;
229 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ property_QueryInterface()

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

Definition at line 137 of file locator.c.

138 {
139  struct property *property = impl_from_ISWbemProperty( iface );
140 
141  TRACE( "%p %s %p\n", property, debugstr_guid(riid), obj );
142 
143  if (IsEqualGUID( riid, &IID_ISWbemProperty ) ||
146  {
147  *obj = iface;
148  }
149  else
150  {
151  FIXME( "interface %s not implemented\n", debugstr_guid(riid) );
152  return E_NOINTERFACE;
153  }
154  ISWbemProperty_AddRef( iface );
155  return S_OK;
156 }
#define E_NOINTERFACE
Definition: winerror.h:2364
REFIID riid
Definition: precomp.h:44
#define FIXME(fmt,...)
Definition: debug.h:110
#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:112
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 123 of file locator.c.

124 {
125  struct property *property = impl_from_ISWbemProperty( iface );
127  if (!refs)
128  {
129  TRACE( "destroying %p\n", property );
130  IWbemClassObject_Release( property->object );
132  heap_free( property );
133  }
134  return refs;
135 }
long LONG
Definition: pedump.c:60
#define TRACE(s)
Definition: solgame.cpp:4
IWbemClassObject * object
Definition: locator.c:108
static struct property * impl_from_ISWbemProperty(ISWbemProperty *iface)
Definition: locator.c:112
#define InterlockedDecrement
Definition: armddk.h:52
BSTR name
Definition: locator.c:109
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
Definition: oleaut.c:274
static BOOL heap_free(void *mem)
Definition: appwiz.h:75
LONG refs
Definition: locator.c:107

◆ 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 456 of file locator.c.

458 {
459  FIXME( "\n" );
460  return E_NOTIMPL;
461 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ propertyset_AddRef()

static ULONG WINAPI propertyset_AddRef ( ISWbemPropertySet *  iface)
static

Definition at line 316 of file locator.c.

317 {
320 }
static struct propertyset * impl_from_ISWbemPropertySet(ISWbemPropertySet *iface)
Definition: locator.c:310
LONG refs
Definition: locator.c:306
#define InterlockedIncrement
Definition: armddk.h:53

◆ propertyset_get__NewEnum()

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

Definition at line 415 of file locator.c.

416 {
417  FIXME( "\n" );
418  return E_NOTIMPL;
419 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ propertyset_get_Count()

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

Definition at line 439 of file locator.c.

440 {
441  static const WCHAR propcountW[] = {'_','_','P','R','O','P','E','R','T','Y','_','C','O','U','N','T',0};
443  HRESULT hr;
444  VARIANT val;
445 
446  TRACE( "%p, %p\n", propertyset, count );
447 
448  hr = IWbemClassObject_Get( propertyset->object, propcountW, 0, &val, NULL, NULL );
449  if (SUCCEEDED(hr))
450  {
451  *count = V_I4( &val );
452  }
453  return hr;
454 }
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:310
#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:77
IWbemClassObject * object
Definition: locator.c:307
#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 374 of file locator.c.

376 {
379  HRESULT hr;
380 
381  TRACE( "%p, %s, %p, %u, %u, %p\n", propertyset, debugstr_guid(riid), names, count, lcid, dispid );
382 
383  if (!names || !count || !dispid) return E_INVALIDARG;
384 
386  if (SUCCEEDED(hr))
387  {
388  hr = ITypeInfo_GetIDsOfNames( typeinfo, names, count, dispid );
389  ITypeInfo_Release( typeinfo );
390  }
391  return hr;
392 }
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:310
GLuint GLuint * names
Definition: glext.h:11545
static HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
Definition: locator.c:69
#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:77
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 365 of file locator.c.

367 {
369  TRACE( "%p, %u, %u, %p\n", propertyset, index, lcid, info );
370 
372 }
static struct propertyset * impl_from_ISWbemPropertySet(ISWbemPropertySet *iface)
Definition: locator.c:310
static HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
Definition: locator.c:69
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 357 of file locator.c.

358 {
360  TRACE( "%p, %p\n", propertyset, count );
361  *count = 1;
362  return S_OK;
363 }
GLuint GLuint GLsizei count
Definition: gl.h:1545
static struct propertyset * impl_from_ISWbemPropertySet(ISWbemPropertySet *iface)
Definition: locator.c:310
#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 394 of file locator.c.

397 {
400  HRESULT hr;
401 
402  TRACE( "%p, %d, %s, %d, %d, %p, %p, %p, %p\n", propertyset, member, debugstr_guid(riid),
403  lcid, flags, params, result, excep_info, arg_err );
404 
406  if (SUCCEEDED(hr))
407  {
408  hr = ITypeInfo_Invoke( typeinfo, &propertyset->ISWbemPropertySet_iface, member, flags,
409  params, result, excep_info, arg_err );
410  ITypeInfo_Release( typeinfo );
411  }
412  return hr;
413 }
HRESULT hr
Definition: shlfolder.c:183
REFIID riid
Definition: precomp.h:44
static struct propertyset * impl_from_ISWbemPropertySet(ISWbemPropertySet *iface)
Definition: locator.c:310
static HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
Definition: locator.c:69
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:77
GLbitfield flags
Definition: glext.h:7161
static ITypeInfo * typeinfo[last_tid]
Definition: apps.c:109
ISWbemPropertySet ISWbemPropertySet_iface
Definition: locator.c:305
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 421 of file locator.c.

423 {
425  HRESULT hr;
426  VARIANT var;
427 
428  TRACE( "%p, %s, %08x, %p\n", propertyset, debugstr_w(name), flags, prop );
429 
430  hr = IWbemClassObject_Get( propertyset->object, name, 0, &var, NULL, NULL );
431  if (SUCCEEDED(hr))
432  {
434  VariantClear( &var );
435  }
436  return hr;
437 }
HRESULT hr
Definition: shlfolder.c:183
static struct propertyset * impl_from_ISWbemPropertySet(ISWbemPropertySet *iface)
Definition: locator.c:310
#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:77
GLbitfield flags
Definition: glext.h:7161
HRESULT WINAPI DECLSPEC_HOTPATCH VariantClear(VARIANTARG *pVarg)
Definition: variant.c:651
IWbemClassObject * object
Definition: locator.c:307
static HRESULT SWbemProperty_create(IWbemClassObject *wbem_object, BSTR name, ISWbemProperty **obj)
Definition: locator.c:286
Definition: name.c:36
#define SUCCEEDED(hr)
Definition: intsafe.h:57

◆ propertyset_QueryInterface()

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

Definition at line 335 of file locator.c.

337 {
339 
340  TRACE( "%p %s %p\n", propertyset, debugstr_guid(riid), obj );
341 
342  if (IsEqualGUID( riid, &IID_ISWbemPropertySet ) ||
345  {
346  *obj = iface;
347  }
348  else
349  {
350  FIXME( "interface %s not implemented\n", debugstr_guid(riid) );
351  return E_NOINTERFACE;
352  }
353  ISWbemPropertySet_AddRef( iface );
354  return S_OK;
355 }
#define E_NOINTERFACE
Definition: winerror.h:2364
REFIID riid
Definition: precomp.h:44
static struct propertyset * impl_from_ISWbemPropertySet(ISWbemPropertySet *iface)
Definition: locator.c:310
#define FIXME(fmt,...)
Definition: debug.h:110
#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 322 of file locator.c.

323 {
326  if (!refs)
327  {
328  TRACE( "destroying %p\n", propertyset );
329  IWbemClassObject_Release( propertyset->object );
331  }
332  return refs;
333 }
static struct propertyset * impl_from_ISWbemPropertySet(ISWbemPropertySet *iface)
Definition: locator.c:310
long LONG
Definition: pedump.c:60
LONG refs
Definition: locator.c:306
#define TRACE(s)
Definition: solgame.cpp:4
#define InterlockedDecrement
Definition: armddk.h:52
IWbemClassObject * object
Definition: locator.c:307
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 463 of file locator.c.

464 {
465  FIXME( "\n" );
466  return E_NOTIMPL;
467 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ security_AddRef()

static ULONG WINAPI security_AddRef ( ISWbemSecurity *  iface)
static

Definition at line 2251 of file locator.c.

2253 {
2254  struct security *security = impl_from_ISWbemSecurity( iface );
2255  return InterlockedIncrement( &security->refs );
2256 }
LONG refs
Definition: locator.c:2241
#define InterlockedIncrement
Definition: armddk.h:53
static struct security * impl_from_ISWbemSecurity(ISWbemSecurity *iface)
Definition: locator.c:2246

◆ security_get_AuthenticationLevel()

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

Definition at line 2395 of file locator.c.

2398 {
2399  struct security *security = impl_from_ISWbemSecurity( iface );
2400  FIXME( "%p, %p: stub\n", security, authentication_level );
2401 
2402  if (!authentication_level)
2403  return E_INVALIDARG;
2404 
2405  *authentication_level = security->authlevel;
2406  return S_OK;
2407 }
WbemAuthenticationLevelEnum authlevel
Definition: locator.c:2243
#define FIXME(fmt,...)
Definition: debug.h:110
#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:2246

◆ security_get_ImpersonationLevel()

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

Definition at line 2370 of file locator.c.

2373 {
2374  struct security *security = impl_from_ISWbemSecurity( iface );
2375  FIXME( "%p, %p: stub\n", security, impersonation_level );
2376 
2377  if (!impersonation_level)
2378  return E_INVALIDARG;
2379 
2380  *impersonation_level = security->implevel;
2381  return S_OK;
2382 }
#define FIXME(fmt,...)
Definition: debug.h:110
#define E_INVALIDARG
Definition: ddrawi.h:101
WbemImpersonationLevelEnum implevel
Definition: locator.c:2242
#define S_OK
Definition: intsafe.h:59
static struct security * impl_from_ISWbemSecurity(ISWbemSecurity *iface)
Definition: locator.c:2246

◆ security_get_Privileges()

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

Definition at line 2420 of file locator.c.

2423 {
2424  struct security *security = impl_from_ISWbemSecurity( iface );
2425  FIXME( "%p, %p: stub\n", security, privilege_set );
2426 
2427  if (!privilege_set)
2428  return E_INVALIDARG;
2429 
2430  return E_NOTIMPL;
2431 }
#define FIXME(fmt,...)
Definition: debug.h:110
#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:2246

◆ security_GetIDsOfNames()

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

Definition at line 2317 of file locator.c.

2324 {
2325  struct security *security = impl_from_ISWbemSecurity( iface );
2327  HRESULT hr;
2328 
2329  TRACE( "%p, %s, %p, %u, %u, %p\n", security, debugstr_guid(riid), names, count, lcid, dispid );
2330 
2331  if (!names || !count || !dispid) return E_INVALIDARG;
2332 
2334  if (SUCCEEDED(hr))
2335  {
2336  hr = ITypeInfo_GetIDsOfNames( typeinfo, names, count, dispid );
2337  ITypeInfo_Release( typeinfo );
2338  }
2339  return hr;
2340 }
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:69
#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:77
static ITypeInfo * typeinfo[last_tid]
Definition: apps.c:109
static struct security * impl_from_ISWbemSecurity(ISWbemSecurity *iface)
Definition: locator.c:2246
#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 2305 of file locator.c.

2310 {
2311  struct security *security = impl_from_ISWbemSecurity( iface );
2312  TRACE( "%p, %u, %u, %p\n", security, index, lcid, info );
2313 
2315 }
static HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
Definition: locator.c:69
GLuint index
Definition: glext.h:6031
#define TRACE(s)
Definition: solgame.cpp:4
static struct security * impl_from_ISWbemSecurity(ISWbemSecurity *iface)
Definition: locator.c:2246

◆ security_GetTypeInfoCount()

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

Definition at line 2294 of file locator.c.

2297 {
2298  struct security *security = impl_from_ISWbemSecurity( iface );
2299  TRACE( "%p, %p\n", security, count );
2300 
2301  *count = 1;
2302  return S_OK;
2303 }
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:2246

◆ 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 2342 of file locator.c.

2352 {
2353  struct security *security = impl_from_ISWbemSecurity( iface );
2355  HRESULT hr;
2356 
2357  TRACE( "%p, %d, %s, %d, %d, %p, %p, %p, %p\n", security, member, debugstr_guid(riid),
2358  lcid, flags, params, result, excep_info, arg_err );
2359 
2361  if (SUCCEEDED(hr))
2362  {
2363  hr = ITypeInfo_Invoke( typeinfo, &security->ISWbemSecurity_iface, member, flags,
2364  params, result, excep_info, arg_err );
2365  ITypeInfo_Release( typeinfo );
2366  }
2367  return hr;
2368 }
HRESULT hr
Definition: shlfolder.c:183
REFIID riid
Definition: precomp.h:44
ISWbemSecurity ISWbemSecurity_iface
Definition: locator.c:2240
static HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
Definition: locator.c:69
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:77
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:2246
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 2409 of file locator.c.

2412 {
2413  struct security *security = impl_from_ISWbemSecurity( iface );
2414  FIXME( "%p, %d: stub\n", security, authentication_level );
2415 
2416  security->authlevel = authentication_level;
2417  return S_OK;
2418 }
WbemAuthenticationLevelEnum authlevel
Definition: locator.c:2243
#define FIXME(fmt,...)
Definition: debug.h:110
#define S_OK
Definition: intsafe.h:59
static struct security * impl_from_ISWbemSecurity(ISWbemSecurity *iface)
Definition: locator.c:2246

◆ security_put_ImpersonationLevel()

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

Definition at line 2384 of file locator.c.

2387 {
2388  struct security *security = impl_from_ISWbemSecurity( iface );
2389  FIXME( "%p, %d: stub\n", security, impersonation_level );
2390 
2391  security->implevel = impersonation_level;
2392  return S_OK;
2393 }
#define FIXME(fmt,...)
Definition: debug.h:110
WbemImpersonationLevelEnum implevel
Definition: locator.c:2242
#define S_OK
Definition: intsafe.h:59
static struct security * impl_from_ISWbemSecurity(ISWbemSecurity *iface)
Definition: locator.c:2246

◆ security_QueryInterface()

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

Definition at line 2271 of file locator.c.

2275 {
2276  struct security *security = impl_from_ISWbemSecurity( iface );
2277  TRACE( "%p, %s, %p\n", security, debugstr_guid( riid ), ppvObject );
2278 
2279  if (IsEqualGUID( riid, &IID_ISWbemSecurity ) ||
2282  {
2283  *ppvObject = iface;
2284  }
2285  else
2286  {
2287  FIXME( "interface %s not implemented\n", debugstr_guid(riid) );
2288  return E_NOINTERFACE;
2289  }
2290  ISWbemSecurity_AddRef( iface );
2291  return S_OK;
2292 }
#define E_NOINTERFACE
Definition: winerror.h:2364
REFIID riid
Definition: precomp.h:44
#define FIXME(fmt,...)
Definition: debug.h:110
#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:2246

◆ security_Release()

static ULONG WINAPI security_Release ( ISWbemSecurity *  iface)
static

Definition at line 2258 of file locator.c.

2260 {
2261  struct security *security = impl_from_ISWbemSecurity( iface );
2263  if (!refs)
2264  {
2265  TRACE( "destroying %p\n", security );
2266  heap_free( security );
2267  }
2268  return refs;
2269 }
LONG refs
Definition: locator.c:2241
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:2246
static BOOL heap_free(void *mem)
Definition: appwiz.h:75

◆ services_AddRef()

static ULONG WINAPI services_AddRef ( ISWbemServices *  iface)
static

Definition at line 1525 of file locator.c.

1527 {
1528  struct services *services = impl_from_ISWbemServices( iface );
1529  return InterlockedIncrement( &services->refs );
1530 }
static struct services * impl_from_ISWbemServices(ISWbemServices *iface)
Definition: locator.c:1519
LONG refs
Definition: locator.c:1515
#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 1814 of file locator.c.

1828 {
1829  FIXME( "\n" );
1830  return E_NOTIMPL;
1831 }
#define FIXME(fmt,...)
Definition: debug.h:110
#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 1833 of file locator.c.

1848 {
1849  FIXME( "\n" );
1850  return E_NOTIMPL;
1851 }
#define FIXME(fmt,...)
Definition: debug.h:110
#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 1682 of file locator.c.

1687 {
1688  FIXME( "\n" );
1689  return E_NOTIMPL;
1690 }
#define FIXME(fmt,...)
Definition: debug.h:110
#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 1692 of file locator.c.

1699 {
1700  FIXME( "\n" );
1701  return E_NOTIMPL;
1702 }
#define FIXME(fmt,...)
Definition: debug.h:110
#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 1911 of file locator.c.

1919 {
1920  FIXME( "\n" );
1921  return E_NOTIMPL;
1922 }
#define FIXME(fmt,...)
Definition: debug.h:110
#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 1924 of file locator.c.

1933 {
1934  FIXME( "\n" );
1935  return E_NOTIMPL;
1936 }
#define FIXME(fmt,...)
Definition: debug.h:110
#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 1886 of file locator.c.

1893 {
1894  FIXME( "\n" );
1895  return E_NOTIMPL;
1896 }
#define FIXME(fmt,...)
Definition: debug.h:110
#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 1898 of file locator.c.

1906 {
1907  FIXME( "\n" );
1908  return E_NOTIMPL;
1909 }
#define FIXME(fmt,...)
Definition: debug.h:110
#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 1776 of file locator.c.

1783 {
1784  struct services *services = impl_from_ISWbemServices( iface );
1785  IEnumWbemClassObject *iter;
1786  HRESULT hr;
1787 
1788  TRACE( "%p, %s, %s, %x, %p, %p\n", iface, debugstr_w(strQuery), debugstr_w(strQueryLanguage),
1789  iFlags, objWbemNamedValueSet, objWbemObjectSet );
1790 
1791  if (objWbemNamedValueSet) FIXME( "ignoring context\n" );
1792 
1793  hr = IWbemServices_ExecQuery( services->services, strQueryLanguage, strQuery, iFlags, NULL, &iter );
1794  if (hr != S_OK) return hr;
1795 
1796  hr = SWbemObjectSet_create( iter, objWbemObjectSet );
1797  IEnumWbemClassObject_Release( iter );
1798  return hr;
1799 }
HRESULT hr
Definition: shlfolder.c:183
IWbemServices * services
Definition: locator.c:1516
static struct services * impl_from_ISWbemServices(ISWbemServices *iface)
Definition: locator.c:1519
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:110
smooth NULL
Definition: ftsmooth.c:416
static HRESULT SWbemObjectSet_create(IEnumWbemClassObject *wbem_objectenum, ISWbemObjectSet **obj)
Definition: locator.c:1362
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:77
#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 1801 of file locator.c.

1809 {
1810  FIXME( "\n" );
1811  return E_NOTIMPL;
1812 }
#define FIXME(fmt,...)
Definition: debug.h:110
#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 1646 of file locator.c.

1652 {
1653  struct services *services = impl_from_ISWbemServices( iface );
1655  HRESULT hr;
1656 
1657  TRACE( "%p, %s, %d, %p, %p\n", iface, debugstr_w(strObjectPath), iFlags, objWbemNamedValueSet,
1658  objWbemObject );
1659 
1660  if (objWbemNamedValueSet) FIXME( "ignoring context\n" );
1661 
1662  hr = IWbemServices_GetObject( services->services, strObjectPath, iFlags, NULL, &obj, NULL );
1663  if (hr != S_OK) return hr;
1664 
1665  hr = SWbemObject_create( obj, objWbemObject );
1666  IWbemClassObject_Release( obj );
1667  return hr;
1668 }
HRESULT hr
Definition: shlfolder.c:183
IWbemServices * services
Definition: locator.c:1516
static struct services * impl_from_ISWbemServices(ISWbemServices *iface)
Definition: locator.c:1519
GLsizei GLsizei GLuint * obj
Definition: glext.h:6042
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:110
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:77
#define S_OK
Definition: intsafe.h:59
static HRESULT SWbemObject_create(IWbemClassObject *wbem_object, ISWbemObject **obj)
Definition: locator.c:1095

◆ services_get_Security_()

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

Definition at line 1938 of file locator.c.

1941 {
1942  TRACE( "%p, %p\n", iface, objWbemSecurity );
1943 
1944  if (!objWbemSecurity)
1945  return E_INVALIDARG;
1946 
1947  return ISWbemSecurity_create( objWbemSecurity );
1948 }
static HRESULT ISWbemSecurity_create(ISWbemSecurity **)
Definition: locator.c:2449
#define E_INVALIDARG
Definition: