179 lines
6.7 KiB
C
179 lines
6.7 KiB
C
/*****************************************************************************\
|
|
* *
|
|
* nddeapi.h - Network DDE share manipulation and control functions *
|
|
* *
|
|
* Version 1.0 *
|
|
* *
|
|
* NOTE: windows.h must be #included first *
|
|
* *
|
|
* Copyright (c) 1992, Microsoft Corp. All rights reserved. *
|
|
* *
|
|
\*****************************************************************************/
|
|
|
|
#ifndef _INC_NDDEAPI
|
|
#define _INC_NDDEAPI
|
|
|
|
#ifndef RC_INVOKED
|
|
#pragma pack(1) /* Assume byte packing throughout */
|
|
#endif /* !RC_INVOKED */
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" { /* Assume C declarations for C++ */
|
|
#endif /* __cplusplus */
|
|
|
|
#ifndef WINAPI /* If not included with 3.1 headers... */
|
|
#define WINAPI FAR PASCAL
|
|
#define CALLBACK FAR PASCAL
|
|
#define LPCSTR LPSTR
|
|
#define UINT WORD
|
|
#define LPARAM LONG
|
|
#define WPARAM WORD
|
|
#define LRESULT LONG
|
|
#define HMODULE HANDLE
|
|
#define HINSTANCE HANDLE
|
|
#define HLOCAL HANDLE
|
|
#define HGLOBAL HANDLE
|
|
#endif /* WINAPI */
|
|
|
|
#ifndef CNLEN /* If not included with netapi header */
|
|
#define CNLEN 15 /* Computer name length */
|
|
#define UNCLEN (CNLEN+2) /* UNC computer name length */
|
|
#endif /* CNLEN */
|
|
|
|
/* 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
|
|
|
|
/* string size constants */
|
|
#define MAX_NDDESHARENAME 64
|
|
#define MAX_PASSWORD 15
|
|
#define MAX_USERNAME 15
|
|
#define MAX_DOMAINNAME 15
|
|
#define MAX_APPNAME 255
|
|
#define MAX_TOPICNAME 255
|
|
#define MAX_ITEMNAME 255
|
|
|
|
/* permission mask bits */
|
|
#define NDDEACCESS_REQUEST 0x00000001L
|
|
#define NDDEACCESS_ADVISE 0x00000002L
|
|
#define NDDEACCESS_POKE 0x00000004L
|
|
#define NDDEACCESS_EXECUTE 0x00000008L
|
|
#define NDDEACCESS_START_APP 0x00000010L
|
|
|
|
/* connectFlags bits for ndde service affix */
|
|
#define NDDEF_NOPASSWORDPROMPT 0x0001
|
|
#define NDDEF_NOCACHELOOKUP 0x0002
|
|
#define NDDEF_STRIP_NDDE 0x0004
|
|
|
|
|
|
/* NDDESHAREITEMINFO - contains information about item security */
|
|
|
|
struct NDdeShareItemInfo_tag {
|
|
LPSTR lpszItem;
|
|
DWORD dwPermissions;
|
|
};
|
|
typedef struct NDdeShareItemInfo_tag NDDESHAREITEMINFO;
|
|
typedef struct NDdeShareItemInfo_tag * PNDDESHAREITEMINFO;
|
|
typedef struct NDdeShareItemInfo_tag far * LPNDDESHAREITEMINFO;
|
|
|
|
/* NDDESHAREINFO - contains information about a NDDE share */
|
|
|
|
struct NDdeShareInfo_tag {
|
|
char szShareName[ MAX_NDDESHARENAME+1 ];
|
|
LPSTR lpszTargetApp;
|
|
LPSTR lpszTargetTopic;
|
|
LPBYTE lpbPassword1;
|
|
DWORD cbPassword1;
|
|
DWORD dwPermissions1;
|
|
LPBYTE lpbPassword2;
|
|
DWORD cbPassword2;
|
|
DWORD dwPermissions2;
|
|
LPSTR lpszItem;
|
|
LONG cAddItems;
|
|
LPNDDESHAREITEMINFO lpNDdeShareItemInfo;
|
|
};
|
|
typedef struct NDdeShareInfo_tag NDDESHAREINFO;
|
|
typedef struct NDdeShareInfo_tag * PNDDESHAREINFO;
|
|
typedef struct NDdeShareInfo_tag far * LPNDDESHAREINFO;
|
|
|
|
/* ddesess_Status defines */
|
|
#define NDDESESS_CONNECTING_WAIT_NET_INI 1
|
|
#define NDDESESS_CONNECTING_WAIT_OTHR_ND 2
|
|
#define NDDESESS_CONNECTED 3
|
|
#define NDDESESS_DISCONNECTING 4
|
|
|
|
/* NDDESESSINFO - contains information about a NDDE session */
|
|
|
|
struct NDdeSessInfo_tag {
|
|
char szClientName[UNCLEN+1];
|
|
short Status;
|
|
DWORD UniqueID;
|
|
};
|
|
typedef struct NDdeSessInfo_tag NDDESESSINFO;
|
|
typedef struct NDdeSessInfo_tag * PNDDESESSINFO;
|
|
typedef struct NDdeSessInfo_tag far * LPNDDESESSINFO;
|
|
|
|
/* ddeconn_Status defines */
|
|
#define NDDECONN_WAIT_LOCAL_INIT_ACK 1
|
|
#define NDDECONN_WAIT_NET_INIT_ACK 2
|
|
#define NDDECONN_OK 3
|
|
#define NDDECONN_TERMINATING 4
|
|
#define NDDECONN_WAIT_USER_PASSWORD 5
|
|
|
|
/* NDDECONNINFO - contains information about a NDDE conversation */
|
|
|
|
struct NDdeConnInfo_tag {
|
|
LPSTR lpszShareName;
|
|
short Status;
|
|
short pad;
|
|
};
|
|
typedef struct NDdeConnInfo_tag NDDECONNINFO;
|
|
typedef struct NDdeConnInfo_tag * PNDDECONNINFO;
|
|
typedef struct NDdeConnInfo_tag far * LPNDDECONNINFO;
|
|
|
|
UINT WINAPI NDdeShareAdd(LPSTR, UINT, LPBYTE, DWORD );
|
|
UINT WINAPI NDdeShareDel(LPSTR, LPSTR, UINT );
|
|
UINT WINAPI NDdeShareEnum(LPSTR, UINT, LPBYTE, DWORD, LPDWORD, LPDWORD );
|
|
UINT WINAPI NDdeShareGetInfo(LPSTR, LPSTR, UINT, LPBYTE, DWORD, LPDWORD, LPWORD);
|
|
UINT WINAPI NDdeShareSetInfo(LPSTR, LPSTR, UINT, LPBYTE, DWORD, WORD);
|
|
UINT WINAPI NDdeGetErrorString(UINT, LPSTR, DWORD);
|
|
BOOL WINAPI NDdeIsValidShareName(LPSTR);
|
|
BOOL WINAPI NDdeIsValidPassword(LPSTR);
|
|
BOOL WINAPI NDdeIsValidTopic(LPSTR);
|
|
BOOL WINAPI NDdeIsSharingAllowed(VOID);
|
|
UINT WINAPI NDdeSessionEnum(LPSTR, UINT, LPBYTE, DWORD, LPDWORD, LPDWORD);
|
|
UINT WINAPI NDdeConnectionEnum(LPSTR, LPSTR, DWORD, UINT, LPBYTE, DWORD, LPDWORD, LPDWORD);
|
|
UINT WINAPI NDdeSessionClose(LPSTR, LPSTR, DWORD);
|
|
HWND WINAPI NDdeGetWindow(VOID);
|
|
UINT WINAPI NDdeGetClientInfo(HWND, LPSTR, LONG, LPSTR, LONG);
|
|
UINT WINAPI NDdeGetNodeName(LPSTR, LONG);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif /* __cplusplus */
|
|
|
|
#ifndef RC_INVOKED
|
|
#pragma pack()
|
|
#endif /* !RC_INVOKED */
|
|
|
|
#endif /* _INC_NDDEAPI */
|