Files
2026-05-06 09:11:06 +10:00

27 lines
1.1 KiB
C

#ifndef BK_CONTROLLER_INJECTION_H
#define BK_CONTROLLER_INJECTION_H
#include <windows.h>
#include <stddef.h>
#include "../../../../abi/blackbird_ipc.h"
#define BK_CONTROLLER_INJECTION_VERIFY_TIMEOUT_MS 20000u
BOOL ControllerInjectionPathPointsToFile(_In_z_ PCWSTR Path);
BOOL ControllerInjectionResolveHookDllPath(_In_ const BKIPC_SET_USER_HOOK_TARGET_REQUEST *Request,
_Out_writes_z_(OutputChars) PWSTR Output, _In_ size_t OutputChars);
BOOL ControllerInjectionVerifyHookLoaded(_In_ DWORD ProcessId, _In_z_ PCWSTR HookDllPath, _In_ DWORD TimeoutMs);
DWORD ControllerInjectionAttachAndVerify(_In_ DWORD ProcessId, _In_z_ PCWSTR HookDllPath, _In_ DWORD VerifyTimeoutMs);
DWORD ControllerInjectionLaunchAndVerify(_In_ HANDLE ClientPipe, _In_ const BKIPC_SET_USER_HOOK_TARGET_REQUEST *Request,
_In_z_ PCWSTR HookDllPath, _In_ DWORD VerifyTimeoutMs,
_Out_ DWORD *ProcessIdOut);
VOID ControllerInjectionTerminateProcessTreeBestEffort(_In_ DWORD RootProcessId, _In_z_ PCSTR Reason);
#endif