Пример #1
0
static LWMsgTypeSpec gRegQueryMultipleValuesSpec[] =
{
    // HKEY hKey;
    // DWORD num_vals;
    // PVALENT val_list;
    // DWORD dwTotalsize;
    // PWSTR pValue;

    LWMSG_STRUCT_BEGIN(REG_IPC_QUERY_MULTIPLE_VALUES_REQ),

    LWMSG_MEMBER_HANDLE(REG_IPC_QUERY_MULTIPLE_VALUES_REQ, hKey, HKEY),
    LWMSG_ATTR_HANDLE_LOCAL_FOR_RECEIVER,

    LWMSG_MEMBER_UINT32(REG_IPC_QUERY_MULTIPLE_VALUES_REQ, num_vals),
    LWMSG_MEMBER_POINTER_BEGIN(REG_IPC_QUERY_MULTIPLE_VALUES_REQ, val_list),
    LWMSG_TYPESPEC(gRegValueEntSpec),
    LWMSG_POINTER_END,
    LWMSG_ATTR_LENGTH_MEMBER(REG_IPC_QUERY_MULTIPLE_VALUES_REQ, num_vals),

    LWMSG_MEMBER_UINT32(REG_IPC_QUERY_MULTIPLE_VALUES_REQ, dwTotalsize),
    LWMSG_MEMBER_PWSTR(REG_IPC_QUERY_MULTIPLE_VALUES_REQ, pValue),
    LWMSG_ATTR_LENGTH_MEMBER(REG_IPC_QUERY_MULTIPLE_VALUES_REQ, dwTotalsize),

    LWMSG_STRUCT_END,
    LWMSG_TYPE_END
};

static LWMsgTypeSpec gRegQueryMultipleValuesRespSpec[] =
{
    // DWORD num_vals;
    // PVALENT val_list;
Пример #2
0
static LWMsgTypeSpec gLWNetDcAddressSpec[] =
{
    LWMSG_STRUCT_BEGIN(LWNET_DC_ADDRESS),
    LWMSG_MEMBER_PSTR(LWNET_DC_ADDRESS, pszDomainControllerName),
    LWMSG_MEMBER_PSTR(LWNET_DC_ADDRESS, pszDomainControllerAddress),
    LWMSG_STRUCT_END,
    LWMSG_TYPE_END
};

static LWMsgTypeSpec gLWNetIpcDcListSpec[] =
{
    LWMSG_STRUCT_BEGIN(LWNET_IPC_DC_LIST),
    LWMSG_MEMBER_UINT32(LWNET_IPC_DC_LIST, dwDcCount),
    LWMSG_MEMBER_POINTER_BEGIN(LWNET_IPC_DC_LIST, pDcList),
    LWMSG_TYPESPEC(gLWNetDcAddressSpec),
    LWMSG_POINTER_END,
    LWMSG_ATTR_LENGTH_MEMBER(LWNET_IPC_DC_LIST, dwDcCount),
    LWMSG_STRUCT_END,
    LWMSG_TYPE_END
};


static LWMsgTypeSpec gLWNetAddrTypeSpec[] =
{
    LWMSG_ENUM_BEGIN(LWNET_ADDR_TYPE, 2, LWMSG_UNSIGNED),
    LWMSG_ENUM_VALUE(LWNET_IP_ADDR_V4),
    LWMSG_ENUM_VALUE(LWNET_IP_ADDR_V6),
    LWMSG_ENUM_END,
    LWMSG_TYPE_END
};
Пример #3
0
};

/******************************************************************************/

static LWMsgTypeSpec gNtlmSecBufferDescSpec[] =
{
    // For now, I don't believe we need this version information
    // DWORD      ulVersion;
    // DWORD      cBuffers;
    // PSecBuffer pBuffers;

    LWMSG_STRUCT_BEGIN(SecBufferDesc),
    //LWMSG_MEMBER_UINT32(SecBufferDesc, ulVersion),
    LWMSG_MEMBER_UINT32(SecBufferDesc, cBuffers),
    LWMSG_MEMBER_POINTER_BEGIN(SecBufferDesc, pBuffers),
    LWMSG_TYPESPEC(gNtlmSecBufferSpec),
    LWMSG_POINTER_END,
    LWMSG_ATTR_LENGTH_MEMBER(SecBufferDesc, cBuffers),
    LWMSG_STRUCT_END,
    LWMSG_TYPE_END
};

/******************************************************************************/

static LWMsgTypeSpec gNtlmLuidSpec[] =
{
    // DWORD LowPart;
    // INT  HighPart;

    LWMSG_STRUCT_BEGIN(LUID),
    LWMSG_MEMBER_UINT32(LUID, LowPart),
Пример #4
0
    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),
    LWMSG_UNION_END,
    LWMSG_TYPE_END
};

static LWMsgTypeSpec gFileInfoEnumInParamsSpec[] =
{
    LWMSG_STRUCT_BEGIN(FILE_INFO_ENUM_IN_PARAMS),
    LWMSG_MEMBER_PWSTR(FILE_INFO_ENUM_IN_PARAMS,         pwszBasepath),
    LWMSG_MEMBER_PWSTR(FILE_INFO_ENUM_IN_PARAMS,         pwszUsername),
    LWMSG_MEMBER_UINT32(FILE_INFO_ENUM_IN_PARAMS,        dwInfoLevel),
    LWMSG_MEMBER_UINT32(FILE_INFO_ENUM_IN_PARAMS,        dwPreferredMaxLength),
    LWMSG_MEMBER_UINT32(FILE_INFO_ENUM_IN_PARAMS,        dwEntriesRead),