#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; LWMSG_STRUCT_BEGIN(SecBufferDesc),
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 }; static LWMsgTypeSpec gRegCreateKeyExRespSpec[] = { // OUT HKEY hkResult, // OUT OPTIONAL DWORD dwDisposition LWMSG_STRUCT_BEGIN(REG_IPC_CREATE_KEY_EX_RESPONSE), LWMSG_MEMBER_HANDLE(REG_IPC_CREATE_KEY_EX_RESPONSE, hkResult, HKEY), LWMSG_ATTR_HANDLE_LOCAL_FOR_SENDER,
LWMSG_TYPE_END }; static LWMsgTypeSpec gLWNetIpcGetDcSpec[] = { LWMSG_STRUCT_BEGIN(LWNET_IPC_GET_DC), LWMSG_MEMBER_PSTR(LWNET_IPC_GET_DC, pszServerFQDN), LWMSG_MEMBER_PSTR(LWNET_IPC_GET_DC, pszDomainFQDN), LWMSG_MEMBER_PSTR(LWNET_IPC_GET_DC, pszSiteName), LWMSG_MEMBER_PSTR(LWNET_IPC_GET_DC, pszPrimaryDomain), LWMSG_MEMBER_UINT32(LWNET_IPC_GET_DC, dwFlags), LWMSG_MEMBER_UINT32(LWNET_IPC_GET_DC, dwBlackListCount), LWMSG_MEMBER_POINTER_BEGIN(LWNET_IPC_GET_DC, ppszAddressBlackList), LWMSG_PSTR, LWMSG_POINTER_END, LWMSG_ATTR_LENGTH_MEMBER(LWNET_IPC_GET_DC, dwBlackListCount), LWMSG_STRUCT_END, LWMSG_TYPE_END }; static LWMsgTypeSpec gLWNetDcInfoSpec[] = { LWMSG_STRUCT_BEGIN(LWNET_DC_INFO), LWMSG_MEMBER_UINT32(LWNET_DC_INFO, dwPingTime), LWMSG_MEMBER_UINT32(LWNET_DC_INFO, dwDomainControllerAddressType), LWMSG_MEMBER_UINT32(LWNET_DC_INFO, dwFlags), LWMSG_MEMBER_UINT32(LWNET_DC_INFO, dwVersion), LWMSG_MEMBER_UINT16(LWNET_DC_INFO, wLMToken), LWMSG_MEMBER_UINT16(LWNET_DC_INFO, wNTToken), LWMSG_MEMBER_PSTR(LWNET_DC_INFO, pszDomainControllerName), LWMSG_MEMBER_PSTR(LWNET_DC_INFO, pszDomainControllerAddress),