fpc/packages/extra/winunits/jwawbemcli.pas
fpc 790a4fe2d3 * log and id tags removed
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00

1305 lines
56 KiB
ObjectPascal

{******************************************************************************}
{ }
{ WBEM Client interface Unit for Object Pascal }
{ }
{ Portions created by Microsoft are Copyright (C) 1995-2001 Microsoft }
{ Corporation. All Rights Reserved. }
{ }
{ The original file is: wbemcli.idl, released Nov 2002. The original Pascal }
{ code is: WbemCli.pas, released April 2002. The initial developer of the }
{ Pascal code is Marcel van Brakel (brakelm att chello dott nl). }
{ }
{ Portions created by Marcel van Brakel are Copyright (C) 1999-2001 }
{ Marcel van Brakel. All Rights Reserved. }
{ }
{ Obtained through: Joint Endeavour of Delphi Innovators (Project JEDI) }
{ }
{ You may retrieve the latest version of this file at the Project JEDI }
{ APILIB home page, located at http://jedi-apilib.sourceforge.net }
{ }
{ The contents of this file are used with permission, subject to the Mozilla }
{ Public License Version 1.1 (the "License"); you may not use this file except }
{ in compliance with the License. You may obtain a copy of the License at }
{ http://www.mozilla.org/MPL/MPL-1.1.html }
{ }
{ Software distributed under the License is distributed on an "AS IS" basis, }
{ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for }
{ the specific language governing rights and limitations under the License. }
{ }
{ Alternatively, the contents of this file may be used under the terms of the }
{ GNU Lesser General Public License (the "LGPL License"), in which case the }
{ provisions of the LGPL License are applicable instead of those above. }
{ If you wish to allow use of your version of this file only under the terms }
{ of the LGPL License and not to allow others to use your version of this file }
{ under the MPL, indicate your decision by deleting the provisions above and }
{ replace them with the notice and other provisions required by the LGPL }
{ License. If you do not delete the provisions above, a recipient may use }
{ your version of this file under either the MPL or the LGPL License. }
{ }
{ For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html }
{ }
{******************************************************************************}
unit JwaWbemCli;
{$WEAKPACKAGEUNIT}
{$HPPEMIT ''}
{$HPPEMIT '#include "wbemcli.h"'}
{$HPPEMIT ''}
{$I jediapilib.inc}
interface
uses
ActiveX,
JwaWinType;
{$IFDEF FPC}
Type PSafeArray=PVarArray;
{$ENDIF}
type
tag_WBEM_GENUS_TYPE = DWORD;
{$EXTERNALSYM tag_WBEM_GENUS_TYPE}
WBEM_GENUS_TYPE = tag_WBEM_GENUS_TYPE;
{$EXTERNALSYM WBEM_GENUS_TYPE}
TWbemGenusType = WBEM_GENUS_TYPE;
{$EXTERNALSYM TWbemGenusType}
const
WBEM_GENUS_CLASS = 1;
{$EXTERNALSYM WBEM_GENUS_CLASS}
WBEM_GENUS_INSTANCE = 2;
{$EXTERNALSYM WBEM_GENUS_INSTANCE}
type
tag_WBEM_CHANGE_FLAG_TYPE = DWORD;
{$EXTERNALSYM tag_WBEM_CHANGE_FLAG_TYPE}
WBEM_CHANGE_FLAG_TYPE = tag_WBEM_CHANGE_FLAG_TYPE;
{$EXTERNALSYM WBEM_CHANGE_FLAG_TYPE}
TWbemChangeFlagType = WBEM_CHANGE_FLAG_TYPE;
{$EXTERNALSYM TWbemChangeFlagType}
const
WBEM_FLAG_CREATE_OR_UPDATE = $0;
{$EXTERNALSYM WBEM_FLAG_CREATE_OR_UPDATE}
WBEM_FLAG_UPDATE_ONLY = $1;
{$EXTERNALSYM WBEM_FLAG_UPDATE_ONLY}
WBEM_FLAG_CREATE_ONLY = $2;
{$EXTERNALSYM WBEM_FLAG_CREATE_ONLY}
WBEM_FLAG_UPDATE_COMPATIBLE = $0;
{$EXTERNALSYM WBEM_FLAG_UPDATE_COMPATIBLE}
WBEM_FLAG_UPDATE_SAFE_MODE = $20;
{$EXTERNALSYM WBEM_FLAG_UPDATE_SAFE_MODE}
WBEM_FLAG_UPDATE_FORCE_MODE = $40;
{$EXTERNALSYM WBEM_FLAG_UPDATE_FORCE_MODE}
WBEM_MASK_UPDATE_MODE = $60;
{$EXTERNALSYM WBEM_MASK_UPDATE_MODE}
WBEM_FLAG_ADVISORY = $10000;
{$EXTERNALSYM WBEM_FLAG_ADVISORY}
type
tag_WBEM_GENERIC_FLAG_TYPE = DWORD;
{$EXTERNALSYM tag_WBEM_GENERIC_FLAG_TYPE}
WBEM_GENERIC_FLAG_TYPE = tag_WBEM_GENERIC_FLAG_TYPE;
{$EXTERNALSYM WBEM_GENERIC_FLAG_TYPE}
TWbemGenericFlagType = WBEM_GENERIC_FLAG_TYPE;
{$EXTERNALSYM TWbemGenericFlagType}
const
WBEM_FLAG_RETURN_IMMEDIATELY = $10;
{$EXTERNALSYM WBEM_FLAG_RETURN_IMMEDIATELY}
WBEM_FLAG_RETURN_WBEM_COMPLETE = $0;
{$EXTERNALSYM WBEM_FLAG_RETURN_WBEM_COMPLETE}
WBEM_FLAG_BIDIRECTIONAL = $0;
{$EXTERNALSYM WBEM_FLAG_BIDIRECTIONAL}
WBEM_FLAG_FORWARD_ONLY = $20;
{$EXTERNALSYM WBEM_FLAG_FORWARD_ONLY}
WBEM_FLAG_NO_ERROR_OBJECT = $40;
{$EXTERNALSYM WBEM_FLAG_NO_ERROR_OBJECT}
WBEM_FLAG_RETURN_ERROR_OBJECT = $0;
{$EXTERNALSYM WBEM_FLAG_RETURN_ERROR_OBJECT}
WBEM_FLAG_SEND_STATUS = $80;
{$EXTERNALSYM WBEM_FLAG_SEND_STATUS}
WBEM_FLAG_DONT_SEND_STATUS = $0;
{$EXTERNALSYM WBEM_FLAG_DONT_SEND_STATUS}
WBEM_FLAG_ENSURE_LOCATABLE = $100;
{$EXTERNALSYM WBEM_FLAG_ENSURE_LOCATABLE}
WBEM_FLAG_DIRECT_READ = $200;
{$EXTERNALSYM WBEM_FLAG_DIRECT_READ}
WBEM_FLAG_SEND_ONLY_SELECTED = $0;
{$EXTERNALSYM WBEM_FLAG_SEND_ONLY_SELECTED}
WBEM_RETURN_WHEN_COMPLETE = $0;
{$EXTERNALSYM WBEM_RETURN_WHEN_COMPLETE}
WBEM_RETURN_IMMEDIATELY = $10;
{$EXTERNALSYM WBEM_RETURN_IMMEDIATELY}
WBEM_MASK_RESERVED_FLAGS = $1f000;
{$EXTERNALSYM WBEM_MASK_RESERVED_FLAGS}
WBEM_FLAG_USE_AMENDED_QUALIFIERS = $20000;
{$EXTERNALSYM WBEM_FLAG_USE_AMENDED_QUALIFIERS}
WBEM_FLAG_STRONG_VALIDATION = $100000;
{$EXTERNALSYM WBEM_FLAG_STRONG_VALIDATION}
type
tag_WBEM_STATUS_TYPE = DWORD;
{$EXTERNALSYM tag_WBEM_STATUS_TYPE}
WBEM_STATUS_TYPE = tag_WBEM_STATUS_TYPE;
{$EXTERNALSYM WBEM_STATUS_TYPE}
TWbemStatusType = WBEM_STATUS_TYPE;
{$EXTERNALSYM TWbemStatusType}
const
WBEM_STATUS_COMPLETE = 0;
{$EXTERNALSYM WBEM_STATUS_COMPLETE}
WBEM_STATUS_REQUIREMENTS = 1;
{$EXTERNALSYM WBEM_STATUS_REQUIREMENTS}
WBEM_STATUS_PROGRESS = 2;
{$EXTERNALSYM WBEM_STATUS_PROGRESS}
type
tag_WBEM_TIMEOUT_TYPE = DWORD;
{$EXTERNALSYM tag_WBEM_TIMEOUT_TYPE}
WBEM_TIMEOUT_TYPE = tag_WBEM_TIMEOUT_TYPE;
{$EXTERNALSYM WBEM_TIMEOUT_TYPE}
TWbemTimeoutType = WBEM_TIMEOUT_TYPE;
{$EXTERNALSYM TWbemTimeoutType}
const
WBEM_NO_WAIT = 0;
{$EXTERNALSYM WBEM_NO_WAIT}
WBEM_INFINITE = DWORD($ffffffff);
{$EXTERNALSYM WBEM_INFINITE}
type
tag_WBEM_CONDITION_FLAG_TYPE = DWORD;
{$EXTERNALSYM tag_WBEM_CONDITION_FLAG_TYPE}
WBEM_CONDITION_FLAG_TYPE = tag_WBEM_CONDITION_FLAG_TYPE;
{$EXTERNALSYM WBEM_CONDITION_FLAG_TYPE}
TWbemConditionFlagType = WBEM_CONDITION_FLAG_TYPE;
{$EXTERNALSYM TWbemConditionFlagType}
const
WBEM_FLAG_ALWAYS = $0;
{$EXTERNALSYM WBEM_FLAG_ALWAYS}
WBEM_FLAG_ONLY_IF_TRUE = $1;
{$EXTERNALSYM WBEM_FLAG_ONLY_IF_TRUE}
WBEM_FLAG_ONLY_IF_FALSE = $2;
{$EXTERNALSYM WBEM_FLAG_ONLY_IF_FALSE}
WBEM_FLAG_ONLY_IF_IDENTICAL = $3;
{$EXTERNALSYM WBEM_FLAG_ONLY_IF_IDENTICAL}
WBEM_MASK_PRIMARY_CONDITION = $3;
{$EXTERNALSYM WBEM_MASK_PRIMARY_CONDITION}
WBEM_FLAG_KEYS_ONLY = $4;
{$EXTERNALSYM WBEM_FLAG_KEYS_ONLY}
WBEM_FLAG_REFS_ONLY = $8;
{$EXTERNALSYM WBEM_FLAG_REFS_ONLY}
WBEM_FLAG_LOCAL_ONLY = $10;
{$EXTERNALSYM WBEM_FLAG_LOCAL_ONLY}
WBEM_FLAG_PROPAGATED_ONLY = $20;
{$EXTERNALSYM WBEM_FLAG_PROPAGATED_ONLY}
WBEM_FLAG_SYSTEM_ONLY = $30;
{$EXTERNALSYM WBEM_FLAG_SYSTEM_ONLY}
WBEM_FLAG_NONSYSTEM_ONLY = $40;
{$EXTERNALSYM WBEM_FLAG_NONSYSTEM_ONLY}
WBEM_MASK_CONDITION_ORIGIN = $70;
{$EXTERNALSYM WBEM_MASK_CONDITION_ORIGIN}
WBEM_FLAG_CLASS_OVERRIDES_ONLY = $100;
{$EXTERNALSYM WBEM_FLAG_CLASS_OVERRIDES_ONLY}
WBEM_FLAG_CLASS_LOCAL_AND_OVERRIDES = $200;
{$EXTERNALSYM WBEM_FLAG_CLASS_LOCAL_AND_OVERRIDES}
WBEM_MASK_CLASS_CONDITION = $300;
{$EXTERNALSYM WBEM_MASK_CLASS_CONDITION}
type
tag_WBEM_FLAVOR_TYPE = DWORD;
{$EXTERNALSYM tag_WBEM_FLAVOR_TYPE}
WBEM_FLAVOR_TYPE = tag_WBEM_FLAVOR_TYPE;
{$EXTERNALSYM WBEM_FLAVOR_TYPE}
TWbemFlavorType = WBEM_FLAVOR_TYPE;
{$EXTERNALSYM TWbemFlavorType}
const
WBEM_FLAVOR_DONT_PROPAGATE = $0;
{$EXTERNALSYM WBEM_FLAVOR_DONT_PROPAGATE}
WBEM_FLAVOR_FLAG_PROPAGATE_TO_INSTANCE = $1;
{$EXTERNALSYM WBEM_FLAVOR_FLAG_PROPAGATE_TO_INSTANCE}
WBEM_FLAVOR_FLAG_PROPAGATE_TO_DERIVED_CLASS = $2;
{$EXTERNALSYM WBEM_FLAVOR_FLAG_PROPAGATE_TO_DERIVED_CLASS}
WBEM_FLAVOR_MASK_PROPAGATION = $f;
{$EXTERNALSYM WBEM_FLAVOR_MASK_PROPAGATION}
WBEM_FLAVOR_OVERRIDABLE = $0;
{$EXTERNALSYM WBEM_FLAVOR_OVERRIDABLE}
WBEM_FLAVOR_NOT_OVERRIDABLE = $10;
{$EXTERNALSYM WBEM_FLAVOR_NOT_OVERRIDABLE}
WBEM_FLAVOR_MASK_PERMISSIONS = $10;
{$EXTERNALSYM WBEM_FLAVOR_MASK_PERMISSIONS}
WBEM_FLAVOR_ORIGIN_LOCAL = $0;
{$EXTERNALSYM WBEM_FLAVOR_ORIGIN_LOCAL}
WBEM_FLAVOR_ORIGIN_PROPAGATED = $20;
{$EXTERNALSYM WBEM_FLAVOR_ORIGIN_PROPAGATED}
WBEM_FLAVOR_ORIGIN_SYSTEM = $40;
{$EXTERNALSYM WBEM_FLAVOR_ORIGIN_SYSTEM}
WBEM_FLAVOR_MASK_ORIGIN = $60;
{$EXTERNALSYM WBEM_FLAVOR_MASK_ORIGIN}
WBEM_FLAVOR_NOT_AMENDED = $0;
{$EXTERNALSYM WBEM_FLAVOR_NOT_AMENDED}
WBEM_FLAVOR_AMENDED = $80;
{$EXTERNALSYM WBEM_FLAVOR_AMENDED}
WBEM_FLAVOR_MASK_AMENDED = $80;
{$EXTERNALSYM WBEM_FLAVOR_MASK_AMENDED}
type
tag_WBEM_QUERY_FLAG_TYPE = DWORD;
{$EXTERNALSYM tag_WBEM_QUERY_FLAG_TYPE}
WBEM_QUERY_FLAG_TYPE = tag_WBEM_QUERY_FLAG_TYPE;
{$EXTERNALSYM WBEM_QUERY_FLAG_TYPE}
TWbemQueryFlagType = WBEM_QUERY_FLAG_TYPE;
{$EXTERNALSYM TWbemQueryFlagType}
const
WBEM_FLAG_DEEP = 0;
{$EXTERNALSYM WBEM_FLAG_DEEP}
WBEM_FLAG_SHALLOW = 1;
{$EXTERNALSYM WBEM_FLAG_SHALLOW}
WBEM_FLAG_PROTOTYPE = 2;
{$EXTERNALSYM WBEM_FLAG_PROTOTYPE}
type
tag_WBEM_SECURITY_FLAGS = DWORD;
{$EXTERNALSYM tag_WBEM_SECURITY_FLAGS}
WBEM_SECURITY_FLAGS = tag_WBEM_SECURITY_FLAGS;
{$EXTERNALSYM WBEM_SECURITY_FLAGS}
TWbemSecurityFlags = WBEM_SECURITY_FLAGS;
{$EXTERNALSYM TWbemSecurityFlags}
const
WBEM_ENABLE = $1;
{$EXTERNALSYM WBEM_ENABLE}
WBEM_METHOD_EXECUTE = $2;
{$EXTERNALSYM WBEM_METHOD_EXECUTE}
WBEM_FULL_WRITE_REP = $4;
{$EXTERNALSYM WBEM_FULL_WRITE_REP}
WBEM_PARTIAL_WRITE_REP = $8;
{$EXTERNALSYM WBEM_PARTIAL_WRITE_REP}
WBEM_WRITE_PROVIDER = $10;
{$EXTERNALSYM WBEM_WRITE_PROVIDER}
WBEM_REMOTE_ACCESS = $20;
{$EXTERNALSYM WBEM_REMOTE_ACCESS}
WBEM_RIGHT_SUBSCRIBE = $40;
{$EXTERNALSYM WBEM_RIGHT_SUBSCRIBE}
WBEM_RIGHT_PUBLISH = $80;
{$EXTERNALSYM WBEM_RIGHT_PUBLISH}
type
tag_WBEM_LIMITATION_FLAG_TYPE = DWORD;
{$EXTERNALSYM tag_WBEM_LIMITATION_FLAG_TYPE}
WBEM_LIMITATION_FLAG_TYPE = tag_WBEM_LIMITATION_FLAG_TYPE;
{$EXTERNALSYM WBEM_LIMITATION_FLAG_TYPE}
TWbemLimitationFlagType = WBEM_LIMITATION_FLAG_TYPE;
{$EXTERNALSYM TWbemLimitationFlagType}
const
WBEM_FLAG_EXCLUDE_OBJECT_QUALIFIERS = $10;
{$EXTERNALSYM WBEM_FLAG_EXCLUDE_OBJECT_QUALIFIERS}
WBEM_FLAG_EXCLUDE_PROPERTY_QUALIFIERS = $20;
{$EXTERNALSYM WBEM_FLAG_EXCLUDE_PROPERTY_QUALIFIERS}
type
tag_WBEM_TEXT_FLAG_TYPE = DWORD;
{$EXTERNALSYM tag_WBEM_TEXT_FLAG_TYPE}
WBEM_TEXT_FLAG_TYPE = tag_WBEM_TEXT_FLAG_TYPE;
{$EXTERNALSYM WBEM_TEXT_FLAG_TYPE}
TWbemTextFlagType = WBEM_TEXT_FLAG_TYPE;
{$EXTERNALSYM TWbemTextFlagType}
const
WBEM_FLAG_NO_FLAVORS = $1;
{$EXTERNALSYM WBEM_FLAG_NO_FLAVORS}
type
tag_WBEM_COMPARISON_FLAG = DWORD;
{$EXTERNALSYM tag_WBEM_COMPARISON_FLAG}
WBEM_COMPARISON_FLAG = tag_WBEM_COMPARISON_FLAG;
{$EXTERNALSYM WBEM_COMPARISON_FLAG}
TWbemComparisonFlag = WBEM_COMPARISON_FLAG;
{$EXTERNALSYM TWbemComparisonFlag}
const
WBEM_COMPARISON_INCLUDE_ALL = $0;
{$EXTERNALSYM WBEM_COMPARISON_INCLUDE_ALL}
WBEM_FLAG_IGNORE_QUALIFIERS = $1;
{$EXTERNALSYM WBEM_FLAG_IGNORE_QUALIFIERS}
WBEM_FLAG_IGNORE_OBJECT_SOURCE = $2;
{$EXTERNALSYM WBEM_FLAG_IGNORE_OBJECT_SOURCE}
WBEM_FLAG_IGNORE_DEFAULT_VALUES = $4;
{$EXTERNALSYM WBEM_FLAG_IGNORE_DEFAULT_VALUES}
WBEM_FLAG_IGNORE_CLASS = $8;
{$EXTERNALSYM WBEM_FLAG_IGNORE_CLASS}
WBEM_FLAG_IGNORE_CASE = $10;
{$EXTERNALSYM WBEM_FLAG_IGNORE_CASE}
WBEM_FLAG_IGNORE_FLAVOR = $20;
{$EXTERNALSYM WBEM_FLAG_IGNORE_FLAVOR}
type
tag_WBEM_LOCKING = DWORD;
{$EXTERNALSYM tag_WBEM_LOCKING}
WBEM_LOCKING_FLAG_TYPE = tag_WBEM_LOCKING;
{$EXTERNALSYM WBEM_LOCKING_FLAG_TYPE}
TWbemLockingFlagType = WBEM_LOCKING_FLAG_TYPE;
{$EXTERNALSYM TWbemLockingFlagType}
const
WBEM_FLAG_ALLOW_READ = $1;
{$EXTERNALSYM WBEM_FLAG_ALLOW_READ}
type
tag_CIMTYPE_ENUMERATION = DWORD;
{$EXTERNALSYM tag_CIMTYPE_ENUMERATION}
CIMTYPE_ENUMERATION = tag_CIMTYPE_ENUMERATION;
{$EXTERNALSYM CIMTYPE_ENUMERATION}
TCimTypeEnumeration = CIMTYPE_ENUMERATION;
{$EXTERNALSYM TCimTypeEnumeration}
const
CIM_ILLEGAL = $fff;
{$EXTERNALSYM CIM_ILLEGAL}
CIM_EMPTY = 0;
{$EXTERNALSYM CIM_EMPTY}
CIM_SINT8 = 16;
{$EXTERNALSYM CIM_SINT8}
CIM_UINT8 = 17;
{$EXTERNALSYM CIM_UINT8}
CIM_SINT16 = 2;
{$EXTERNALSYM CIM_SINT16}
CIM_UINT16 = 18;
{$EXTERNALSYM CIM_UINT16}
CIM_SINT32 = 3;
{$EXTERNALSYM CIM_SINT32}
CIM_UINT32 = 19;
{$EXTERNALSYM CIM_UINT32}
CIM_SINT64 = 20;
{$EXTERNALSYM CIM_SINT64}
CIM_UINT64 = 21;
{$EXTERNALSYM CIM_UINT64}
CIM_REAL32 = 4;
{$EXTERNALSYM CIM_REAL32}
CIM_REAL64 = 5;
{$EXTERNALSYM CIM_REAL64}
CIM_BOOLEAN = 11;
{$EXTERNALSYM CIM_BOOLEAN}
CIM_STRING = 8;
{$EXTERNALSYM CIM_STRING}
CIM_DATETIME = 101;
{$EXTERNALSYM CIM_DATETIME}
CIM_REFERENCE = 102;
{$EXTERNALSYM CIM_REFERENCE}
CIM_CHAR16 = 103;
{$EXTERNALSYM CIM_CHAR16}
CIM_OBJECT = 13;
{$EXTERNALSYM CIM_OBJECT}
CIM_FLAG_ARRAY = $2000;
{$EXTERNALSYM CIM_FLAG_ARRAY}
type
tag_WBEM_BACKUP_RESTORE_FLAGS = DWORD;
{$EXTERNALSYM tag_WBEM_BACKUP_RESTORE_FLAGS}
WBEM_BACKUP_RESTORE_FLAGS = tag_WBEM_BACKUP_RESTORE_FLAGS;
{$EXTERNALSYM WBEM_BACKUP_RESTORE_FLAGS}
TWbemBackupRestoreFlags = WBEM_BACKUP_RESTORE_FLAGS;
{$EXTERNALSYM TWbemBackupRestoreFlags}
const
WBEM_FLAG_BACKUP_RESTORE_DEFAULT = 0;
{$EXTERNALSYM WBEM_FLAG_BACKUP_RESTORE_DEFAULT}
WBEM_FLAG_BACKUP_RESTORE_FORCE_SHUTDOWN = 1;
{$EXTERNALSYM WBEM_FLAG_BACKUP_RESTORE_FORCE_SHUTDOWN}
type
tag_WBEM_REFRESHER_FLAGS = DWORD;
{$EXTERNALSYM tag_WBEM_REFRESHER_FLAGS}
WBEM_REFRESHER_FLAGS = tag_WBEM_REFRESHER_FLAGS;
{$EXTERNALSYM WBEM_REFRESHER_FLAGS}
TWbemRefresherFlags = WBEM_REFRESHER_FLAGS;
{$EXTERNALSYM TWbemRefresherFlags}
const
WBEM_FLAG_REFRESH_AUTO_RECONNECT = 0;
{$EXTERNALSYM WBEM_FLAG_REFRESH_AUTO_RECONNECT}
WBEM_FLAG_REFRESH_NO_AUTO_RECONNECT = 1;
{$EXTERNALSYM WBEM_FLAG_REFRESH_NO_AUTO_RECONNECT}
type
tag_WBEM_SHUTDOWN_FLAGS = DWORD;
{$EXTERNALSYM tag_WBEM_SHUTDOWN_FLAGS}
WBEM_SHUTDOWN_FLAGS = tag_WBEM_SHUTDOWN_FLAGS;
{$EXTERNALSYM WBEM_SHUTDOWN_FLAGS}
TWbemShutdownFlags = WBEM_SHUTDOWN_FLAGS;
{$EXTERNALSYM TWbemShutdownFlags}
const
WBEM_SHUTDOWN_UNLOAD_COMPONENT = 1;
{$EXTERNALSYM WBEM_SHUTDOWN_UNLOAD_COMPONENT}
WBEM_SHUTDOWN_WMI = 2;
{$EXTERNALSYM WBEM_SHUTDOWN_WMI}
WBEM_SHUTDOWN_OS = 3;
{$EXTERNALSYM WBEM_SHUTDOWN_OS}
type
CIMTYPE = LONG;
{$EXTERNALSYM CIMTYPE}
type
tag_WBEMSTATUS_FORMAT = DWORD;
{$EXTERNALSYM tag_WBEMSTATUS_FORMAT}
WBEMSTATUS_FORMAT = tag_WBEMSTATUS_FORMAT;
{$EXTERNALSYM WBEMSTATUS_FORMAT}
TWbemStatusFormat = WBEMSTATUS_FORMAT;
{$EXTERNALSYM TWbemStatusFormat}
const
WBEMSTATUS_FORMAT_NEWLINE = 0;
{$EXTERNALSYM WBEMSTATUS_FORMAT_NEWLINE}
WBEMSTATUS_FORMAT_NO_NEWLINE = 1;
{$EXTERNALSYM WBEMSTATUS_FORMAT_NO_NEWLINE}
type
tag_WBEM_LIMITS = DWORD;
{$EXTERNALSYM tag_WBEM_LIMITS}
WBEM_LIMITS = tag_WBEM_LIMITS;
{$EXTERNALSYM WBEM_LIMITS}
TWbemLimits = WBEM_LIMITS;
const
WBEM_MAX_IDENTIFIER = $1000;
{$EXTERNALSYM WBEM_MAX_IDENTIFIER}
WBEM_MAX_QUERY = $4000;
{$EXTERNALSYM WBEM_MAX_QUERY}
WBEM_MAX_PATH = $2000;
{$EXTERNALSYM WBEM_MAX_PATH}
WBEM_MAX_OBJECT_NESTING = 64;
{$EXTERNALSYM WBEM_MAX_OBJECT_NESTING}
WBEM_MAX_USER_PROPERTIES = 1024;
{$EXTERNALSYM WBEM_MAX_USER_PROPERTIES}
type
tag_WBEMSTATUS = DWORD;
{$EXTERNALSYM tag_WBEMSTATUS}
WBEMSTATUS = tag_WBEMSTATUS;
{$EXTERNALSYM WBEMSTATUS}
TWbemStatus = WBEMSTATUS;
{$EXTERNALSYM TWbemStatus}
const
WBEM_NO_ERROR = 0;
{$EXTERNALSYM WBEM_NO_ERROR}
WBEM_S_NO_ERROR = 0;
{$EXTERNALSYM WBEM_S_NO_ERROR}
WBEM_S_SAME = 0;
{$EXTERNALSYM WBEM_S_SAME}
WBEM_S_FALSE = 1;
{$EXTERNALSYM WBEM_S_FALSE}
WBEM_S_ALREADY_EXISTS = DWORD($40001);
{$EXTERNALSYM WBEM_S_ALREADY_EXISTS}
WBEM_S_RESET_TO_DEFAULT = DWORD($40002);
{$EXTERNALSYM WBEM_S_RESET_TO_DEFAULT}
WBEM_S_DIFFERENT = DWORD($40003);
{$EXTERNALSYM WBEM_S_DIFFERENT}
WBEM_S_TIMEDOUT = DWORD($40004);
{$EXTERNALSYM WBEM_S_TIMEDOUT}
WBEM_S_NO_MORE_DATA = DWORD($40005);
{$EXTERNALSYM WBEM_S_NO_MORE_DATA}
WBEM_S_OPERATION_CANCELLED = DWORD($40006);
{$EXTERNALSYM WBEM_S_OPERATION_CANCELLED}
WBEM_S_PENDING = DWORD($40007);
{$EXTERNALSYM WBEM_S_PENDING}
WBEM_S_DUPLICATE_OBJECTS = DWORD($40008);
{$EXTERNALSYM WBEM_S_DUPLICATE_OBJECTS}
WBEM_S_ACCESS_DENIED = DWORD($40009);
{$EXTERNALSYM WBEM_S_ACCESS_DENIED}
WBEM_S_PARTIAL_RESULTS = DWORD($40010);
{$EXTERNALSYM WBEM_S_PARTIAL_RESULTS}
WBEM_S_SOURCE_NOT_AVAILABLE = DWORD($40017);
{$EXTERNALSYM WBEM_S_SOURCE_NOT_AVAILABLE}
WBEM_E_FAILED = DWORD($80041001);
{$EXTERNALSYM WBEM_E_FAILED}
WBEM_E_NOT_FOUND = DWORD($80041002);
{$EXTERNALSYM WBEM_E_NOT_FOUND}
WBEM_E_ACCESS_DENIED = DWORD($80041003);
{$EXTERNALSYM WBEM_E_ACCESS_DENIED}
WBEM_E_PROVIDER_FAILURE = DWORD($80041004);
{$EXTERNALSYM WBEM_E_PROVIDER_FAILURE}
WBEM_E_TYPE_MISMATCH = DWORD($80041005);
{$EXTERNALSYM WBEM_E_TYPE_MISMATCH}
WBEM_E_OUT_OF_MEMORY = DWORD($80041006);
{$EXTERNALSYM WBEM_E_OUT_OF_MEMORY}
WBEM_E_INVALID_CONTEXT = DWORD($80041007);
{$EXTERNALSYM WBEM_E_INVALID_CONTEXT}
WBEM_E_INVALID_PARAMETER = DWORD($80041008);
{$EXTERNALSYM WBEM_E_INVALID_PARAMETER}
WBEM_E_NOT_AVAILABLE = DWORD($80041009);
{$EXTERNALSYM WBEM_E_NOT_AVAILABLE}
WBEM_E_CRITICAL_ERROR = DWORD($8004100a);
{$EXTERNALSYM WBEM_E_CRITICAL_ERROR}
WBEM_E_INVALID_STREAM = DWORD($8004100b);
{$EXTERNALSYM WBEM_E_INVALID_STREAM}
WBEM_E_NOT_SUPPORTED = DWORD($8004100c);
{$EXTERNALSYM WBEM_E_NOT_SUPPORTED}
WBEM_E_INVALID_SUPERCLASS = DWORD($8004100d);
{$EXTERNALSYM WBEM_E_INVALID_SUPERCLASS}
WBEM_E_INVALID_NAMESPACE = DWORD($8004100e);
{$EXTERNALSYM WBEM_E_INVALID_NAMESPACE}
WBEM_E_INVALID_OBJECT = DWORD($8004100f);
{$EXTERNALSYM WBEM_E_INVALID_OBJECT}
WBEM_E_INVALID_CLASS = DWORD($80041010);
{$EXTERNALSYM WBEM_E_INVALID_CLASS}
WBEM_E_PROVIDER_NOT_FOUND = DWORD($80041011);
{$EXTERNALSYM WBEM_E_PROVIDER_NOT_FOUND}
WBEM_E_INVALID_PROVIDER_REGISTRATION = DWORD($80041012);
{$EXTERNALSYM WBEM_E_INVALID_PROVIDER_REGISTRATION}
WBEM_E_PROVIDER_LOAD_FAILURE = DWORD($80041013);
{$EXTERNALSYM WBEM_E_PROVIDER_LOAD_FAILURE}
WBEM_E_INITIALIZATION_FAILURE = DWORD($80041014);
{$EXTERNALSYM WBEM_E_INITIALIZATION_FAILURE}
WBEM_E_TRANSPORT_FAILURE = DWORD($80041015);
{$EXTERNALSYM WBEM_E_TRANSPORT_FAILURE}
WBEM_E_INVALID_OPERATION = DWORD($80041016);
{$EXTERNALSYM WBEM_E_INVALID_OPERATION}
WBEM_E_INVALID_QUERY = DWORD($80041017);
{$EXTERNALSYM WBEM_E_INVALID_QUERY}
WBEM_E_INVALID_QUERY_TYPE = DWORD($80041018);
{$EXTERNALSYM WBEM_E_INVALID_QUERY_TYPE}
WBEM_E_ALREADY_EXISTS = DWORD($80041019);
{$EXTERNALSYM WBEM_E_ALREADY_EXISTS}
WBEM_E_OVERRIDE_NOT_ALLOWED = DWORD($8004101a);
{$EXTERNALSYM WBEM_E_OVERRIDE_NOT_ALLOWED}
WBEM_E_PROPAGATED_QUALIFIER = DWORD($8004101b);
{$EXTERNALSYM WBEM_E_PROPAGATED_QUALIFIER}
WBEM_E_PROPAGATED_PROPERTY = DWORD($8004101c);
{$EXTERNALSYM WBEM_E_PROPAGATED_PROPERTY}
WBEM_E_UNEXPECTED = DWORD($8004101d);
{$EXTERNALSYM WBEM_E_UNEXPECTED}
WBEM_E_ILLEGAL_OPERATION = DWORD($8004101e);
{$EXTERNALSYM WBEM_E_ILLEGAL_OPERATION}
WBEM_E_CANNOT_BE_KEY = DWORD($8004101f);
{$EXTERNALSYM WBEM_E_CANNOT_BE_KEY}
WBEM_E_INCOMPLETE_CLASS = DWORD($80041020);
{$EXTERNALSYM WBEM_E_INCOMPLETE_CLASS}
WBEM_E_INVALID_SYNTAX = DWORD($80041021);
{$EXTERNALSYM WBEM_E_INVALID_SYNTAX}
WBEM_E_NONDECORATED_OBJECT = DWORD($80041022);
{$EXTERNALSYM WBEM_E_NONDECORATED_OBJECT}
WBEM_E_READ_ONLY = DWORD($80041023);
{$EXTERNALSYM WBEM_E_READ_ONLY}
WBEM_E_PROVIDER_NOT_CAPABLE = DWORD($80041024);
{$EXTERNALSYM WBEM_E_PROVIDER_NOT_CAPABLE}
WBEM_E_CLASS_HAS_CHILDREN = DWORD($80041025);
{$EXTERNALSYM WBEM_E_CLASS_HAS_CHILDREN}
WBEM_E_CLASS_HAS_INSTANCES = DWORD($80041026);
{$EXTERNALSYM WBEM_E_CLASS_HAS_INSTANCES}
WBEM_E_QUERY_NOT_IMPLEMENTED = DWORD($80041027);
{$EXTERNALSYM WBEM_E_QUERY_NOT_IMPLEMENTED}
WBEM_E_ILLEGAL_NULL = DWORD($80041028);
{$EXTERNALSYM WBEM_E_ILLEGAL_NULL}
WBEM_E_INVALID_QUALIFIER_TYPE = DWORD($80041029);
{$EXTERNALSYM WBEM_E_INVALID_QUALIFIER_TYPE}
WBEM_E_INVALID_PROPERTY_TYPE = DWORD($8004102a);
{$EXTERNALSYM WBEM_E_INVALID_PROPERTY_TYPE}
WBEM_E_VALUE_OUT_OF_RANGE = DWORD($8004102b);
{$EXTERNALSYM WBEM_E_VALUE_OUT_OF_RANGE}
WBEM_E_CANNOT_BE_SINGLETON = DWORD($8004102c);
{$EXTERNALSYM WBEM_E_CANNOT_BE_SINGLETON}
WBEM_E_INVALID_CIM_TYPE = DWORD($8004102d);
{$EXTERNALSYM WBEM_E_INVALID_CIM_TYPE}
WBEM_E_INVALID_METHOD = DWORD($8004102e);
{$EXTERNALSYM WBEM_E_INVALID_METHOD}
WBEM_E_INVALID_METHOD_PARAMETERS = DWORD($8004102f);
{$EXTERNALSYM WBEM_E_INVALID_METHOD_PARAMETERS}
WBEM_E_SYSTEM_PROPERTY = DWORD($80041030);
{$EXTERNALSYM WBEM_E_SYSTEM_PROPERTY}
WBEM_E_INVALID_PROPERTY = DWORD($80041031);
{$EXTERNALSYM WBEM_E_INVALID_PROPERTY}
WBEM_E_CALL_CANCELLED = DWORD($80041032);
{$EXTERNALSYM WBEM_E_CALL_CANCELLED}
WBEM_E_SHUTTING_DOWN = DWORD($80041033);
{$EXTERNALSYM WBEM_E_SHUTTING_DOWN}
WBEM_E_PROPAGATED_METHOD = DWORD($80041034);
{$EXTERNALSYM WBEM_E_PROPAGATED_METHOD}
WBEM_E_UNSUPPORTED_PARAMETER = DWORD($80041035);
{$EXTERNALSYM WBEM_E_UNSUPPORTED_PARAMETER}
WBEM_E_MISSING_PARAMETER_ID = DWORD($80041036);
{$EXTERNALSYM WBEM_E_MISSING_PARAMETER_ID}
WBEM_E_INVALID_PARAMETER_ID = DWORD($80041037);
{$EXTERNALSYM WBEM_E_INVALID_PARAMETER_ID}
WBEM_E_NONCONSECUTIVE_PARAMETER_IDS = DWORD($80041038);
{$EXTERNALSYM WBEM_E_NONCONSECUTIVE_PARAMETER_IDS}
WBEM_E_PARAMETER_ID_ON_RETVAL = DWORD($80041039);
{$EXTERNALSYM WBEM_E_PARAMETER_ID_ON_RETVAL}
WBEM_E_INVALID_OBJECT_PATH = DWORD($8004103a);
{$EXTERNALSYM WBEM_E_INVALID_OBJECT_PATH}
WBEM_E_OUT_OF_DISK_SPACE = DWORD($8004103b);
{$EXTERNALSYM WBEM_E_OUT_OF_DISK_SPACE}
WBEM_E_BUFFER_TOO_SMALL = DWORD($8004103c);
{$EXTERNALSYM WBEM_E_BUFFER_TOO_SMALL}
WBEM_E_UNSUPPORTED_PUT_EXTENSION = DWORD($8004103d);
{$EXTERNALSYM WBEM_E_UNSUPPORTED_PUT_EXTENSION}
WBEM_E_UNKNOWN_OBJECT_TYPE = DWORD($8004103e);
{$EXTERNALSYM WBEM_E_UNKNOWN_OBJECT_TYPE}
WBEM_E_UNKNOWN_PACKET_TYPE = DWORD($8004103f);
{$EXTERNALSYM WBEM_E_UNKNOWN_PACKET_TYPE}
WBEM_E_MARSHAL_VERSION_MISMATCH = DWORD($80041040);
{$EXTERNALSYM WBEM_E_MARSHAL_VERSION_MISMATCH}
WBEM_E_MARSHAL_INVALID_SIGNATURE = DWORD($80041041);
{$EXTERNALSYM WBEM_E_MARSHAL_INVALID_SIGNATURE}
WBEM_E_INVALID_QUALIFIER = DWORD($80041042);
{$EXTERNALSYM WBEM_E_INVALID_QUALIFIER}
WBEM_E_INVALID_DUPLICATE_PARAMETER = DWORD($80041043);
{$EXTERNALSYM WBEM_E_INVALID_DUPLICATE_PARAMETER}
WBEM_E_TOO_MUCH_DATA = DWORD($80041044);
{$EXTERNALSYM WBEM_E_TOO_MUCH_DATA}
WBEM_E_SERVER_TOO_BUSY = DWORD($80041045);
{$EXTERNALSYM WBEM_E_SERVER_TOO_BUSY}
WBEM_E_INVALID_FLAVOR = DWORD($80041046);
{$EXTERNALSYM WBEM_E_INVALID_FLAVOR}
WBEM_E_CIRCULAR_REFERENCE = DWORD($80041047);
{$EXTERNALSYM WBEM_E_CIRCULAR_REFERENCE}
WBEM_E_UNSUPPORTED_CLASS_UPDATE = DWORD($80041048);
{$EXTERNALSYM WBEM_E_UNSUPPORTED_CLASS_UPDATE}
WBEM_E_CANNOT_CHANGE_KEY_INHERITANCE = DWORD($80041049);
{$EXTERNALSYM WBEM_E_CANNOT_CHANGE_KEY_INHERITANCE}
WBEM_E_CANNOT_CHANGE_INDEX_INHERITANCE = DWORD($80041050);
{$EXTERNALSYM WBEM_E_CANNOT_CHANGE_INDEX_INHERITANCE}
WBEM_E_TOO_MANY_PROPERTIES = DWORD($80041051);
{$EXTERNALSYM WBEM_E_TOO_MANY_PROPERTIES}
WBEM_E_UPDATE_TYPE_MISMATCH = DWORD($80041052);
{$EXTERNALSYM WBEM_E_UPDATE_TYPE_MISMATCH}
WBEM_E_UPDATE_OVERRIDE_NOT_ALLOWED = DWORD($80041053);
{$EXTERNALSYM WBEM_E_UPDATE_OVERRIDE_NOT_ALLOWED}
WBEM_E_UPDATE_PROPAGATED_METHOD = DWORD($80041054);
{$EXTERNALSYM WBEM_E_UPDATE_PROPAGATED_METHOD}
WBEM_E_METHOD_NOT_IMPLEMENTED = DWORD($80041055);
{$EXTERNALSYM WBEM_E_METHOD_NOT_IMPLEMENTED}
WBEM_E_METHOD_DISABLED = DWORD($80041056);
{$EXTERNALSYM WBEM_E_METHOD_DISABLED}
WBEM_E_REFRESHER_BUSY = DWORD($80041057);
{$EXTERNALSYM WBEM_E_REFRESHER_BUSY}
WBEM_E_UNPARSABLE_QUERY = DWORD($80041058);
{$EXTERNALSYM WBEM_E_UNPARSABLE_QUERY}
WBEM_E_NOT_EVENT_CLASS = DWORD($80041059);
{$EXTERNALSYM WBEM_E_NOT_EVENT_CLASS}
WBEM_E_MISSING_GROUP_WITHIN = DWORD($8004105a);
{$EXTERNALSYM WBEM_E_MISSING_GROUP_WITHIN}
WBEM_E_MISSING_AGGREGATION_LIST = DWORD($8004105b);
{$EXTERNALSYM WBEM_E_MISSING_AGGREGATION_LIST}
WBEM_E_PROPERTY_NOT_AN_OBJECT = DWORD($8004105c);
{$EXTERNALSYM WBEM_E_PROPERTY_NOT_AN_OBJECT}
WBEM_E_AGGREGATING_BY_OBJECT = DWORD($8004105d);
{$EXTERNALSYM WBEM_E_AGGREGATING_BY_OBJECT}
WBEM_E_UNINTERPRETABLE_PROVIDER_QUERY = DWORD($8004105f);
{$EXTERNALSYM WBEM_E_UNINTERPRETABLE_PROVIDER_QUERY}
WBEM_E_BACKUP_RESTORE_WINMGMT_RUNNING = DWORD($80041060);
{$EXTERNALSYM WBEM_E_BACKUP_RESTORE_WINMGMT_RUNNING}
WBEM_E_QUEUE_OVERFLOW = DWORD($80041061);
{$EXTERNALSYM WBEM_E_QUEUE_OVERFLOW}
WBEM_E_PRIVILEGE_NOT_HELD = DWORD($80041062);
{$EXTERNALSYM WBEM_E_PRIVILEGE_NOT_HELD}
WBEM_E_INVALID_OPERATOR = DWORD($80041063);
{$EXTERNALSYM WBEM_E_INVALID_OPERATOR}
WBEM_E_LOCAL_CREDENTIALS = DWORD($80041064);
{$EXTERNALSYM WBEM_E_LOCAL_CREDENTIALS}
WBEM_E_CANNOT_BE_ABSTRACT = DWORD($80041065);
{$EXTERNALSYM WBEM_E_CANNOT_BE_ABSTRACT}
WBEM_E_AMENDED_OBJECT = DWORD($80041066);
{$EXTERNALSYM WBEM_E_AMENDED_OBJECT}
WBEM_E_CLIENT_TOO_SLOW = DWORD($80041067);
{$EXTERNALSYM WBEM_E_CLIENT_TOO_SLOW}
WBEM_E_NULL_SECURITY_DESCRIPTOR = DWORD($80041068);
{$EXTERNALSYM WBEM_E_NULL_SECURITY_DESCRIPTOR}
WBEM_E_TIMED_OUT = DWORD($80041069);
{$EXTERNALSYM WBEM_E_TIMED_OUT}
WBEM_E_INVALID_ASSOCIATION = DWORD($8004106a);
{$EXTERNALSYM WBEM_E_INVALID_ASSOCIATION}
WBEM_E_AMBIGUOUS_OPERATION = DWORD($8004106b);
{$EXTERNALSYM WBEM_E_AMBIGUOUS_OPERATION}
WBEM_E_QUOTA_VIOLATION = DWORD($8004106c);
{$EXTERNALSYM WBEM_E_QUOTA_VIOLATION}
WBEM_E_RESERVED_001 = DWORD($8004106d);
{$EXTERNALSYM WBEM_E_RESERVED_001}
WBEM_E_RESERVED_002 = DWORD($8004106e);
{$EXTERNALSYM WBEM_E_RESERVED_002}
WBEM_E_UNSUPPORTED_LOCALE = DWORD($8004106f);
{$EXTERNALSYM WBEM_E_UNSUPPORTED_LOCALE}
WBEM_E_HANDLE_OUT_OF_DATE = DWORD($80041070);
{$EXTERNALSYM WBEM_E_HANDLE_OUT_OF_DATE}
WBEM_E_CONNECTION_FAILED = DWORD($80041071);
{$EXTERNALSYM WBEM_E_CONNECTION_FAILED}
WBEM_E_INVALID_HANDLE_REQUEST = DWORD($80041072);
{$EXTERNALSYM WBEM_E_INVALID_HANDLE_REQUEST}
WBEM_E_PROPERTY_NAME_TOO_WIDE = DWORD($80041073);
{$EXTERNALSYM WBEM_E_PROPERTY_NAME_TOO_WIDE}
WBEM_E_CLASS_NAME_TOO_WIDE = DWORD($80041074);
{$EXTERNALSYM WBEM_E_CLASS_NAME_TOO_WIDE}
WBEM_E_METHOD_NAME_TOO_WIDE = DWORD($80041075);
{$EXTERNALSYM WBEM_E_METHOD_NAME_TOO_WIDE}
WBEM_E_QUALIFIER_NAME_TOO_WIDE = DWORD($80041076);
{$EXTERNALSYM WBEM_E_QUALIFIER_NAME_TOO_WIDE}
WBEM_E_RERUN_COMMAND = DWORD($80041077);
{$EXTERNALSYM WBEM_E_RERUN_COMMAND}
WBEM_E_DATABASE_VER_MISMATCH = DWORD($80041078);
{$EXTERNALSYM WBEM_E_DATABASE_VER_MISMATCH}
WBEM_E_VETO_DELETE = DWORD($80041079);
{$EXTERNALSYM WBEM_E_VETO_DELETE}
WBEM_E_VETO_PUT = DWORD($8004107a);
{$EXTERNALSYM WBEM_E_VETO_PUT}
WBEM_E_INVALID_LOCALE = DWORD($80041080);
{$EXTERNALSYM WBEM_E_INVALID_LOCALE}
WBEM_E_PROVIDER_SUSPENDED = DWORD($80041081);
{$EXTERNALSYM WBEM_E_PROVIDER_SUSPENDED}
WBEM_E_SYNCHRONIZATION_REQUIRED = DWORD($80041082);
{$EXTERNALSYM WBEM_E_SYNCHRONIZATION_REQUIRED}
WBEM_E_NO_SCHEMA = DWORD($80041083);
{$EXTERNALSYM WBEM_E_NO_SCHEMA}
WBEM_E_PROVIDER_ALREADY_REGISTERED = DWORD($80041084);
{$EXTERNALSYM WBEM_E_PROVIDER_ALREADY_REGISTERED}
WBEM_E_PROVIDER_NOT_REGISTERED = DWORD($80041085);
{$EXTERNALSYM WBEM_E_PROVIDER_NOT_REGISTERED}
WBEM_E_FATAL_TRANSPORT_ERROR = DWORD($80041086);
{$EXTERNALSYM WBEM_E_FATAL_TRANSPORT_ERROR}
WBEM_E_ENCRYPTED_CONNECTION_REQUIRED = DWORD($80041087);
{$EXTERNALSYM WBEM_E_ENCRYPTED_CONNECTION_REQUIRED}
WBEM_E_PROVIDER_TIMED_OUT = DWORD($80041088);
{$EXTERNALSYM WBEM_E_PROVIDER_TIMED_OUT}
WBEM_E_NO_KEY = DWORD($80041089);
{$EXTERNALSYM WBEM_E_NO_KEY}
WBEM_E_PROVIDER_DISABLED = DWORD($8004108a);
{$EXTERNALSYM WBEM_E_PROVIDER_DISABLED}
WBEMESS_E_REGISTRATION_TOO_BROAD = DWORD($80042001);
{$EXTERNALSYM WBEMESS_E_REGISTRATION_TOO_BROAD}
WBEMESS_E_REGISTRATION_TOO_PRECISE = DWORD($80042002);
{$EXTERNALSYM WBEMESS_E_REGISTRATION_TOO_PRECISE}
WBEMMOF_E_EXPECTED_QUALIFIER_NAME = DWORD($80044001);
{$EXTERNALSYM WBEMMOF_E_EXPECTED_QUALIFIER_NAME}
WBEMMOF_E_EXPECTED_SEMI = DWORD($80044002);
{$EXTERNALSYM WBEMMOF_E_EXPECTED_SEMI}
WBEMMOF_E_EXPECTED_OPEN_BRACE = DWORD($80044003);
{$EXTERNALSYM WBEMMOF_E_EXPECTED_OPEN_BRACE}
WBEMMOF_E_EXPECTED_CLOSE_BRACE = DWORD($80044004);
{$EXTERNALSYM WBEMMOF_E_EXPECTED_CLOSE_BRACE}
WBEMMOF_E_EXPECTED_CLOSE_BRACKET = DWORD($80044005);
{$EXTERNALSYM WBEMMOF_E_EXPECTED_CLOSE_BRACKET}
WBEMMOF_E_EXPECTED_CLOSE_PAREN = DWORD($80044006);
{$EXTERNALSYM WBEMMOF_E_EXPECTED_CLOSE_PAREN}
WBEMMOF_E_ILLEGAL_CONSTANT_VALUE = DWORD($80044007);
{$EXTERNALSYM WBEMMOF_E_ILLEGAL_CONSTANT_VALUE}
WBEMMOF_E_EXPECTED_TYPE_IDENTIFIER = DWORD($80044008);
{$EXTERNALSYM WBEMMOF_E_EXPECTED_TYPE_IDENTIFIER}
WBEMMOF_E_EXPECTED_OPEN_PAREN = DWORD($80044009);
{$EXTERNALSYM WBEMMOF_E_EXPECTED_OPEN_PAREN}
WBEMMOF_E_UNRECOGNIZED_TOKEN = DWORD($8004400a);
{$EXTERNALSYM WBEMMOF_E_UNRECOGNIZED_TOKEN}
WBEMMOF_E_UNRECOGNIZED_TYPE = DWORD($8004400b);
{$EXTERNALSYM WBEMMOF_E_UNRECOGNIZED_TYPE}
WBEMMOF_E_EXPECTED_PROPERTY_NAME = DWORD($8004400c);
{$EXTERNALSYM WBEMMOF_E_EXPECTED_PROPERTY_NAME}
WBEMMOF_E_TYPEDEF_NOT_SUPPORTED = DWORD($8004400d);
{$EXTERNALSYM WBEMMOF_E_TYPEDEF_NOT_SUPPORTED}
WBEMMOF_E_UNEXPECTED_ALIAS = DWORD($8004400e);
{$EXTERNALSYM WBEMMOF_E_UNEXPECTED_ALIAS}
WBEMMOF_E_UNEXPECTED_ARRAY_INIT = DWORD($8004400f);
{$EXTERNALSYM WBEMMOF_E_UNEXPECTED_ARRAY_INIT}
WBEMMOF_E_INVALID_AMENDMENT_SYNTAX = DWORD($80044010);
{$EXTERNALSYM WBEMMOF_E_INVALID_AMENDMENT_SYNTAX}
WBEMMOF_E_INVALID_DUPLICATE_AMENDMENT = DWORD($80044011);
{$EXTERNALSYM WBEMMOF_E_INVALID_DUPLICATE_AMENDMENT}
WBEMMOF_E_INVALID_PRAGMA = DWORD($80044012);
{$EXTERNALSYM WBEMMOF_E_INVALID_PRAGMA}
WBEMMOF_E_INVALID_NAMESPACE_SYNTAX = DWORD($80044013);
{$EXTERNALSYM WBEMMOF_E_INVALID_NAMESPACE_SYNTAX}
WBEMMOF_E_EXPECTED_CLASS_NAME = DWORD($80044014);
{$EXTERNALSYM WBEMMOF_E_EXPECTED_CLASS_NAME}
WBEMMOF_E_TYPE_MISMATCH = DWORD($80044015);
{$EXTERNALSYM WBEMMOF_E_TYPE_MISMATCH}
WBEMMOF_E_EXPECTED_ALIAS_NAME = DWORD($80044016);
{$EXTERNALSYM WBEMMOF_E_EXPECTED_ALIAS_NAME}
WBEMMOF_E_INVALID_CLASS_DECLARATION = DWORD($80044017);
{$EXTERNALSYM WBEMMOF_E_INVALID_CLASS_DECLARATION}
WBEMMOF_E_INVALID_INSTANCE_DECLARATION = DWORD($80044018);
{$EXTERNALSYM WBEMMOF_E_INVALID_INSTANCE_DECLARATION}
WBEMMOF_E_EXPECTED_DOLLAR = DWORD($80044019);
{$EXTERNALSYM WBEMMOF_E_EXPECTED_DOLLAR}
WBEMMOF_E_CIMTYPE_QUALIFIER = DWORD($8004401a);
{$EXTERNALSYM WBEMMOF_E_CIMTYPE_QUALIFIER}
WBEMMOF_E_DUPLICATE_PROPERTY = DWORD($8004401b);
{$EXTERNALSYM WBEMMOF_E_DUPLICATE_PROPERTY}
WBEMMOF_E_INVALID_NAMESPACE_SPECIFICATION = DWORD($8004401c);
{$EXTERNALSYM WBEMMOF_E_INVALID_NAMESPACE_SPECIFICATION}
WBEMMOF_E_OUT_OF_RANGE = DWORD($8004401d);
{$EXTERNALSYM WBEMMOF_E_OUT_OF_RANGE}
WBEMMOF_E_INVALID_FILE = DWORD($8004401e);
{$EXTERNALSYM WBEMMOF_E_INVALID_FILE}
WBEMMOF_E_ALIASES_IN_EMBEDDED = DWORD($8004401f);
{$EXTERNALSYM WBEMMOF_E_ALIASES_IN_EMBEDDED}
WBEMMOF_E_NULL_ARRAY_ELEM = DWORD($80044020);
{$EXTERNALSYM WBEMMOF_E_NULL_ARRAY_ELEM}
WBEMMOF_E_DUPLICATE_QUALIFIER = DWORD($80044021);
{$EXTERNALSYM WBEMMOF_E_DUPLICATE_QUALIFIER}
WBEMMOF_E_EXPECTED_FLAVOR_TYPE = DWORD($80044022);
{$EXTERNALSYM WBEMMOF_E_EXPECTED_FLAVOR_TYPE}
WBEMMOF_E_INCOMPATIBLE_FLAVOR_TYPES = DWORD($80044023);
{$EXTERNALSYM WBEMMOF_E_INCOMPATIBLE_FLAVOR_TYPES}
WBEMMOF_E_MULTIPLE_ALIASES = DWORD($80044024);
{$EXTERNALSYM WBEMMOF_E_MULTIPLE_ALIASES}
WBEMMOF_E_INCOMPATIBLE_FLAVOR_TYPES2 = DWORD($80044025);
{$EXTERNALSYM WBEMMOF_E_INCOMPATIBLE_FLAVOR_TYPES2}
WBEMMOF_E_NO_ARRAYS_RETURNED = DWORD($80044026);
{$EXTERNALSYM WBEMMOF_E_NO_ARRAYS_RETURNED}
WBEMMOF_E_MUST_BE_IN_OR_OUT = DWORD($80044027);
{$EXTERNALSYM WBEMMOF_E_MUST_BE_IN_OR_OUT}
WBEMMOF_E_INVALID_FLAGS_SYNTAX = DWORD($80044028);
{$EXTERNALSYM WBEMMOF_E_INVALID_FLAGS_SYNTAX}
WBEMMOF_E_EXPECTED_BRACE_OR_BAD_TYPE = DWORD($80044029);
{$EXTERNALSYM WBEMMOF_E_EXPECTED_BRACE_OR_BAD_TYPE}
WBEMMOF_E_UNSUPPORTED_CIMV22_QUAL_VALUE = DWORD($8004402a);
{$EXTERNALSYM WBEMMOF_E_UNSUPPORTED_CIMV22_QUAL_VALUE}
WBEMMOF_E_UNSUPPORTED_CIMV22_DATA_TYPE = DWORD($8004402b);
{$EXTERNALSYM WBEMMOF_E_UNSUPPORTED_CIMV22_DATA_TYPE}
WBEMMOF_E_INVALID_DELETEINSTANCE_SYNTAX = DWORD($8004402c);
{$EXTERNALSYM WBEMMOF_E_INVALID_DELETEINSTANCE_SYNTAX}
WBEMMOF_E_INVALID_QUALIFIER_SYNTAX = DWORD($8004402d);
{$EXTERNALSYM WBEMMOF_E_INVALID_QUALIFIER_SYNTAX}
WBEMMOF_E_QUALIFIER_USED_OUTSIDE_SCOPE = DWORD($8004402e);
{$EXTERNALSYM WBEMMOF_E_QUALIFIER_USED_OUTSIDE_SCOPE}
WBEMMOF_E_ERROR_CREATING_TEMP_FILE = DWORD($8004402f);
{$EXTERNALSYM WBEMMOF_E_ERROR_CREATING_TEMP_FILE}
WBEMMOF_E_ERROR_INVALID_INCLUDE_FILE = DWORD($80044030);
{$EXTERNALSYM WBEMMOF_E_ERROR_INVALID_INCLUDE_FILE}
WBEMMOF_E_INVALID_DELETECLASS_SYNTAX = DWORD($80044031);
{$EXTERNALSYM WBEMMOF_E_INVALID_DELETECLASS_SYNTAX}
//const
//EXTERN_C const IID LIBID_WbemClient_v1;
const
IID_IWbemClassObject: TGUID = '{dc12a681-737f-11cf-884d-00aa004b2e24}';
{$EXTERNALSYM IID_IWbemClassObject}
IID_IWbemObjectAccess: TGUID = '{49353c9a-516b-11d1-aea6-00c04fb68820}';
{$EXTERNALSYM IID_IWbemObjectAccess}
IID_IWbemQualifierSet: TGUID = '{dc12a680-737f-11cf-884d-00aa004b2e24}';
{$EXTERNALSYM IID_IWbemQualifierSet}
IID_IWbemServices: TGUID = '{9556dc99-828c-11cf-a37e-00aa003240c7}';
{$EXTERNALSYM IID_IWbemServices}
IID_IWbemLocator: TGUID = '{dc12a687-737f-11cf-884d-00aa004b2e24}';
{$EXTERNALSYM IID_IWbemLocator}
IID_IWbemObjectSink: TGUID = '{7c857801-7381-11cf-884d-00aa004b2e24}';
{$EXTERNALSYM IID_IWbemObjectSink}
IID_IEnumWbemClassObject: TGUID = '{027947e1-d731-11ce-a357-000000000001}';
{$EXTERNALSYM IID_IEnumWbemClassObject}
IID_IWbemCallResult: TGUID = '{44aca675-e8fc-11d0-a07c-00c04fb68820}';
{$EXTERNALSYM IID_IWbemCallResult}
IID_IWbemContext: TGUID = '{44aca674-e8fc-11d0-a07c-00c04fb68820}';
{$EXTERNALSYM IID_IWbemContext}
IID_IUnsecuredApartment: TGUID = '{1cfaba8c-1523-11d1-ad79-00c04fd8fdff}';
{$EXTERNALSYM IID_IUnsecuredApartment}
IID_IWbemUnsecuredApartment: TGUID = '{31739d04-3471-4cf4-9a7c-57a44ae71956}';
{$EXTERNALSYM IID_IWbemUnsecuredApartment}
IID_IWbemStatusCodeText: TGUID = '{eb87e1bc-3233-11d2-aec9-00c04fb68820}';
{$EXTERNALSYM IID_IWbemStatusCodeText}
IID_IWbemBackupRestore: TGUID = '{C49E32C7-BC8B-11d2-85D4-00105A1F8304}';
{$EXTERNALSYM IID_IWbemBackupRestore}
IID_IWbemBackupRestoreEx: TGUID = '{A359DEC5-E813-4834-8A2A-BA7F1D777D76}';
{$EXTERNALSYM IID_IWbemBackupRestoreEx}
IID_IWbemRefresher: TGUID = '{49353c99-516b-11d1-aea6-00c04fb68820}';
{$EXTERNALSYM IID_IWbemRefresher}
IID_IWbemHiPerfEnum: TGUID = '{2705C288-79AE-11d2-B348-00105A1F8177}';
{$EXTERNALSYM IID_IWbemHiPerfEnum}
IID_IWbemConfigureRefresher: TGUID = '{49353c92-516b-11d1-aea6-00c04fb68820}';
{$EXTERNALSYM IID_IWbemConfigureRefresher}
type
// forward declarations
IWbemQualifierSet = interface;
IWbemContext = interface;
IWbemCallResult = interface;
IWbemObjectSink = interface;
IEnumWbemClassObject = interface;
IWbemClassObject = interface(IUnknown)
['{dc12a681-737f-11cf-884d-00aa004b2e24}']
function GetQualifierSet(out ppQualSet: IWbemQualifierSet): HRESULT; stdcall;
function Get(wszName: LPCWSTR; lFlags: Longint; var pVal: OleVariant; var pType: CIMTYPE; var plFlavor: Longint): HRESULT; stdcall;
function Put(wszName: LPCWSTR; lFlags: Longint; pVal: POleVariant; Type_: CIMTYPE): HRESULT; stdcall;
function Delete(wszName: LPCWSTR): HRESULT; stdcall;
function GetNames(wszQualifierName: LPCWSTR; lFlags: Longint; pQualifierVal: POleVariant; out pNames: PSafeArray): HRESULT; stdcall;
function BeginEnumeration(lEnumFlags: Longint): HRESULT; stdcall;
function Next(lFlags: Longint; var strName: WideString; var pVal: OleVariant; var pType: CIMTYPE; var plFlavor: Longint): HRESULT; stdcall;
function EndEnumeration: HRESULT; stdcall;
function GetPropertyQualifierSet(wszProperty: LPCWSTR; out ppQualSet: IWbemQualifierSet): HRESULT; stdcall;
function Clone(out ppCopy: IWbemClassObject): HRESULT; stdcall;
function GetObjectText(lFlags: Longint; out pstrObjectText: WideString): HRESULT; stdcall;
function SpawnDerivedClass(lFlags: Longint; out ppNewClass: IWbemClassObject): HRESULT; stdcall;
function SpawnInstance(lFlags: Longint; out ppNewInstance: IWbemClassObject): HRESULT; stdcall;
function CompareTo(lFlags: Longint; pCompareTo: IWbemClassObject): HRESULT; stdcall;
function GetPropertyOrigin(wszName: LPCWSTR; out pstrClassName: WideString): HRESULT; stdcall;
function InheritsFrom(strAncestor: LPCWSTR): HRESULT; stdcall;
function GetMethod(wszName: LPCWSTR; lFlags: Longint; out ppInSignature, ppOutSignature: IWbemClassObject): HRESULT; stdcall;
function PutMethod(wszName: LPCWSTR; lFlags: Longint; pInSignature, pOutSignature: IWbemClassObject): HRESULT; stdcall;
function DeleteMethod(wszName: LPCWSTR): HRESULT; stdcall;
function BeginMethodEnumeration(lEnumFlags: Longint): HRESULT; stdcall;
function NextMethod(lFlags: Longint; var pstrName: WideString; var ppInSignature, ppOutSignature: IWbemClassObject): HRESULT; stdcall;
function EndMethodEnumeration: HRESULT; stdcall;
function GetMethodQualifierSet(wszMethod: LPCWSTR; out ppQualSet: IWbemQualifierSet): HRESULT; stdcall;
function GetMethodOrigin(wszMethodName: LPCWSTR; out pstrClassName: WideString): HRESULT; stdcall;
end;
{$EXTERNALSYM IWbemClassObject}
IWbemObjectAccess = interface(IWbemClassObject)
['{49353c9a-516b-11d1-aea6-00c04fb68820}']
function GetPropertyHandle(wszPropertyName: LPCWSTR; out pType: CIMTYPE; out plHandle: Longint): HRESULT; stdcall;
function WritePropertyValue(lHandle, lNumBytes: Longint; aData: LPBYTE): HRESULT; stdcall;
function ReadPropertyValue(lHandle, lBufferSize: Longint; out plNumBytes: Longint; aData: LPBYTE): HRESULT; stdcall;
function ReadDWORD(lHandle: Longint; out pdw: DWORD): HRESULT; stdcall;
function WriteDWORD(lHandle: Longint; dw: DWORD): HRESULT; stdcall;
function ReadQWORD(lHandle: Longint; out pqw: Int64): HRESULT; stdcall;
function WriteQWORD(lHandle: Longint; pw: Int64): HRESULT; stdcall;
function GetPropertyInfoByHandle(lHandle: Longint; out pstrName: WideString; out pType: CIMTYPE): HRESULT; stdcall;
function Lock(lFlags: Longint): HRESULT; stdcall;
function Unlock(lFlags: Longint): HRESULT; stdcall;
end;
{$EXTERNALSYM IWbemObjectAccess}
IWbemQualifierSet = interface(IUnknown)
['{dc12a680-737f-11cf-884d-00aa004b2e24}']
function Get(wszName: LPCWSTR; lFlags: Longint; var pVal: OleVariant; var plFlavor: Longint): HRESULT; stdcall;
function Put(wszName: LPCWSTR; pVal: POleVariant; lFlavor: Longint): HRESULT; stdcall;
function Delete(wszName: LPCWSTR): HRESULT; stdcall;
function GetNames(lFlags: Longint; out pNames: PSafeArray): HRESULT; stdcall;
function BeginEnumeration(lFlags: Longint): HRESULT; stdcall;
function Next(lFlags: Longint; var pstrName: WideString; var pVal: OleVariant; var plFlavor: Longint): HRESULT; stdcall;
function EndEnumeration: HRESULT; stdcall;
end;
{$EXTERNALSYM IWbemQualifierSet}
IWbemServices = interface(IUnknown)
['{9556dc99-828c-11cf-a37e-00aa003240c7}']
function OpenNamespace(strNamespace: WideString; lFlags: Longint; pCtx: IWbemContext; out ppWorkingNamespace: IWbemServices; out ppResult: IWbemCallResult): HRESULT; stdcall;
function CancelAsyncCall(pSink: IWbemObjectSink): HRESULT; stdcall;
function QueryObjectSink(lFlags: Longint; out ppResponseHandler: IWbemObjectSink): HRESULT; stdcall;
function GetObject(strObjectPath: WideString; lFlags: Longint; pCtx: IWbemContext; out ppObject: IWbemClassObject; out ppCallResult: IWbemCallResult): HRESULT; stdcall;
function GetObjectAsync(strObjectPath: WideString; lFlags: Longint; pCtx: IWbemContext; pResponseHandler: IWbemObjectSink): HRESULT; stdcall;
function PutClass(pObject: IWbemClassObject; lFlags: Longint; pCtx: IWbemContext; out ppCallResult: IWbemCallResult): HRESULT; stdcall;
function PutClassAsync(pObject: IWbemClassObject; lFlags: Longint; pCtx: IWbemContext; pResponseHandler: IWbemObjectSink): HRESULT; stdcall;
function DeleteClass(strClass: WideString; lFlags: Longint; pCtx: IWbemContext; out ppCallResult: IWbemCallResult): HRESULT; stdcall;
function DeleteClassAsync(strClass: WideString; lFlags: Longint; pCtx: IWbemContext; pResponseHandler: IWbemObjectSink): HRESULT; stdcall;
function CreateClassEnum(strSuperclass: WideString; lFlags: Longint; pCtx: IWbemContext; out ppEnum: IEnumWbemClassObject): HRESULT; stdcall;
function CreateClassEnumAsync(strSuperclass: WideString; lFlags: Longint; pCtx: IWbemContext; pResponseHandler: IWbemObjectSink): HRESULT; stdcall;
function PutInstance(pInst: IWbemClassObject; lFlags: Longint; pCtx: IWbemContext; out ppCallResult: IWbemCallResult): HRESULT; stdcall;
function PutInstanceAsync(pInst: IWbemClassObject; lFlags: Longint; pCtx: IWbemContext; pResponseHandler: IWbemObjectSink): HRESULT; stdcall;
function DeleteInstance(strObjectPath: WideString; lFlags: Longint; pCtx: IWbemContext; out ppCallResult: IWbemCallResult): HRESULT; stdcall;
function DeleteInstanceAsync(strObjectPath: WideString; lFlags: Longint; pCtx: IWbemContext; pResponseHandler: IWbemObjectSink): HRESULT; stdcall;
function CreateInstanceEnum(strFilter: WideString; lFlags: Longint; pCtx: IWbemContext; out ppEnum: IEnumWbemClassObject): HRESULT; stdcall;
function CreateInstanceEnumAsync(strFilter: WideString; lFlags: Longint; pCtx: IWbemContext; pResponseHandler: IWbemObjectSink): HRESULT; stdcall;
function ExecQuery(strQueryLanguage, strQuery: WideString; lFlags: Longint; pCtx: IWbemContext; out ppEnum: IEnumWbemClassObject): HRESULT; stdcall;
function ExecQueryAsync(strQueryLanguage, strQuery: WideString; lFlags: Longint; pCtx: IWbemContext; pResponseHandler: IWbemObjectSink): HRESULT; stdcall;
function ExecNotificationQuery(strQueryLanguage, strQuery: WideString; lFlags: Longint; pCtx: IWbemContext; out ppEnum: IEnumWbemClassObject): HRESULT; stdcall;
function ExecNotificationQueryAsync(strQueryLanguage, strQuery: WideString; lFlags: Longint; pCtx: IWbemContext; pResponseHandler: IWbemObjectSink): HRESULT; stdcall;
function ExecMethod(strObjectPath, strMethodName: WideString; lFlags: Longint; pCtx: IWbemContext; pInParams: IWbemClassObject; out ppOutParams: IWbemClassObject; out ppCallResult: IWbemCallResult): HRESULT; stdcall;
function ExecMethodAsync(strObjectPath, strMethodName: WideString; lFlags: Longint; pCtx: IWbemContext; pInParams: IWbemClassObject; pResponseHandler: IWbemObjectSink): HRESULT; stdcall;
end;
{$EXTERNALSYM IWbemServices}
IWbemLocator = interface(IUnknown)
['{dc12a687-737f-11cf-884d-00aa004b2e24}']
function ConnectServer(strNetworkResource, strUser, strPassword, strLocale: WideString; lSecurityFlags: Longint;
strAuthority: WideString; pCtx: IWbemContext; out ppNamespace: IWbemServices): HRESULT; stdcall;
end;
{$EXTERNALSYM IWbemLocator}
IWbemObjectSink = interface(IUnknown)
['{7c857801-7381-11cf-884d-00aa004b2e24}']
function Indicate(lObjectCount: Longint; var apObjArray: IWbemClassObject{todo}): HRESULT; stdcall;
function SetStatus(lFlags: Longint; hResult: HRESULT; strParam: WideString; pObjParam: IWbemClassObject): HRESULT; stdcall;
end;
{$EXTERNALSYM IWbemObjectSink}
IEnumWbemClassObject = interface(IUnknown)
['{027947e1-d731-11ce-a357-000000000001}']
function Reset: HRESULT; stdcall;
function Next(lTimeout: Longint; uCount: ULONG; out apObjects: IWbemClassObject; out puReturned: ULONG): HRESULT; stdcall;
function NextAsync(uCount: ULONG; pSink: IWbemObjectSink): HRESULT; stdcall;
function Clone(out ppEnum: IEnumWbemClassObject): HRESULT; stdcall;
function Skip(lTimeout: Longint; nCount: ULONG): HRESULT; stdcall;
end;
{$EXTERNALSYM IEnumWbemClassObject}
IWbemCallResult = interface(IUnknown)
['{44aca675-e8fc-11d0-a07c-00c04fb68820}']
function GetResultObject(lTimeout: Longint; out ppResultObject: IWbemClassObject): HRESULT; stdcall;
function GetResultString(lTimeout: Longint; out pstrResultString: WideString): HRESULT; stdcall;
function GetResultServices(lTimeout: Longint; out ppServices: IWbemServices): HRESULT; stdcall;
function GetCallStatus(lTimeout: Longint; out plStatus: Longint): HRESULT; stdcall;
end;
{$EXTERNALSYM IWbemCallResult}
IWbemContext = interface(IUnknown)
['{44aca674-e8fc-11d0-a07c-00c04fb68820}']
function Clone(out ppNewCopy: IWbemContext): HRESULT; stdcall;
function GetNames(lFlags: Longint; out pNames: PSafeArray): HRESULT; stdcall;
function BeginEnumeration(lFlags: Longint): HRESULT; stdcall;
function Next(lFlags: Longint; out pstrName: WideString; out pValue: OleVariant): HRESULT; stdcall;
function EndEnumeration: HRESULT; stdcall;
function SetValue(wszName: LPCWSTR; lFlags: Longint; pValue: POleVariant): HRESULT; stdcall;
function GetValue(wszName: LPCWSTR; lFlags: Longint; out pValue: OleVariant): HRESULT; stdcall;
function DeleteValue(wszName: LPCWSTR; lFlags: Longint): HRESULT; stdcall;
function DeleteAll: HRESULT; stdcall;
end;
{$EXTERNALSYM IWbemContext}
IUnsecuredApartment = interface(IUnknown)
['{1cfaba8c-1523-11d1-ad79-00c04fd8fdff}']
function CreateObjectStub(pObject: IUnknown; out ppStub: IUnknown): HRESULT; stdcall;
end;
{$EXTERNALSYM IUnsecuredApartment}
IWbemUnsecuredApartment = interface(IUnsecuredApartment)
['{31739d04-3471-4cf4-9a7c-57a44ae71956}']
function CreateSinkStub(pSink: IWbemObjectSink; dwFlags: DWORD; wszReserved: LPCWSTR; out ppStub: IWbemObjectSink): HRESULT; stdcall;
end;
{$EXTERNALSYM IWbemUnsecuredApartment}
IWbemStatusCodeText = interface(IUnknown)
['{eb87e1bc-3233-11d2-aec9-00c04fb68820}']
function GetErrorCodeText(hRes: HRESULT; LocaleId: LCID; lFlags: Longint; out MessageText: WideString): HRESULT; stdcall;
function GetFacilityCodeText(hRes: HRESULT; LocaleId: LCID; lFlags: Longint; out MessageText: WideString): HRESULT; stdcall;
end;
{$EXTERNALSYM IWbemStatusCodeText}
IWbemBackupRestore = interface(IUnknown)
['{C49E32C7-BC8B-11d2-85D4-00105A1F8304}']
function Backup(strBackupToFile: LPCWSTR; lFlags: Longint): HRESULT; stdcall;
function Restore(strRestoreFromFile: LPCWSTR; lFlags: Longint): HRESULT; stdcall;
end;
{$EXTERNALSYM IWbemBackupRestore}
IWbemBackupRestoreEx = interface(IWbemBackupRestore)
['{A359DEC5-E813-4834-8A2A-BA7F1D777D76}']
function Pause: HRESULT; stdcall;
function Resume: HRESULT; stdcall;
end;
{$EXTERNALSYM IWbemBackupRestoreEx}
IWbemRefresher = interface(IUnknown)
['{49353c99-516b-11d1-aea6-00c04fb68820}']
function Refresh(lFlags: Longint): HRESULT; stdcall;
end;
{$EXTERNALSYM IWbemRefresher}
PIWbemObjectAccess = ^IWbemObjectAccess;
PLongint = ^Longint; // TODO PLongint introduced in Delphi 6
IWbemHiPerfEnum = interface(IUnknown)
['{2705C288-79AE-11d2-B348-00105A1F8177}']
function AddObjects(lFlags: Longint; uNumObjects: ULONG; apIds: PLongint; apObj: PIWbemObjectAccess): HRESULT; stdcall;
function RemoveObjects(lFlags: Longint; uNumObjects: ULONG; apIds: PLongint): HRESULT; stdcall;
function GetObjects(lFlags: Longint; uNumObjects: ULONG; out apObj: IWbemObjectAccess; out puReturned: ULONG): HRESULT; stdcall;
function RemoveAll(lFlags: Longint): HRESULT; stdcall;
end;
{$EXTERNALSYM IWbemHiPerfEnum}
IWbemConfigureRefresher = interface(IUnknown)
['{49353c92-516b-11d1-aea6-00c04fb68820}']
function AddObjectByPath(pNamespace: IWbemServices; wszPath: LPCWSTR; lFlags: Longint; pContext: IWbemContext; out ppRefreshable: IWbemClassObject; var plId: Longint): HRESULT; stdcall;
function AddObjectByTemplate(pNamespace: IWbemServices; pTemplate: IWbemClassObject; lFlags: Longint; pContext: IWbemContext; out ppRefreshable: IWbemClassObject; var plId: Longint): HRESULT; stdcall;
function AddRefresher(pRefresher: IWbemRefresher; lFlags: Longint; var plId: Longint): HRESULT; stdcall;
function Remove(lId, lFlags: Longint): HRESULT; stdcall;
function AddEnum(pNamespace: IWbemServices; wszClassName: LPCWSTR; lFlags: Longint; pContext: IWbemContext; out ppEnum: IWbemHiPerfEnum; var plId: Longint): HRESULT; stdcall;
end;
{$EXTERNALSYM IWbemConfigureRefresher}
const
CLSID_WbemLocator: TGUID = '{4590f811-1d3a-11d0-891f-00aa004b2e24}';
{$EXTERNALSYM CLSID_WbemLocator}
CLSID_WbemContext: TGUID = '{674B6698-EE92-11d0-AD71-00C04FD8FDFF}';
{$EXTERNALSYM CLSID_WbemContext}
CLSID_UnsecuredApartment: TGUID = '{49bd2028-1523-11d1-ad79-00c04fd8fdff}';
{$EXTERNALSYM CLSID_UnsecuredApartment}
CLSID_WbemClassObject: TGUID = '{9A653086-174F-11d2-B5F9-00104B703EFD}';
{$EXTERNALSYM CLSID_WbemClassObject}
CLSID_MofCompiler: TGUID = '{6daf9757-2e37-11d2-aec9-00c04fb68820}';
{$EXTERNALSYM CLSID_MofCompiler}
CLSID_WbemStatusCodeText: TGUID = '{eb87e1bd-3233-11d2-aec9-00c04fb68820}';
{$EXTERNALSYM CLSID_WbemStatusCodeText}
CLSID_WbemBackupRestore: TGUID = '{C49E32C6-BC8B-11d2-85D4-00105A1F8304}';
{$EXTERNALSYM CLSID_WbemBackupRestore}
CLSID_WbemRefresher: TGUID = '{c71566f2-561e-11d1-ad87-00c04fd8fdff}';
{$EXTERNALSYM CLSID_WbemRefresher}
CLSID_WbemObjectTextSrc: TGUID = '{8D1C559D-84F0-4bb3-A7D5-56A7435A9BA6}';
{$EXTERNALSYM CLSID_WbemObjectTextSrc}
const
IID_IWbemShutdown: TGUID = '{b7b31df9-d515-11d3-a11c-00105a1f515a}';
{$EXTERNALSYM IID_IWbemShutdown}
type
IWbemShutdown = interface(IUnknown)
['{b7b31df9-d515-11d3-a11c-00105a1f515a}']
function Shutdown(uReason: LONG; uMaxMilliseconds: ULONG; pCtx: IWbemContext): HRESULT; stdcall;
end;
{$EXTERNALSYM IWbemShutdown}
type
tag_WMI_OBJ_TEXT = DWORD;
{$EXTERNALSYM tag_WMI_OBJ_TEXT}
WMI_OBJ_TEXT = tag_WMI_OBJ_TEXT;
{$EXTERNALSYM WMI_OBJ_TEXT}
TWmiObjText = WMI_OBJ_TEXT;
const
WMI_OBJ_TEXT_CIM_DTD_2_0 = 1;
{$EXTERNALSYM WMI_OBJ_TEXT_CIM_DTD_2_0}
WMI_OBJ_TEXT_WMI_DTD_2_0 = 2;
{$EXTERNALSYM WMI_OBJ_TEXT_WMI_DTD_2_0}
WMI_OBJ_TEXT_WMI_EXT1 = 3;
{$EXTERNALSYM WMI_OBJ_TEXT_WMI_EXT1}
WMI_OBJ_TEXT_WMI_EXT2 = 4;
{$EXTERNALSYM WMI_OBJ_TEXT_WMI_EXT2}
WMI_OBJ_TEXT_WMI_EXT3 = 5;
{$EXTERNALSYM WMI_OBJ_TEXT_WMI_EXT3}
WMI_OBJ_TEXT_WMI_EXT4 = 6;
{$EXTERNALSYM WMI_OBJ_TEXT_WMI_EXT4}
WMI_OBJ_TEXT_WMI_EXT5 = 7;
{$EXTERNALSYM WMI_OBJ_TEXT_WMI_EXT5}
WMI_OBJ_TEXT_WMI_EXT6 = 8;
{$EXTERNALSYM WMI_OBJ_TEXT_WMI_EXT6}
WMI_OBJ_TEXT_WMI_EXT7 = 9;
{$EXTERNALSYM WMI_OBJ_TEXT_WMI_EXT7}
WMI_OBJ_TEXT_WMI_EXT8 = 10;
{$EXTERNALSYM WMI_OBJ_TEXT_WMI_EXT8}
WMI_OBJ_TEXT_WMI_EXT9 = 11;
{$EXTERNALSYM WMI_OBJ_TEXT_WMI_EXT9}
WMI_OBJ_TEXT_WMI_EXT10 = 12;
{$EXTERNALSYM WMI_OBJ_TEXT_WMI_EXT10}
WMI_OBJ_TEXT_LAST = 13;
{$EXTERNALSYM WMI_OBJ_TEXT_LAST}
const
IID_IWbemObjectTextSrc: TGUID = '{bfbf883a-cad7-11d3-a11b-00105a1f515a}';
{$EXTERNALSYM IID_IWbemObjectTextSrc}
type
IWbemObjectTextSrc = interface(IUnknown)
['{bfbf883a-cad7-11d3-a11b-00105a1f515a}']
function GetText(lFlags: Longint; pObj: IWbemClassObject; uObjTextFormat: ULONG; pCtx: IWbemContext; out strText: WideString): HRESULT; stdcall;
function CreateFromText(lFlags: Longint; strText: WideString; uObjTextFormat: ULONG; pCtx: IWbemContext; out pNewObj:IWbemClassObject): HRESULT; stdcall;
end;
{$EXTERNALSYM IWbemObjectTextSrc}
const
IID_IMofCompiler: TGUID = '{6daf974e-2e37-11d2-aec9-00c04fb68820}';
{$EXTERNALSYM IID_IMofCompiler}
type
tag_CompileStatusInfo = record
lPhaseError: Longint;
hRes: HRESULT;
ObjectNum: Longint;
FirstLine: Longint;
LastLine: Longint;
dwOutFlags: DWORD;
end;
{$EXTERNALSYM tag_CompileStatusInfo}
WBEM_COMPILE_STATUS_INFO = tag_CompileStatusInfo;
{$EXTERNALSYM WBEM_COMPILE_STATUS_INFO}
TWbemCompileStatusInfo = WBEM_COMPILE_STATUS_INFO;
type
tag_WBEM_COMPILER_OPTIONS = DWORD;
{$EXTERNALSYM tag_WBEM_COMPILER_OPTIONS}
WBEM_COMPILER_OPTIONS = tag_WBEM_COMPILER_OPTIONS;
{$EXTERNALSYM WBEM_COMPILER_OPTIONS}
TWbemCompilerOptions = WBEM_COMPILER_OPTIONS;
const
WBEM_FLAG_CHECK_ONLY = $1;
{$EXTERNALSYM WBEM_FLAG_CHECK_ONLY}
WBEM_FLAG_AUTORECOVER = $2;
{$EXTERNALSYM WBEM_FLAG_AUTORECOVER}
WBEM_FLAG_WMI_CHECK = $4;
{$EXTERNALSYM WBEM_FLAG_WMI_CHECK}
WBEM_FLAG_CONSOLE_PRINT = $8;
{$EXTERNALSYM WBEM_FLAG_CONSOLE_PRINT}
WBEM_FLAG_DONT_ADD_TO_LIST = $10;
{$EXTERNALSYM WBEM_FLAG_DONT_ADD_TO_LIST}
WBEM_FLAG_SPLIT_FILES = $20;
{$EXTERNALSYM WBEM_FLAG_SPLIT_FILES}
WBEM_FLAG_STORE_FILE = $100;
{$EXTERNALSYM WBEM_FLAG_STORE_FILE}
type
tag_WBEM_CONNECT_OPTIONS = DWORD;
{$EXTERNALSYM tag_WBEM_CONNECT_OPTIONS}
WBEM_CONNECT_OPTIONS = tag_WBEM_CONNECT_OPTIONS;
{$EXTERNALSYM WBEM_CONNECT_OPTIONS}
TWbemConnectOptions = WBEM_CONNECT_OPTIONS;
const
WBEM_FLAG_CONNECT_REPOSITORY_ONLY = $40;
{$EXTERNALSYM WBEM_FLAG_CONNECT_REPOSITORY_ONLY}
WBEM_FLAG_CONNECT_USE_MAX_WAIT = $80;
{$EXTERNALSYM WBEM_FLAG_CONNECT_USE_MAX_WAIT}
type
IMofCompiler = interface(IUnknown)
['{6daf974e-2e37-11d2-aec9-00c04fb68820}']
function CompileFile(FileName, ServerAndNamespace, User, Authority, Password: LPWSTR;
lOptionFlags, lClassFlags, lInstanceFlags: LONG; var pInfo: WBEM_COMPILE_STATUS_INFO): HRESULT; stdcall;
function CompileBuffer(buffSize: Longint; pBuffer: LPBYTE; ServerAndNamespace, User, Authority, Password: LPWSTR;
lOptionFlags, lClassFlags, lInstanceFlags: LONG; var pInfo: WBEM_COMPILE_STATUS_INFO): HRESULT; stdcall;
function CreateBMOF(TextFileName, BMOFFileName, ServerAndNamespace: LPWSTR;
lOptionFlags, lClassFlags, lInstanceFlags: LONG; var pInfo: WBEM_COMPILE_STATUS_INFO): HRESULT; stdcall;
end;
type
tag_WBEM_UNSECAPP_FLAG_TYPE = DWORD;
{$EXTERNALSYM tag_WBEM_UNSECAPP_FLAG_TYPE}
WBEM_UNSECAPP_FLAG_TYPE = tag_WBEM_UNSECAPP_FLAG_TYPE;
{$EXTERNALSYM WBEM_UNSECAPP_FLAG_TYPE}
TWbemUnsecAppFlagType = WBEM_UNSECAPP_FLAG_TYPE;
const
WBEM_FLAG_UNSECAPP_DEFAULT_CHECK_ACCESS = 0;
{$EXTERNALSYM WBEM_FLAG_UNSECAPP_DEFAULT_CHECK_ACCESS}
WBEM_FLAG_UNSECAPP_CHECK_ACCESS = 1;
{$EXTERNALSYM WBEM_FLAG_UNSECAPP_CHECK_ACCESS}
WBEM_FLAG_UNSECAPP_DONT_CHECK_ACCESS = 2;
{$EXTERNALSYM WBEM_FLAG_UNSECAPP_DONT_CHECK_ACCESS}
type
tag_WBEM_INFORMATION_FLAG_TYPE = DWORD;
{$EXTERNALSYM tag_WBEM_INFORMATION_FLAG_TYPE}
WBEM_INFORMATION_FLAG_TYPE = tag_WBEM_INFORMATION_FLAG_TYPE;
{$EXTERNALSYM WBEM_INFORMATION_FLAG_TYPE}
TWbemInformationFlagType = WBEM_INFORMATION_FLAG_TYPE;
const
WBEM_FLAG_SHORT_NAME = $1;
{$EXTERNALSYM WBEM_FLAG_SHORT_NAME}
WBEM_FLAG_LONG_NAME = $2;
{$EXTERNALSYM WBEM_FLAG_LONG_NAME}
// Additional Prototypes for ALL interfaces
//unsigned long __RPC_USER WideString_UserSize( unsigned long *, unsigned long , WideString * );
//unsigned char * __RPC_USER WideString_UserMarshal( unsigned long *, unsigned char *, WideString * );
//unsigned char * __RPC_USER WideString_UserUnmarshal(unsigned long *, unsigned char *, WideString * );
//void __RPC_USER WideString_UserFree( unsigned long *, WideString * );
// end of Additional Prototypes
implementation
end.