|
|
//+-------------------------------------------------------------------------
//
// Microsoft Windows
//
// Copyright (C) Microsoft Corporation, 2000
//
// File: wbemmisc.cpp
//
// Abstract: Misc routines useful for interfacing with WBEM
//
//--------------------------------------------------------------------------
extern HANDLE CdmMutex;
#define EnterCdmCritSection() WaitForSingleObject(CdmMutex, INFINITE)
#define LeaveCdmCritSection() ReleaseMutex(CdmMutex);
HRESULT WmiGetQualifier( IN IWbemQualifierSet *pIWbemQualifierSet, IN PWCHAR QualifierName, IN VARTYPE Type, OUT VARIANT *Value );
HRESULT WmiGetProperty( IN IWbemClassObject *pIWbemClassObject, IN PWCHAR PropertyName, IN CIMTYPE ExpectedCimType, OUT VARIANT *Value );
HRESULT WmiSetProperty( IN IWbemClassObject *pIWbemClassObject, IN PWCHAR PropertyName, IN VARIANT *Value );
PVOID WmipAlloc( ULONG Size );
void WmipFree( PVOID Ptr ); PWCHAR AddSlashesToStringW( PWCHAR SlashedNamespace, PWCHAR Namespace );
HRESULT WmiConnectToWbem( PWCHAR Namespace, IWbemServices **ppIWbemServices );
typedef struct { PWCHAR Name; VARTYPE VarType; VARIANT Value; } QUALIFIER_VALUE, *PQUALIFIER_VALUE;
HRESULT GetClassQualifierList( IWbemServices *pServices, PWCHAR ClassName, ULONG QualifierValuesCount, PQUALIFIER_VALUE QualifierValues );
HRESULT WmiSetPropertyList( IN IWbemClassObject *pIWbemClassObject, IN ULONG PropertyCount, IN PWCHAR *PropertyNames, IN VARIANT *Values );
HRESULT WmiGetPropertyByName( IN IWbemServices *pServices, IN PWCHAR ClassName, IN PWCHAR PropertyName, IN CIMTYPE ExpectedCimType, OUT VARIANT *Value );
HRESULT CreateInst( IWbemServices * pNamespace, IWbemClassObject ** pNewInst, WCHAR * pwcClassName, IWbemContext *pCtx );
BSTR GetCurrentDateTime( void );
HRESULT WmiDumpClassObject( IWbemClassObject *pClass, PWCHAR ClassName );
HRESULT WmiGetQualifierListByName( IN IWbemServices *pServices, IN PWCHAR ClassName, PWCHAR PropertyName, IN ULONG QualifierCount, IN PWCHAR *QualifierNames, IN VARTYPE *Types, OUT VARIANT *Values );
PWCHAR AddSlashesToStringExW( PWCHAR SlashedNamespace, PWCHAR Namespace );
HRESULT WmiGetArraySize( IN SAFEARRAY *Array, OUT LONG *LBound, OUT LONG *UBound, OUT LONG *NumberElements );
HRESULT LookupValueMap( IWbemServices *pServices, PWCHAR ClassName, PWCHAR PropertyName, ULONG Value, BSTR *MappedValue );
void FreeTheBSTRArray( BSTR *Array, ULONG Size );
HRESULT GetMethodInParamInstance( IN IWbemServices *pServices, IN PWCHAR ClassName, IN BSTR MethodName, OUT IWbemClassObject **ppInParamInstance );
|