This commit is contained in:
yao-msft 2025-12-04 10:31:44 -08:00
parent 07d0ac0416
commit 261714c184
2 changed files with 42 additions and 118 deletions

View File

@ -14,131 +14,97 @@ Abstract:
#include "wsla.h"
HRESULT WslaCanRun(
_Out_ BOOL* canRun)
HRESULT WslaCanRun(_Out_ BOOL* canRun)
{
return E_NOTIMPL;
}
HRESULT WslaGetVersion(
_Out_ WSLA_VERSION* version)
HRESULT WslaGetVersion(_Out_ WSLA_VERSION* version)
{
return E_NOTIMPL;
}
HRESULT WslaInstallWithDependencies(
_In_opt_ __callback WslaInstallCallback progressCallback,
_In_opt_ PVOID context)
HRESULT WslaInstallWithDependencies(_In_opt_ __callback WslaInstallCallback progressCallback, _In_opt_ PVOID context)
{
return E_NOTIMPL;
}
HRESULT WslaCreateSession(
_In_ const WSLA_CREATE_SESSION_OPTIONS* settings,
_Out_ WslaSession* sesssion)
HRESULT WslaCreateSession(_In_ const WSLA_CREATE_SESSION_OPTIONS* settings, _Out_ WslaSession* sesssion)
{
return E_NOTIMPL;
}
HRESULT WslaReleaseSession(
_In_ WslaSession session)
HRESULT WslaReleaseSession(_In_ WslaSession session)
{
return E_NOTIMPL;
}
HRESULT WslaPullContainerImage(
_In_ WslaSession session,
_In_ const WLSA_PULL_CONTAINER_IMAGE_OPTIONS* options)
HRESULT WslaPullContainerImage(_In_ WslaSession session, _In_ const WLSA_PULL_CONTAINER_IMAGE_OPTIONS* options)
{
return E_NOTIMPL;
}
HRESULT WslaImportContainerImage(
_In_ WslaSession session,
_In_ const WLSA_PULL_CONTAINER_IMAGE_OPTIONS* options)
HRESULT WslaImportContainerImage(_In_ WslaSession session, _In_ const WLSA_PULL_CONTAINER_IMAGE_OPTIONS* options)
{
return E_NOTIMPL;
}
HRESULT WslaListContainerImages(
_In_ WslaSession sesssion,
_Inout_ WSLA_CONTAINER_IMAGE_INFO* images,
_Inout_ UINT32* count)
HRESULT WslaListContainerImages(_In_ WslaSession sesssion, _Inout_ WSLA_CONTAINER_IMAGE_INFO* images, _Inout_ UINT32* count)
{
return E_NOTIMPL;
}
HRESULT WslaDeleteContainerImage(
_In_ WslaSession session,
_In_ PCSTR imageName)
HRESULT WslaDeleteContainerImage(_In_ WslaSession session, _In_ PCSTR imageName)
{
return E_NOTIMPL;
}
HRESULT WslaCreateNewContainer(
_In_ WslaSession session,
_In_ const WSLA_CONTAINER_OPTIONS* options,
_Out_ WslaRuntimeContainer* container,
_Out_ WSLA_CONTAINER_PROCESS* initProcess)
HRESULT WslaCreateNewContainer(_In_ WslaSession session, _In_ const WSLA_CONTAINER_OPTIONS* options, _Out_ WslaRuntimeContainer* container, _Out_ WSLA_CONTAINER_PROCESS* initProcess)
{
return E_NOTIMPL;
}
HRESULT WslaStartContainer(
_In_ WslaRuntimeContainer container)
HRESULT WslaStartContainer(_In_ WslaRuntimeContainer container)
{
return E_NOTIMPL;
}
HRESULT WslaStopContainer(
_In_ WslaRuntimeContainer container)
HRESULT WslaStopContainer(_In_ WslaRuntimeContainer container)
{
return E_NOTIMPL;
}
HRESULT WslaDeleteContainer(
_In_ WslaRuntimeContainer container)
HRESULT WslaDeleteContainer(_In_ WslaRuntimeContainer container)
{
return E_NOTIMPL;
}
HRESULT WslaRestartContainer(
_In_ WslaRuntimeContainer container)
HRESULT WslaRestartContainer(_In_ WslaRuntimeContainer container)
{
return E_NOTIMPL;
}
HRESULT WslaGetContainerState(
_In_ WslaRuntimeContainer container,
_Out_ WSLA_CONTAINER_STATE* state)
HRESULT WslaGetContainerState(_In_ WslaRuntimeContainer container, _Out_ WSLA_CONTAINER_STATE* state)
{
return E_NOTIMPL;
}
HRESULT WslaCreateContainerProcess(
_In_ WslaRuntimeContainer container,
_In_ const WSLA_CONTAINER_PROCESS_OPTIONS* options,
_Out_ WSLA_CONTAINER_PROCESS* process)
HRESULT WslaCreateContainerProcess(_In_ WslaRuntimeContainer container, _In_ const WSLA_CONTAINER_PROCESS_OPTIONS* options, _Out_ WSLA_CONTAINER_PROCESS* process)
{
return E_NOTIMPL;
}
HRESULT WslaGetContainerProcessResult(
_In_ const WSLA_CONTAINER_PROCESS* process,
_Out_ WSLA_CONTAINER_PROCESS_RESULT* result)
HRESULT WslaGetContainerProcessResult(_In_ const WSLA_CONTAINER_PROCESS* process, _Out_ WSLA_CONTAINER_PROCESS_RESULT* result)
{
return E_NOTIMPL;
}
HRESULT WslaSignalContainerProcess(
_In_ WSLA_CONTAINER_PROCESS* process,
_In_ INT32 signal)
HRESULT WslaSignalContainerProcess(_In_ WSLA_CONTAINER_PROCESS* process, _In_ INT32 signal)
{
return E_NOTIMPL;
}
HRESULT WslaCreateVhd(
_In_ const WSLA_CREATE_VHD_OPTIONS* options)
HRESULT WslaCreateVhd(_In_ const WSLA_CREATE_VHD_OPTIONS* options)
{
return E_NOTIMPL;
}

