windows-nt/Source/XPSP1/NT/multimedia/media/avi/inc.16/nddeapi.h
2020-09-26 16:20:57 +08:00

179 lines
6.8 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 */