Example #1
0
{
    // IN HKEY hKey,
    // IN PCWSTR pSubKey,
    // IN DWORD Reserved,
    // IN OPTIONAL PWSTR pClass,
    // IN DWORD dwOptions,
    // IN ACCESS_MASK AccessDesired,
    // IN OPTIONAL PSECURITY_DESCRIPTOR_RELATIVE pSecDescRel,
    // ULONG ulSecDescLen;

    LWMSG_STRUCT_BEGIN(REG_IPC_CREATE_KEY_EX_REQ),

    LWMSG_MEMBER_HANDLE(REG_IPC_CREATE_KEY_EX_REQ, hKey, HKEY),
    LWMSG_ATTR_HANDLE_LOCAL_FOR_RECEIVER,

    LWMSG_MEMBER_PWSTR(REG_IPC_CREATE_KEY_EX_REQ, pSubKey),

    LWMSG_MEMBER_PWSTR(REG_IPC_CREATE_KEY_EX_REQ, pClass),

    LWMSG_MEMBER_UINT32(REG_IPC_CREATE_KEY_EX_REQ, dwOptions),

    LWMSG_MEMBER_UINT32(REG_IPC_CREATE_KEY_EX_REQ, AccessDesired),

    LWMSG_MEMBER_UINT32(REG_IPC_CREATE_KEY_EX_REQ, ulSecDescLen),
    LWMSG_MEMBER_PBYTE(REG_IPC_CREATE_KEY_EX_REQ, pSecDescRel),
    LWMSG_ATTR_LENGTH_MEMBER(REG_IPC_CREATE_KEY_EX_REQ, ulSecDescLen),

    LWMSG_STRUCT_END,
    LWMSG_TYPE_END
};
Example #2
0
static LWMsgTypeSpec gLWNetResolveAddr [] = 
{
    LWMSG_STRUCT_BEGIN(LWNET_RESOLVE_ADDR),
    LWMSG_MEMBER_TYPESPEC(LWNET_RESOLVE_ADDR, AddressType, gLWNetAddrTypeSpec),
    LWMSG_MEMBER_TYPESPEC(LWNET_RESOLVE_ADDR, Address, gLWNetAddrSpec),
    LWMSG_ATTR_DISCRIM(LWNET_RESOLVE_ADDR, AddressType),
    LWMSG_STRUCT_END,
    LWMSG_TYPE_END
};


static LWMsgTypeSpec gLWNetResolveNameAddressSpec[] =
{
    LWMSG_STRUCT_BEGIN(LWNET_RESOLVE_NAME_ADDRESS),
    LWMSG_MEMBER_PWSTR(LWNET_RESOLVE_NAME_ADDRESS, pwszHostName),
    LWMSG_STRUCT_END,
    LWMSG_TYPE_END
};


static LWMsgTypeSpec gLWNetResolveNameAddressRespSpec[] =
{
    LWMSG_STRUCT_BEGIN(LWNET_RESOLVE_NAME_ADDRESS_RESPONSE),

    // ppwszCanonName
    LWMSG_MEMBER_PWSTR(LWNET_RESOLVE_NAME_ADDRESS_RESPONSE, pwszCanonName),

    // dwAddressListLen
    LWMSG_MEMBER_UINT32(LWNET_RESOLVE_NAME_ADDRESS_RESPONSE, dwAddressListLen),
Example #3
0
static LWMsgTypeSpec gLogTypeSpec[] =
{
    LWMSG_ENUM_BEGIN(LW_SM_LOGGER_TYPE, 1, LWMSG_UNSIGNED),
    LWMSG_ENUM_VALUE(LW_SM_LOGGER_DEFAULT),
    LWMSG_ENUM_VALUE(LW_SM_LOGGER_NONE),
    LWMSG_ENUM_VALUE(LW_SM_LOGGER_SYSLOG),
    LWMSG_ENUM_VALUE(LW_SM_LOGGER_FILE),
    LWMSG_ENUM_END,
    LWMSG_TYPE_END
};

static LWMsgTypeSpec gServiceInfoSpec[] =
{
    LWMSG_STRUCT_BEGIN(LW_SERVICE_INFO),
    LWMSG_MEMBER_PWSTR(LW_SERVICE_INFO, pwszName),
    LWMSG_MEMBER_PWSTR(LW_SERVICE_INFO, pwszDescription),
    LWMSG_MEMBER_TYPESPEC(LW_SERVICE_INFO, type, gServiceTypeSpec),
    LWMSG_MEMBER_PWSTR(LW_SERVICE_INFO, pwszPath),
    LWMSG_ATTR_NOT_NULL,
    LWMSG_MEMBER_TYPESPEC(LW_SERVICE_INFO, ppwszArgs, gStringListSpec),
    LWMSG_MEMBER_TYPESPEC(LW_SERVICE_INFO, ppwszEnv, gStringListSpec),
    LWMSG_MEMBER_TYPESPEC(LW_SERVICE_INFO, ppwszDependencies, gStringListSpec),
    LWMSG_MEMBER_PWSTR(LW_SERVICE_INFO, pwszGroup),
    LWMSG_MEMBER_TYPESPEC(LW_SERVICE_INFO, bAutostart, gBooleanSpec),
    LWMSG_MEMBER_UINT32(LW_SERVICE_INFO, dwFdLimit),
    LWMSG_MEMBER_UINT32(LW_SERVICE_INFO, dwCoreSize),
    LWMSG_MEMBER_UINT32(LW_SERVICE_INFO, uShutdownTimeout),
    LWMSG_STRUCT_END,
    LWMSG_TYPE_END
};
Example #4
0
static LWMsgTypeSpec gFileInfo2Spec[] =
{
    LWMSG_STRUCT_BEGIN(FILE_INFO_2),
    LWMSG_MEMBER_UINT32(FILE_INFO_2, fi2_id),
    LWMSG_STRUCT_END,
    LWMSG_TYPE_END
};

static LWMsgTypeSpec gFileInfo3Spec[] =
{
    LWMSG_STRUCT_BEGIN(FILE_INFO_3),
    LWMSG_MEMBER_UINT32(FILE_INFO_3, fi3_idd),
    LWMSG_MEMBER_UINT32(FILE_INFO_3, fi3_permissions),
    LWMSG_MEMBER_UINT32(FILE_INFO_3, fi3_num_locks),
    LWMSG_MEMBER_PWSTR(FILE_INFO_3,  fi3_path_name),
    LWMSG_MEMBER_PWSTR(FILE_INFO_3,  fi3_username),
    LWMSG_STRUCT_END,
    LWMSG_TYPE_END
};

#define FILE_INFO_LEVEL_2   2
#define FILE_INFO_LEVEL_3   3

static LWMsgTypeSpec gFileInfoUnionSpec[] =
{
    LWMSG_UNION_BEGIN(FILE_INFO_UNION),
    LWMSG_MEMBER_POINTER(FILE_INFO_UNION, p2, LWMSG_TYPESPEC(gFileInfo2Spec)),
    LWMSG_ATTR_TAG(FILE_INFO_LEVEL_2),
    LWMSG_MEMBER_POINTER(FILE_INFO_UNION, p3, LWMSG_TYPESPEC(gFileInfo3Spec)),
    LWMSG_ATTR_TAG(FILE_INFO_LEVEL_3),