#pragma once #include #include #include enum class Scope : uint32_t { User = 0u, System = 1u }; enum class View : uint32_t { User = 0u, System = 1u, Hybrid = 2u }; using Token = uint64_t; using CStyleString = const char*; extern "C" { bool WFStartup(void); bool WFShutdown(void); CStyleString WFGetLastError(void); bool WFHasPrivilege(void); bool WFSchemaCreate(Token *out_schema); bool WFSchemaDestroy(Token in_schema); bool WFSchemaSetIdentifier(Token in_schema, CStyleString in_value); bool WFSchemaSetPath(Token in_schema, CStyleString in_value); bool WFSchemaSetClsid(Token in_schema, CStyleString in_value); bool WFSchemaSetName(Token in_schema, CStyleString in_value); bool WFSchemaSetIcon(Token in_schema, CStyleString in_value); bool WFSchemaSetBehavior(Token in_schema, CStyleString in_value); bool WFSchemaAddStr(Token in_schema, CStyleString in_name, CStyleString in_value); bool WFSchemaAddIcon(Token in_schema, CStyleString in_name, CStyleString in_value); bool WFSchemaAddBehavior(Token in_schema, CStyleString in_name, CStyleString in_value); bool WFSchemaAddExt(Token in_schema, CStyleString in_ext, CStyleString in_ext_name, CStyleString in_ext_icon, CStyleString in_ext_behavior); bool WFProgramCreate(Token in_schema, Token *out_program); bool WFProgramDestroy(Token in_program); bool WFProgramRegister(Token in_program, uint32_t in_scope); bool WFProgramUnregister(Token in_program, uint32_t in_scope); bool WFProgramIsRegistered(Token in_program, uint32_t in_scope, bool *out_is_registered); bool WFProgramLinkExt(Token in_program, uint32_t in_scope, size_t in_index); bool WFProgramUnlinkExt(Token in_program, uint32_t in_scope, size_t in_index); }