View File

@ -19,8 +19,7 @@ EXTERN_C_START
// Wsla Install
STDAPI WslaCanRun(
_Out_ BOOL* canRun);
STDAPI WslaCanRun(_Out_ BOOL* canRun);
typedef struct WSLA_VERSION
{
@ -29,8 +28,7 @@ typedef struct WSLA_VERSION
UINT32 revision;
} WSLA_VERSION;
STDAPI WslaGetVersion(
_Out_ WSLA_VERSION* version);
STDAPI WslaGetVersion(_Out_ WSLA_VERSION* version);
typedef enum WSLA_INSTALL_COMPONENT
{
@ -40,15 +38,9 @@ typedef enum WSLA_INSTALL_COMPONENT
WSLA_INSTALL_COMPONENT_WSL_PACKAGE = 4,
} WSLA_INSTALL_COMPONENT;
typedef __callback VOID(CALLBACK WslaInstallCallback)(
_In_ WSLA_INSTALL_COMPONENT component,
_In_ UINT32 progress,
_In_ UINT32 total,
_In_opt_ PVOID context);
typedef __callback VOID(CALLBACK WslaInstallCallback)(_In_ WSLA_INSTALL_COMPONENT component, _In_ UINT32 progress, _In_ UINT32 total, _In_opt_ PVOID context);
STDAPI WslaInstallWithDependencies(
_In_opt_ __callback WslaInstallCallback progressCallback,
_In_opt_ PVOID context);
STDAPI WslaInstallWithDependencies(_In_opt_ __callback WslaInstallCallback progressCallback, _In_opt_ PVOID context);
// Session
@ -59,9 +51,7 @@ typedef enum WSLA_SESSION_TERMINATION_REASON
WSLA_SESSION_TERMINATION_REASON_CRASHED = 2,
} WSLA_SESSION_TERMINATION_REASON;
typedef __callback VOID (CALLBACK WslaSessionTerminationCallback)(
_In_ WSLA_SESSION_TERMINATION_REASON reason,
_In_opt_ PVOID context);
typedef __callback VOID(CALLBACK WslaSessionTerminationCallback)(_In_ WSLA_SESSION_TERMINATION_REASON reason, _In_opt_ PVOID context);
typedef struct WSLA_CREATE_SESSION_OPTIONS
{
@ -73,19 +63,13 @@ typedef struct WSLA_CREATE_SESSION_OPTIONS
DECLARE_HANDLE(WslaSession);
STDAPI WslaCreateSession(
_In_ const WSLA_CREATE_SESSION_OPTIONS* settings,
_Out_ WslaSession* session);
STDAPI WslaCreateSession(_In_ const WSLA_CREATE_SESSION_OPTIONS* settings, _Out_ WslaSession* session);
STDAPI WslaReleaseSession(
_In_ WslaSession session);
STDAPI WslaReleaseSession(_In_ WslaSession session);
// Container image
typedef __callback VOID(CALLBACK WslaContainerImageProgressCallback)(
_In_ UINT32 progress,
_In_ UINT32 total,
_In_opt_ PVOID context);
typedef __callback VOID(CALLBACK WslaContainerImageProgressCallback)(_In_ UINT32 progress, _In_ UINT32 total, _In_opt_ PVOID context);
typedef struct WLSA_PULL_CONTAINER_IMAGE_OPTIONS
{
@ -98,9 +82,7 @@ typedef struct WLSA_PULL_CONTAINER_IMAGE_OPTIONS
PCSTR password;
} WLSA_PULL_CONTAINER_IMAGE_OPTIONS;
STDAPI WslaPullContainerImage(
_In_ WslaSession session,
_In_ const WLSA_PULL_CONTAINER_IMAGE_OPTIONS* options);
STDAPI WslaPullContainerImage(_In_ WslaSession session, _In_ const WLSA_PULL_CONTAINER_IMAGE_OPTIONS* options);
typedef struct WLSA_IMPORT_CONTAINER_IMAGE_OPTIONS
{
@ -109,9 +91,7 @@ typedef struct WLSA_IMPORT_CONTAINER_IMAGE_OPTIONS
PVOID progressCallbackContext;
} WLSA_IMPORT_CONTAINER_IMAGE_OPTIONS;
STDAPI WslaImportContainerImage(
_In_ WslaSession session,
_In_ const WLSA_PULL_CONTAINER_IMAGE_OPTIONS* options);
STDAPI WslaImportContainerImage(_In_ WslaSession session, _In_ const WLSA_PULL_CONTAINER_IMAGE_OPTIONS* options);
typedef struct WSLA_CONTAINER_IMAGE_INFO
{
@ -120,14 +100,9 @@ typedef struct WSLA_CONTAINER_IMAGE_INFO
UINT8 sha256[32];
} WSLA_CONTAINER_IMAGE_INFO;
STDAPI WslaListContainerImages(
_In_ WslaSession sesssion,
_Inout_ WSLA_CONTAINER_IMAGE_INFO* images,
_Inout_ UINT32* count);
STDAPI WslaListContainerImages(_In_ WslaSession sesssion, _Inout_ WSLA_CONTAINER_IMAGE_INFO* images, _Inout_ UINT32* count);
STDAPI WslaDeleteContainerImage(
_In_ WslaSession session,
_In_ PCSTR imageName);
STDAPI WslaDeleteContainerImage(_In_ WslaSession session, _In_ PCSTR imageName);
// Container
@ -185,22 +160,15 @@ typedef struct WSLA_CONTAINER_PROCESS
DECLARE_HANDLE(WslaRuntimeContainer);
STDAPI WslaCreateNewContainer(
_In_ WslaSession session,
_In_ const WSLA_CONTAINER_OPTIONS* options,
_Out_ WslaRuntimeContainer* container,
_Out_ WSLA_CONTAINER_PROCESS* initProcess);
_In_ WslaSession session, _In_ const WSLA_CONTAINER_OPTIONS* options, _Out_ WslaRuntimeContainer* container, _Out_ WSLA_CONTAINER_PROCESS* initProcess);
STDAPI WslaStartContainer(
_In_ WslaRuntimeContainer container);
STDAPI WslaStartContainer(_In_ WslaRuntimeContainer container);
STDAPI WslaStopContainer(
_In_ WslaRuntimeContainer container);
STDAPI WslaStopContainer(_In_ WslaRuntimeContainer container);
STDAPI WslaDeleteContainer(
_In_ WslaRuntimeContainer container);
STDAPI WslaDeleteContainer(_In_ WslaRuntimeContainer container);
STDAPI WslaRestartContainer(
_In_ WslaRuntimeContainer container);
STDAPI WslaRestartContainer(_In_ WslaRuntimeContainer container);
typedef enum WSLA_CONTAINER_STATE
{
@ -211,16 +179,11 @@ typedef enum WSLA_CONTAINER_STATE
WSLA_CONTAINER_STATE_FAILED = 4,
} WSLA_CONTAINER_STATE;
STDAPI WslaGetContainerState(
_In_ WslaRuntimeContainer container,
_Out_ WSLA_CONTAINER_STATE* state);
STDAPI WslaGetContainerState(_In_ WslaRuntimeContainer container, _Out_ WSLA_CONTAINER_STATE* state);
// Container Process
STDAPI WslaCreateContainerProcess(
_In_ WslaRuntimeContainer container,
_In_ const WSLA_CONTAINER_PROCESS_OPTIONS* options,
_Out_ WSLA_CONTAINER_PROCESS* process);
STDAPI WslaCreateContainerProcess(_In_ WslaRuntimeContainer container, _In_ const WSLA_CONTAINER_PROCESS_OPTIONS* options, _Out_ WSLA_CONTAINER_PROCESS* process);
typedef enum WSLA_CONTAINER_PROCESS_STATE
{
@ -236,13 +199,9 @@ typedef struct WSLA_CONTAINER_PROCESS_RESULT
INT32 exitCode;
} WSLA_CONTAINER_PROCESS_RESULT;
STDAPI WslaGetContainerProcessResult(
_In_ const WSLA_CONTAINER_PROCESS* process,
_Out_ WSLA_CONTAINER_PROCESS_RESULT* result);
STDAPI WslaGetContainerProcessResult(_In_ const WSLA_CONTAINER_PROCESS* process, _Out_ WSLA_CONTAINER_PROCESS_RESULT* result);
STDAPI WslaSignalContainerProcess(
_In_ WSLA_CONTAINER_PROCESS* process,
_In_ INT32 signal);
STDAPI WslaSignalContainerProcess(_In_ WSLA_CONTAINER_PROCESS* process, _In_ INT32 signal);
// Storage
@ -259,7 +218,6 @@ typedef struct WSLA_CREATE_VHD_OPTIONS
UINT64 maxSize; // Maximum size in bytes.
} WSLA_CREATE_VHD_OPTIONS;
STDAPI WslaCreateVhd(
_In_ const WSLA_CREATE_VHD_OPTIONS* options);
STDAPI WslaCreateVhd(_In_ const WSLA_CREATE_VHD_OPTIONS* options);
EXTERN_C_END