/*****************************************************************************\ * * * 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 */