📄 jwawbemcli.pas
字号:
{$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.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -