RegisterServiceCtrlHandlerEx function advapi32

Win32Result<SERVICE_STATUS_HANDLE> RegisterServiceCtrlHandlerEx(
  1. PCWSTR lpServiceName,
  2. Pointer<NativeFunction<LPHANDLER_FUNCTION_EX>> lpHandlerProc,
  3. Pointer<NativeType>? lpContext
)

Registers a function to handle extended service control requests.

To learn more, see learn.microsoft.com/windows/win32/api/winsvc/nf-winsvc-registerservicectrlhandlerexw.

Implementation

Win32Result<SERVICE_STATUS_HANDLE> RegisterServiceCtrlHandlerEx(
  PCWSTR lpServiceName,
  Pointer<NativeFunction<LPHANDLER_FUNCTION_EX>> lpHandlerProc,
  Pointer? lpContext,
) {
  final result_ = RegisterServiceCtrlHandlerExW_Wrapper(
    lpServiceName,
    lpHandlerProc,
    lpContext ?? nullptr,
  );
  return .new(value: .new(result_.value.ptr), error: result_.error);
}