zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

computecore.h (6597B) - Raw


      1 /**
      2  * This file has no copyright assigned and is placed in the Public Domain.
      3  * This file is part of the mingw-w64 runtime package.
      4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
      5  */
      6 
      7 #ifndef _HYPERV_COMPUTECORE_H_
      8 #define _HYPERV_COMPUTECORE_H_
      9 
     10 #include <apiset.h>
     11 #include <apisetcconv.h>
     12 #include <minwindef.h>
     13 #include <winapifamily.h>
     14 
     15 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
     16 
     17 #include <computedefs.h>
     18 
     19 #ifdef __cplusplus
     20 extern "C" {
     21 #endif
     22 
     23 HRESULT WINAPI HcsEnumerateComputeSystems (PCWSTR query, HCS_OPERATION operation);
     24 HRESULT WINAPI HcsEnumerateComputeSystemsInNamespace (PCWSTR idNamespace, PCWSTR query, HCS_OPERATION operation);
     25 HCS_OPERATION WINAPI HcsCreateOperation (const void *context, HCS_OPERATION_COMPLETION callback);
     26 HCS_OPERATION WINAPI HcsCreateOperationWithNotifications (HCS_OPERATION_OPTIONS eventTypes, const void *context, HCS_EVENT_CALLBACK callback);
     27 void WINAPI HcsCloseOperation (HCS_OPERATION operation);
     28 void* WINAPI HcsGetOperationContext (HCS_OPERATION operation);
     29 HRESULT WINAPI HcsSetOperationContext (HCS_OPERATION operation, const void *context);
     30 HCS_SYSTEM WINAPI HcsGetComputeSystemFromOperation (HCS_OPERATION operation);
     31 HCS_PROCESS WINAPI HcsGetProcessFromOperation (HCS_OPERATION operation);
     32 HCS_OPERATION_TYPE WINAPI HcsGetOperationType (HCS_OPERATION operation);
     33 UINT64 WINAPI HcsGetOperationId (HCS_OPERATION operation);
     34 HRESULT WINAPI HcsGetOperationResult (HCS_OPERATION operation, PWSTR *resultDocument);
     35 HRESULT WINAPI HcsGetOperationResultAndProcessInfo (HCS_OPERATION operation, HCS_PROCESS_INFORMATION *processInformation, PWSTR *resultDocument);
     36 HRESULT WINAPI HcsAddResourceToOperation (HCS_OPERATION operation, HCS_RESOURCE_TYPE type, PCWSTR uri, HANDLE handle);
     37 HRESULT WINAPI HcsGetProcessorCompatibilityFromSavedState (PCWSTR RuntimeFileName, PCWSTR *ProcessorFeaturesString);
     38 HRESULT WINAPI HcsWaitForOperationResult (HCS_OPERATION operation, DWORD timeoutMs, PWSTR *resultDocument);
     39 HRESULT WINAPI HcsWaitForOperationResultAndProcessInfo (HCS_OPERATION operation, DWORD timeoutMs, HCS_PROCESS_INFORMATION *processInformation, PWSTR *resultDocument);
     40 HRESULT WINAPI HcsSetOperationCallback (HCS_OPERATION operation, const void *context, HCS_OPERATION_COMPLETION callback);
     41 HRESULT WINAPI HcsCancelOperation (HCS_OPERATION operation);
     42 HRESULT WINAPI HcsGetOperationProperties (HCS_OPERATION operation, PCWSTR options, PWSTR *resultDocument);
     43 HRESULT WINAPI HcsCreateComputeSystem (PCWSTR id, PCWSTR configuration, HCS_OPERATION operation, const SECURITY_DESCRIPTOR *securityDescriptor, HCS_SYSTEM *computeSystem);
     44 HRESULT WINAPI HcsCreateComputeSystemInNamespace (PCWSTR idNamespace, PCWSTR id, PCWSTR configuration, HCS_OPERATION operation, const HCS_CREATE_OPTIONS *options, HCS_SYSTEM *computeSystem);
     45 HRESULT WINAPI HcsOpenComputeSystem (PCWSTR id, DWORD requestedAccess, HCS_SYSTEM *computeSystem);
     46 HRESULT WINAPI HcsOpenComputeSystemInNamespace (PCWSTR idNamespace, PCWSTR id, DWORD requestedAccess, HCS_SYSTEM *computeSystem);
     47 void WINAPI HcsCloseComputeSystem (HCS_SYSTEM computeSystem);
     48 HRESULT WINAPI HcsStartComputeSystem (HCS_SYSTEM computeSystem, HCS_OPERATION operation, PCWSTR options);
     49 HRESULT WINAPI HcsShutDownComputeSystem (HCS_SYSTEM computeSystem, HCS_OPERATION operation, PCWSTR options);
     50 HRESULT WINAPI HcsTerminateComputeSystem (HCS_SYSTEM computeSystem, HCS_OPERATION operation, PCWSTR options);
     51 HRESULT WINAPI HcsCrashComputeSystem (HCS_SYSTEM computeSystem, HCS_OPERATION operation, PCWSTR options);
     52 HRESULT WINAPI HcsPauseComputeSystem (HCS_SYSTEM computeSystem, HCS_OPERATION operation, PCWSTR options);
     53 HRESULT WINAPI HcsResumeComputeSystem (HCS_SYSTEM computeSystem, HCS_OPERATION operation, PCWSTR options);
     54 HRESULT WINAPI HcsSaveComputeSystem (HCS_SYSTEM computeSystem, HCS_OPERATION operation, PCWSTR options);
     55 HRESULT WINAPI HcsGetComputeSystemProperties (HCS_SYSTEM computeSystem, HCS_OPERATION operation, PCWSTR propertyQuery);
     56 HRESULT WINAPI HcsModifyComputeSystem (HCS_SYSTEM computeSystem, HCS_OPERATION operation, PCWSTR configuration, HANDLE identity);
     57 HRESULT WINAPI HcsWaitForComputeSystemExit (HCS_SYSTEM computeSystem, DWORD timeoutMs, PWSTR *result);
     58 HRESULT WINAPI HcsSetComputeSystemCallback (HCS_SYSTEM computeSystem, HCS_EVENT_OPTIONS callbackOptions, const void *context, HCS_EVENT_CALLBACK callback);
     59 HRESULT WINAPI HcsInitializeLiveMigrationOnSource (HCS_SYSTEM computeSystem, HCS_OPERATION operation, PCWSTR options);
     60 HRESULT WINAPI HcsStartLiveMigrationOnSource (HCS_SYSTEM computeSystem, HCS_OPERATION operation, PCWSTR options);
     61 HRESULT WINAPI HcsStartLiveMigrationTransfer (HCS_SYSTEM computeSystem, HCS_OPERATION operation, PCWSTR options);
     62 HRESULT WINAPI HcsFinalizeLiveMigration (HCS_SYSTEM computeSystem, HCS_OPERATION operation, PCWSTR options);
     63 HRESULT WINAPI HcsCreateProcess (HCS_SYSTEM computeSystem, PCWSTR processParameters, HCS_OPERATION operation, const SECURITY_DESCRIPTOR *securityDescriptor, HCS_PROCESS *process);
     64 HRESULT WINAPI HcsOpenProcess (HCS_SYSTEM computeSystem, DWORD processId, DWORD requestedAccess, HCS_PROCESS *process);
     65 void WINAPI HcsCloseProcess (HCS_PROCESS process);
     66 HRESULT WINAPI HcsTerminateProcess (HCS_PROCESS process, HCS_OPERATION operation, PCWSTR options);
     67 HRESULT WINAPI HcsSignalProcess (HCS_PROCESS process, HCS_OPERATION operation, PCWSTR options);
     68 HRESULT WINAPI HcsGetProcessInfo (HCS_PROCESS process, HCS_OPERATION operation);
     69 HRESULT WINAPI HcsGetProcessProperties (HCS_PROCESS process, HCS_OPERATION operation, PCWSTR propertyQuery);
     70 HRESULT WINAPI HcsModifyProcess (HCS_PROCESS process, HCS_OPERATION operation, PCWSTR settings);
     71 HRESULT WINAPI HcsSetProcessCallback (HCS_PROCESS process, HCS_EVENT_OPTIONS callbackOptions, void *context, HCS_EVENT_CALLBACK callback);
     72 HRESULT WINAPI HcsWaitForProcessExit (HCS_PROCESS computeSystem, DWORD timeoutMs, PWSTR *result);
     73 HRESULT WINAPI HcsGetServiceProperties (PCWSTR propertyQuery, PWSTR *result);
     74 HRESULT WINAPI HcsModifyServiceSettings (PCWSTR settings, PWSTR *result);
     75 HRESULT WINAPI HcsSubmitWerReport (PCWSTR settings);
     76 HRESULT WINAPI HcsCreateEmptyGuestStateFile (PCWSTR guestStateFilePath);
     77 HRESULT WINAPI HcsCreateEmptyRuntimeStateFile (PCWSTR runtimeStateFilePath);
     78 HRESULT WINAPI HcsGrantVmAccess (PCWSTR vmId, PCWSTR filePath);
     79 HRESULT WINAPI HcsRevokeVmAccess (PCWSTR vmId, PCWSTR filePath);
     80 HRESULT WINAPI HcsGrantVmGroupAccess (PCWSTR filePath);
     81 HRESULT WINAPI HcsRevokeVmGroupAccess (PCWSTR filePath);
     82 
     83 #ifdef __cplusplus
     84 }
     85 #endif
     86 
     87 #endif /* WINAPI_PARTITION_DESKTOP */
     88 
     89 #endif /* _HYPERV_COMPUTECORE_H_ */