⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jwawbemcli.pas

📁 比较全面的win32api开发包
💻 PAS
📖 第 1 页 / 共 4 页
字号:
  {$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 + -