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_ */