4e2933c620 2015-04-21 kinaba: /***********************************************************************\ 4e2933c620 2015-04-21 kinaba: * nddeapi.d * 4e2933c620 2015-04-21 kinaba: * * 4e2933c620 2015-04-21 kinaba: * Windows API header module * 4e2933c620 2015-04-21 kinaba: * * 4e2933c620 2015-04-21 kinaba: * Translated from MinGW Windows headers * 4e2933c620 2015-04-21 kinaba: * by Stewart Gordon * 4e2933c620 2015-04-21 kinaba: * * 4e2933c620 2015-04-21 kinaba: * Placed into public domain * 4e2933c620 2015-04-21 kinaba: \***********************************************************************/ 4e2933c620 2015-04-21 kinaba: module win32.nddeapi; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: private import win32.windef; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // FIXME: check types and grouping of constants 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: /+ 4e2933c620 2015-04-21 kinaba: #ifndef CNLEN /* also in lmcons.h */ 4e2933c620 2015-04-21 kinaba: #define CNLEN 15 4e2933c620 2015-04-21 kinaba: #define UNCLEN (CNLEN + 2) 4e2933c620 2015-04-21 kinaba: #endif 4e2933c620 2015-04-21 kinaba: +/ 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const char SEP_CHAR = ','; 4e2933c620 2015-04-21 kinaba: const char[] BAR_CHAR = "|"; 4e2933c620 2015-04-21 kinaba: const wchar SEP_WCHAR = ','; 4e2933c620 2015-04-21 kinaba: const wchar[] BAR_WCHAR = "|"; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum { 4e2933c620 2015-04-21 kinaba: NDDE_NO_ERROR, 4e2933c620 2015-04-21 kinaba: NDDE_ACCESS_DENIED, 4e2933c620 2015-04-21 kinaba: NDDE_BUF_TOO_SMALL, 4e2933c620 2015-04-21 kinaba: NDDE_ERROR_MORE_DATA, 4e2933c620 2015-04-21 kinaba: NDDE_INVALID_SERVER, 4e2933c620 2015-04-21 kinaba: NDDE_INVALID_SHARE, 4e2933c620 2015-04-21 kinaba: NDDE_INVALID_PARAMETER, 4e2933c620 2015-04-21 kinaba: NDDE_INVALID_LEVEL, 4e2933c620 2015-04-21 kinaba: NDDE_INVALID_PASSWORD, 4e2933c620 2015-04-21 kinaba: NDDE_INVALID_ITEMNAME, 4e2933c620 2015-04-21 kinaba: NDDE_INVALID_TOPIC, 4e2933c620 2015-04-21 kinaba: NDDE_INTERNAL_ERROR, 4e2933c620 2015-04-21 kinaba: NDDE_OUT_OF_MEMORY, 4e2933c620 2015-04-21 kinaba: NDDE_INVALID_APPNAME, 4e2933c620 2015-04-21 kinaba: NDDE_NOT_IMPLEMENTED, 4e2933c620 2015-04-21 kinaba: NDDE_SHARE_ALREADY_EXIST, 4e2933c620 2015-04-21 kinaba: NDDE_SHARE_NOT_EXIST, 4e2933c620 2015-04-21 kinaba: NDDE_INVALID_FILENAME, 4e2933c620 2015-04-21 kinaba: NDDE_NOT_RUNNING, 4e2933c620 2015-04-21 kinaba: NDDE_INVALID_WINDOW, 4e2933c620 2015-04-21 kinaba: NDDE_INVALID_SESSION, 4e2933c620 2015-04-21 kinaba: NDDE_INVALID_ITEM_LIST, 4e2933c620 2015-04-21 kinaba: NDDE_SHARE_DATA_CORRUPTED, 4e2933c620 2015-04-21 kinaba: NDDE_REGISTRY_ERROR, 4e2933c620 2015-04-21 kinaba: NDDE_CANT_ACCESS_SERVER, 4e2933c620 2015-04-21 kinaba: NDDE_INVALID_SPECIAL_COMMAND, 4e2933c620 2015-04-21 kinaba: NDDE_INVALID_SECURITY_DESC, 4e2933c620 2015-04-21 kinaba: NDDE_TRUST_SHARE_FAIL 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const size_t 4e2933c620 2015-04-21 kinaba: MAX_NDDESHARENAME = 256, 4e2933c620 2015-04-21 kinaba: MAX_DOMAINNAME = 15, 4e2933c620 2015-04-21 kinaba: MAX_USERNAME = 15, 4e2933c620 2015-04-21 kinaba: MAX_APPNAME = 255, 4e2933c620 2015-04-21 kinaba: MAX_TOPICNAME = 255, 4e2933c620 2015-04-21 kinaba: MAX_ITEMNAME = 255; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const NDDEF_NOPASSWORDPROMPT = 1; 4e2933c620 2015-04-21 kinaba: const NDDEF_NOCACHELOOKUP = 2; 4e2933c620 2015-04-21 kinaba: const NDDEF_STRIP_NDDE = 4; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const SHARE_TYPE_OLD = 1; 4e2933c620 2015-04-21 kinaba: const SHARE_TYPE_NEW = 2; 4e2933c620 2015-04-21 kinaba: const SHARE_TYPE_STATIC = 4; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const uint 4e2933c620 2015-04-21 kinaba: NDDE_CMD_SHOW_MASK = 0x0000FFFF, 4e2933c620 2015-04-21 kinaba: NDDE_TRUST_CMD_SHOW = 0x10000000, 4e2933c620 2015-04-21 kinaba: NDDE_TRUST_SHARE_DEL = 0x20000000, 4e2933c620 2015-04-21 kinaba: NDDE_TRUST_SHARE_INIT = 0x40000000, 4e2933c620 2015-04-21 kinaba: NDDE_TRUST_SHARE_START = 0x80000000; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct NDdeShareInfo_tag { 4e2933c620 2015-04-21 kinaba: LONG lRevision; 4e2933c620 2015-04-21 kinaba: LPTSTR lpszShareName; 4e2933c620 2015-04-21 kinaba: LONG lShareType; 4e2933c620 2015-04-21 kinaba: LPTSTR lpszAppTopicList; 4e2933c620 2015-04-21 kinaba: LONG fSharedFlag; 4e2933c620 2015-04-21 kinaba: LONG fService; 4e2933c620 2015-04-21 kinaba: LONG fStartAppFlag; 4e2933c620 2015-04-21 kinaba: LONG nCmdShow; 4e2933c620 2015-04-21 kinaba: LONG[2] qModifyId; 4e2933c620 2015-04-21 kinaba: LONG cNumItems; 4e2933c620 2015-04-21 kinaba: LPTSTR lpszItemList; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: extern (C) { // huh? 4e2933c620 2015-04-21 kinaba: NDdeShareInfo_tag NDDESHAREINFO; 4e2933c620 2015-04-21 kinaba: NDdeShareInfo_tag* PNDDESHAREINFO; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: extern (Windows) { 4e2933c620 2015-04-21 kinaba: UINT NDdeGetErrorStringA(UINT, LPSTR, DWORD); 4e2933c620 2015-04-21 kinaba: UINT NDdeGetErrorStringW(UINT, LPWSTR, DWORD); 4e2933c620 2015-04-21 kinaba: UINT NDdeGetShareSecurityA(LPSTR, LPSTR, SECURITY_INFORMATION, 4e2933c620 2015-04-21 kinaba: PSECURITY_DESCRIPTOR, DWORD, PDWORD); 4e2933c620 2015-04-21 kinaba: UINT NDdeGetShareSecurityW(LPWSTR, LPWSTR, SECURITY_INFORMATION, 4e2933c620 2015-04-21 kinaba: PSECURITY_DESCRIPTOR, DWORD, PDWORD); 4e2933c620 2015-04-21 kinaba: UINT NDdeGetTrustedShareA(LPSTR, LPSTR, PDWORD, PDWORD, PDWORD); 4e2933c620 2015-04-21 kinaba: UINT NDdeGetTrustedShareW(LPWSTR, LPWSTR, PDWORD, PDWORD, PDWORD); 4e2933c620 2015-04-21 kinaba: BOOL NDdeIsValidShareNameA(LPSTR); 4e2933c620 2015-04-21 kinaba: BOOL NDdeIsValidShareNameW(LPWSTR); 4e2933c620 2015-04-21 kinaba: BOOL NDdeIsValidAppTopicListA(LPSTR); 4e2933c620 2015-04-21 kinaba: BOOL NDdeIsValidAppTopicListW(LPWSTR); 4e2933c620 2015-04-21 kinaba: UINT NDdeSetShareSecurityA(LPSTR, LPSTR, SECURITY_INFORMATION, 4e2933c620 2015-04-21 kinaba: PSECURITY_DESCRIPTOR); 4e2933c620 2015-04-21 kinaba: UINT NDdeSetShareSecurityW(LPWSTR, LPWSTR, SECURITY_INFORMATION, 4e2933c620 2015-04-21 kinaba: PSECURITY_DESCRIPTOR); 4e2933c620 2015-04-21 kinaba: UINT NDdeSetTrustedShareA(LPSTR, LPSTR, DWORD); 4e2933c620 2015-04-21 kinaba: UINT NDdeSetTrustedShareW(LPWSTR, LPWSTR, DWORD); 4e2933c620 2015-04-21 kinaba: UINT NDdeShareAddA(LPSTR, UINT, PSECURITY_DESCRIPTOR, PBYTE, DWORD); 4e2933c620 2015-04-21 kinaba: UINT NDdeShareAddW(LPWSTR, UINT, PSECURITY_DESCRIPTOR, PBYTE, DWORD); 4e2933c620 2015-04-21 kinaba: UINT NDdeShareDelA(LPSTR, LPSTR, UINT); 4e2933c620 2015-04-21 kinaba: UINT NDdeShareDelW(LPWSTR, LPWSTR, UINT); 4e2933c620 2015-04-21 kinaba: UINT NDdeShareEnumA(LPSTR, UINT, PBYTE, DWORD, PDWORD, PDWORD); 4e2933c620 2015-04-21 kinaba: UINT NDdeShareEnumW(LPWSTR, UINT, PBYTE, DWORD, PDWORD, PDWORD); 4e2933c620 2015-04-21 kinaba: UINT NDdeShareGetInfoA(LPSTR, LPSTR, UINT, PBYTE, DWORD, PDWORD, PWORD); 4e2933c620 2015-04-21 kinaba: UINT NDdeShareGetInfoW(LPWSTR, LPWSTR, UINT, PBYTE, DWORD, PDWORD, PWORD); 4e2933c620 2015-04-21 kinaba: UINT NDdeShareSetInfoA(LPSTR, LPSTR, UINT, PBYTE, DWORD, WORD); 4e2933c620 2015-04-21 kinaba: UINT NDdeShareSetInfoW(LPWSTR, LPWSTR, UINT, PBYTE, DWORD, WORD); 4e2933c620 2015-04-21 kinaba: UINT NDdeTrustedShareEnumA(LPSTR, UINT, PBYTE, DWORD, PDWORD, PDWORD); 4e2933c620 2015-04-21 kinaba: UINT NDdeTrustedShareEnumW(LPWSTR, UINT, PBYTE, DWORD, PDWORD, PDWORD); 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: version (Unicode) { 4e2933c620 2015-04-21 kinaba: alias NDdeShareAddW NDdeShareAdd; 4e2933c620 2015-04-21 kinaba: alias NDdeShareDelW NDdeShareDel; 4e2933c620 2015-04-21 kinaba: alias NDdeSetShareSecurityW NDdeSetShareSecurity; 4e2933c620 2015-04-21 kinaba: alias NDdeGetShareSecurityW NDdeGetShareSecurity; 4e2933c620 2015-04-21 kinaba: alias NDdeShareEnumW NDdeShareEnum; 4e2933c620 2015-04-21 kinaba: alias NDdeShareGetInfoW NDdeShareGetInfo; 4e2933c620 2015-04-21 kinaba: alias NDdeShareSetInfoW NDdeShareSetInfo; 4e2933c620 2015-04-21 kinaba: alias NDdeGetErrorStringW NDdeGetErrorString; 4e2933c620 2015-04-21 kinaba: alias NDdeIsValidShareNameW NDdeIsValidShareName; 4e2933c620 2015-04-21 kinaba: alias NDdeIsValidAppTopicListW NDdeIsValidAppTopicList; 4e2933c620 2015-04-21 kinaba: alias NDdeSetTrustedShareW NDdeSetTrustedShare; 4e2933c620 2015-04-21 kinaba: alias NDdeGetTrustedShareW NDdeGetTrustedShare; 4e2933c620 2015-04-21 kinaba: alias NDdeTrustedShareEnumW NDdeTrustedShareEnum; 4e2933c620 2015-04-21 kinaba: } else { 4e2933c620 2015-04-21 kinaba: alias NDdeShareAddA NDdeShareAdd; 4e2933c620 2015-04-21 kinaba: alias NDdeShareDelA NDdeShareDel; 4e2933c620 2015-04-21 kinaba: alias NDdeSetShareSecurityA NDdeSetShareSecurity; 4e2933c620 2015-04-21 kinaba: alias NDdeGetShareSecurityA NDdeGetShareSecurity; 4e2933c620 2015-04-21 kinaba: alias NDdeShareEnumA NDdeShareEnum; 4e2933c620 2015-04-21 kinaba: alias NDdeShareGetInfoA NDdeShareGetInfo; 4e2933c620 2015-04-21 kinaba: alias NDdeShareSetInfoA NDdeShareSetInfo; 4e2933c620 2015-04-21 kinaba: alias NDdeGetErrorStringA NDdeGetErrorString; 4e2933c620 2015-04-21 kinaba: alias NDdeIsValidShareNameA NDdeIsValidShareName; 4e2933c620 2015-04-21 kinaba: alias NDdeIsValidAppTopicListA NDdeIsValidAppTopicList; 4e2933c620 2015-04-21 kinaba: alias NDdeSetTrustedShareA NDdeSetTrustedShare; 4e2933c620 2015-04-21 kinaba: alias NDdeGetTrustedShareA NDdeGetTrustedShare; 4e2933c620 2015-04-21 kinaba: alias NDdeTrustedShareEnumA NDdeTrustedShareEnum; 4e2933c620 2015-04-21 kinaba: }