*/ #include "ipc.h" /******************************************************************************/ static LWMsgTypeSpec gNtlmSecBufferSpec[] = { // DWORD cbBuffer; // DWORD BufferType; // PVOID pvBuffer; LWMSG_STRUCT_BEGIN(SecBuffer), LWMSG_MEMBER_UINT32(SecBuffer, cbBuffer), LWMSG_MEMBER_UINT32(SecBuffer, BufferType), LWMSG_MEMBER_POINTER(SecBuffer, pvBuffer, LWMSG_UINT8(CHAR)), LWMSG_ATTR_LENGTH_MEMBER(SecBuffer, cbBuffer), LWMSG_ATTR_ENCODING("hex+ascii"), LWMSG_STRUCT_END, LWMSG_TYPE_END }; /******************************************************************************/ static LWMsgTypeSpec gNtlmSecBufferDescSpec[] = { // For now, I don't believe we need this version information // DWORD ulVersion; // DWORD cBuffers; // PSecBuffer pBuffers;
}; /******************************************************************************/ static LWMsgTypeSpec gRegValueEntSpec[] = { // PWSTR ve_valuename; // DWORD ve_valuelen; // PDWORD ve_valueptr; // DWORD ve_type; LWMSG_STRUCT_BEGIN(VALENT), LWMSG_MEMBER_PWSTR(VALENT, ve_valuename), LWMSG_MEMBER_UINT32(VALENT, ve_valuelen), LWMSG_MEMBER_POINTER(VALENT, ve_valueptr, LWMSG_UINT32(DWORD)), LWMSG_MEMBER_UINT32(VALENT, ve_type), LWMSG_STRUCT_END, LWMSG_TYPE_END }; 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_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),