summaryrefslogtreecommitdiffstats
path: root/public/sdk/inc/nddeapi.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--public/sdk/inc/nddeapi.h400
1 files changed, 400 insertions, 0 deletions
diff --git a/public/sdk/inc/nddeapi.h b/public/sdk/inc/nddeapi.h
new file mode 100644
index 000000000..cce14719b
--- /dev/null
+++ b/public/sdk/inc/nddeapi.h
@@ -0,0 +1,400 @@
+/************************************************************************
+* Copyright (c) Wonderware Software Development Corp. 1991-1993. *
+* All Rights Reserved. *
+* Copyright (c) Microsoft Inc. 1995-1996 *
+* All Rights Reserved. *
+************************************************************************/
+
+#ifndef _INC_NDDEAPI
+#define _INC_NDDEAPI
+
+#include <pshpack1.h> /* Assume byte packing throughout */
+
+#ifdef __cplusplus
+extern "C" { /* Assume C declarations for C++ */
+#endif /* __cplusplus */
+
+#ifndef CNLEN /* If not included with netapi header */
+#define CNLEN 15 /* Computer name length */
+#define UNCLEN (CNLEN+2) /* UNC computer name length */
+#endif /* CNLEN */
+
+// the choice of this char affects legal share,topic, etc. names
+#define SEP_CHAR ','
+#define BAR_CHAR "|"
+#define SEP_WCHAR L','
+#define BAR_WCHAR L"|"
+
+/* API error codes */
+#define NDDE_NO_ERROR 0
+#define NDDE_ACCESS_DENIED 1
+#define NDDE_BUF_TOO_SMALL 2
+#define NDDE_ERROR_MORE_DATA 3
+#define NDDE_INVALID_SERVER 4
+#define NDDE_INVALID_SHARE 5
+#define NDDE_INVALID_PARAMETER 6
+#define NDDE_INVALID_LEVEL 7
+#define NDDE_INVALID_PASSWORD 8
+#define NDDE_INVALID_ITEMNAME 9
+#define NDDE_INVALID_TOPIC 10
+#define NDDE_INTERNAL_ERROR 11
+#define NDDE_OUT_OF_MEMORY 12
+#define NDDE_INVALID_APPNAME 13
+#define NDDE_NOT_IMPLEMENTED 14
+#define NDDE_SHARE_ALREADY_EXIST 15
+#define NDDE_SHARE_NOT_EXIST 16
+#define NDDE_INVALID_FILENAME 17
+#define NDDE_NOT_RUNNING 18
+#define NDDE_INVALID_WINDOW 19
+#define NDDE_INVALID_SESSION 20
+#define NDDE_INVALID_ITEM_LIST 21
+#define NDDE_SHARE_DATA_CORRUPTED 22
+#define NDDE_REGISTRY_ERROR 23
+#define NDDE_CANT_ACCESS_SERVER 24
+#define NDDE_INVALID_SPECIAL_COMMAND 25
+#define NDDE_INVALID_SECURITY_DESC 26
+#define NDDE_TRUST_SHARE_FAIL 27
+
+/* string size constants */
+#define MAX_NDDESHARENAME 256
+#define MAX_DOMAINNAME 15
+#define MAX_USERNAME 15
+#define MAX_APPNAME 255
+#define MAX_TOPICNAME 255
+#define MAX_ITEMNAME 255
+
+/* connectFlags bits for ndde service affix */
+#define NDDEF_NOPASSWORDPROMPT 0x0001
+#define NDDEF_NOCACHELOOKUP 0x0002
+#define NDDEF_STRIP_NDDE 0x0004
+
+
+/* NDDESHAREINFO - contains information about a NDDE share */
+
+struct NDdeShareInfo_tag {
+ LONG lRevision;
+ LPTSTR lpszShareName;
+ LONG lShareType;
+ LPTSTR lpszAppTopicList;
+ LONG fSharedFlag;
+ LONG fService;
+ LONG fStartAppFlag;
+ LONG nCmdShow;
+ LONG qModifyId[2];
+ LONG cNumItems;
+ LPTSTR lpszItemList;
+};
+typedef struct NDdeShareInfo_tag NDDESHAREINFO;
+typedef struct NDdeShareInfo_tag * PNDDESHAREINFO;
+
+/* Share Types */
+#define SHARE_TYPE_OLD 0x01 // Excel|sheet1.xls
+#define SHARE_TYPE_NEW 0x02 // ExcelWorksheet|sheet1.xls
+#define SHARE_TYPE_STATIC 0x04 // ClipSrv|SalesData
+
+/*
+ Add new share
+*/
+UINT WINAPI
+NDdeShareAddA (
+ LPSTR lpszServer, // server to execute on ( must be NULL )
+ UINT nLevel, // info level must be 2
+ PSECURITY_DESCRIPTOR pSD, // initial security descriptor (optional)
+ LPBYTE lpBuffer, // contains (NDDESHAREINFO) + data
+ DWORD cBufSize // sizeof supplied buffer
+);
+
+UINT WINAPI
+NDdeShareAddW (
+ LPWSTR lpszServer, // server to execute on ( must be NULL )
+ UINT nLevel, // info level must be 2
+ PSECURITY_DESCRIPTOR pSD, // initial security descriptor (optional)
+ LPBYTE lpBuffer, // contains (NDDESHAREINFO) + data
+ DWORD cBufSize // sizeof supplied buffer
+);
+
+/*
+ Delete a share
+*/
+UINT WINAPI
+NDdeShareDelA (
+ LPSTR lpszServer, // server to execute on ( must be NULL )
+ LPSTR lpszShareName, // name of share to delete
+ UINT wReserved // reserved for force level (?) 0 for now
+);
+
+UINT WINAPI
+NDdeShareDelW (
+ LPWSTR lpszServer, // server to execute on ( must be NULL )
+ LPWSTR lpszShareName, // name of share to delete
+ UINT wReserved // reserved for force level (?) 0 for now
+);
+
+/*
+ Get Share Security Descriptor
+*/
+
+UINT WINAPI
+NDdeGetShareSecurityA(
+ LPSTR lpszServer, // server to execute on ( must be NULL )
+ LPSTR lpszShareName, // name of share to delete
+ SECURITY_INFORMATION si, // requested information
+ PSECURITY_DESCRIPTOR pSD, // address of security descriptor
+ DWORD cbSD, // size of buffer for security descriptor
+ LPDWORD lpcbsdRequired // address of required size of buffer
+);
+
+UINT WINAPI
+NDdeGetShareSecurityW(
+ LPWSTR lpszServer, // server to execute on ( must be NULL )
+ LPWSTR lpszShareName, // name of share to delete
+ SECURITY_INFORMATION si, // requested information
+ PSECURITY_DESCRIPTOR pSD, // address of security descriptor
+ DWORD cbSD, // size of buffer for security descriptor
+ LPDWORD lpcbsdRequired // address of required size of buffer
+);
+
+/*
+ Set Share Security Descriptor
+*/
+
+UINT WINAPI
+NDdeSetShareSecurityA(
+ LPSTR lpszServer, // server to execute on ( must be NULL )
+ LPSTR lpszShareName, // name of share to delete
+ SECURITY_INFORMATION si, // type of information to set
+ PSECURITY_DESCRIPTOR pSD // address of security descriptor
+);
+
+UINT WINAPI
+NDdeSetShareSecurityW(
+ LPWSTR lpszServer, // server to execute on ( must be NULL )
+ LPWSTR lpszShareName, // name of share to delete
+ SECURITY_INFORMATION si, // type of information to set
+ PSECURITY_DESCRIPTOR pSD // address of security descriptor
+);
+
+/*
+ Enumerate shares
+*/
+UINT WINAPI
+NDdeShareEnumA (
+ LPSTR lpszServer, // server to execute on ( NULL for local )
+ UINT nLevel, // 0 for null separated 00 terminated list
+ LPBYTE lpBuffer, // pointer to buffer
+ DWORD cBufSize, // size of buffer
+ LPDWORD lpnEntriesRead, // number of names returned
+ LPDWORD lpcbTotalAvailable // number of bytes available
+);
+
+UINT WINAPI
+NDdeShareEnumW (
+ LPWSTR lpszServer, // server to execute on ( NULL for local )
+ UINT nLevel, // 0 for null separated 00 terminated list
+ LPBYTE lpBuffer, // pointer to buffer
+ DWORD cBufSize, // size of buffer
+ LPDWORD lpnEntriesRead, // number of names returned
+ LPDWORD lpcbTotalAvailable // number of bytes available
+);
+
+/*
+ Get information on a share
+*/
+UINT WINAPI
+NDdeShareGetInfoA (
+ LPSTR lpszServer, // server to execute on ( must be NULL )
+ LPSTR lpszShareName, // name of share
+ UINT nLevel, // info level must be 2
+ LPBYTE lpBuffer, // gets struct containing (NDDESHAREINFO) + data
+ DWORD cBufSize, // sizeof buffer
+ LPDWORD lpnTotalAvailable, // number of bytes available
+ LPWORD lpnItems // item mask for partial getinfo (must be 0)
+);
+
+UINT WINAPI
+NDdeShareGetInfoW (
+ LPWSTR lpszServer, // server to execute on ( must be NULL )
+ LPWSTR lpszShareName, // name of share
+ UINT nLevel, // info level must be 2
+ LPBYTE lpBuffer, // gets struct containing (NDDESHAREINFO) + data
+ DWORD cBufSize, // sizeof buffer
+ LPDWORD lpnTotalAvailable, // number of bytes available
+ LPWORD lpnItems // item mask for partial getinfo (must be 0)
+);
+
+/*
+ Modify DDE share data
+*/
+UINT WINAPI
+NDdeShareSetInfoA (
+ LPSTR lpszServer, // server to execute on ( must be NULL )
+ LPSTR lpszShareName, // name of share
+ UINT nLevel, // info level must be 2
+ LPBYTE lpBuffer, // points to struct with (NDDESHAREINFO) + data
+ DWORD cBufSize, // sizeof buffer
+ WORD sParmNum // Parameter index ( must be 0 - entire )
+);
+
+UINT WINAPI
+NDdeShareSetInfoW (
+ LPWSTR lpszServer, // server to execute on ( must be NULL )
+ LPWSTR lpszShareName, // name of share
+ UINT nLevel, // info level must be 2
+ LPBYTE lpBuffer, // points to struct with (NDDESHAREINFO) + data
+ DWORD cBufSize, // sizeof buffer
+ WORD sParmNum // Parameter index ( must be 0 - entire )
+);
+
+/*
+ Set/Create a trusted share
+*/
+
+UINT WINAPI
+NDdeSetTrustedShareA (
+ LPSTR lpszServer, // server to execute on ( must be NULL )
+ LPSTR lpszShareName, // name of share to delete
+ DWORD dwTrustOptions // trust options to apply
+);
+
+UINT WINAPI
+NDdeSetTrustedShareW (
+ LPWSTR lpszServer, // server to execute on ( must be NULL )
+ LPWSTR lpszShareName, // name of share to delete
+ DWORD dwTrustOptions // trust options to apply
+);
+
+ /* Trusted share options */
+#define NDDE_TRUST_SHARE_START 0x80000000L // Start App Allowed
+#define NDDE_TRUST_SHARE_INIT 0x40000000L // Init Conv Allowed
+#define NDDE_TRUST_SHARE_DEL 0x20000000L // Delete Trusted Share (on set)
+#define NDDE_TRUST_CMD_SHOW 0x10000000L // Use supplied cmd show
+#define NDDE_CMD_SHOW_MASK 0x0000FFFFL // Command Show mask
+
+/*
+ Get a trusted share options
+*/
+
+UINT WINAPI
+NDdeGetTrustedShareA (
+ LPSTR lpszServer, // server to execute on ( must be NULL )
+ LPSTR lpszShareName, // name of share to query
+ LPDWORD lpdwTrustOptions, // trust options in effect
+ LPDWORD lpdwShareModId0, // first word of share mod id
+ LPDWORD lpdwShareModId1 // second word of share mod id
+);
+
+UINT WINAPI
+NDdeGetTrustedShareW (
+ LPWSTR lpszServer, // server to execute on ( must be NULL )
+ LPWSTR lpszShareName, // name of share to query
+ LPDWORD lpdwTrustOptions, // trust options in effect
+ LPDWORD lpdwShareModId0, // first word of share mod id
+ LPDWORD lpdwShareModId1 // second word of share mod id
+);
+
+
+/*
+ Enumerate trusted shares
+*/
+UINT WINAPI
+NDdeTrustedShareEnumA (
+ LPSTR lpszServer, // server to execute on ( NULL for local )
+ UINT nLevel, // 0 for null separated 00 terminated list
+ LPBYTE lpBuffer, // pointer to buffer
+ DWORD cBufSize, // size of buffer
+ LPDWORD lpnEntriesRead, // number of names returned
+ LPDWORD lpcbTotalAvailable // number of bytes available
+);
+
+UINT WINAPI
+NDdeTrustedShareEnumW (
+ LPWSTR lpszServer, // server to execute on ( NULL for local )
+ UINT nLevel, // 0 for null separated 00 terminated list
+ LPBYTE lpBuffer, // pointer to buffer
+ DWORD cBufSize, // size of buffer
+ LPDWORD lpnEntriesRead, // number of names returned
+ LPDWORD lpcbTotalAvailable // number of bytes available
+);
+
+/*
+ Convert error code to string value
+*/
+UINT WINAPI
+NDdeGetErrorStringA (
+ UINT uErrorCode, // Error code to get string for
+ LPSTR lpszErrorString, // buffer to hold error string
+ DWORD cBufSize // sizeof buffer
+);
+
+UINT WINAPI
+NDdeGetErrorStringW (
+ UINT uErrorCode, // Error code to get string for
+ LPWSTR lpszErrorString, // buffer to hold error string
+ DWORD cBufSize // sizeof buffer
+);
+
+/*
+ Validate share name format
+*/
+BOOL WINAPI
+NDdeIsValidShareNameA (
+ LPSTR shareName
+);
+
+BOOL WINAPI
+NDdeIsValidShareNameW (
+ LPWSTR shareName
+);
+
+/*
+ Validate application/topic list format
+*/
+BOOL WINAPI
+NDdeIsValidAppTopicListA (
+ LPSTR targetTopic
+);
+
+BOOL WINAPI
+NDdeIsValidAppTopicListW (
+ LPWSTR targetTopic
+);
+
+#ifdef UNICODE
+#define NDdeShareAdd NDdeShareAddW
+#define NDdeShareDel NDdeShareDelW
+#define NDdeSetShareSecurity NDdeSetShareSecurityW
+#define NDdeGetShareSecurity NDdeGetShareSecurityW
+#define NDdeShareEnum NDdeShareEnumW
+#define NDdeShareGetInfo NDdeShareGetInfoW
+#define NDdeShareSetInfo NDdeShareSetInfoW
+#define NDdeGetErrorString NDdeGetErrorStringW
+#define NDdeIsValidShareName NDdeIsValidShareNameW
+#define NDdeIsValidAppTopicList NDdeIsValidAppTopicListW
+#define NDdeSetTrustedShare NDdeSetTrustedShareW
+#define NDdeGetTrustedShare NDdeGetTrustedShareW
+#define NDdeTrustedShareEnum NDdeTrustedShareEnumW
+#else
+#define NDdeShareAdd NDdeShareAddA
+#define NDdeShareDel NDdeShareDelA
+#define NDdeSetShareSecurity NDdeSetShareSecurityA
+#define NDdeGetShareSecurity NDdeGetShareSecurityA
+#define NDdeShareEnum NDdeShareEnumA
+#define NDdeShareGetInfo NDdeShareGetInfoA
+#define NDdeShareSetInfo NDdeShareSetInfoA
+#define NDdeGetErrorString NDdeGetErrorStringA
+#define NDdeIsValidShareName NDdeIsValidShareNameA
+#define NDdeIsValidAppTopicList NDdeIsValidAppTopicListA
+#define NDdeSetTrustedShare NDdeSetTrustedShareA
+#define NDdeGetTrustedShare NDdeGetTrustedShareA
+#define NDdeTrustedShareEnum NDdeTrustedShareEnumA
+#endif
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#include <poppack.h>
+
+#endif /* _INC_NDDEAPI */
+
+