windows-nt/Source/XPSP1/NT/public/sdk/inc/ipxmontr.h
2020-09-26 16:20:57 +08:00

185 lines
3.5 KiB
C

/*++
Copyright (c) 1998-1999 Microsoft Corporation
Module Name:
ipxmontr.h
Abstract:
This file contains definitions which are needed by IPXMONTR.DLL
and all NetSh helper DLLs which register under it.
--*/
#ifndef _IPXMONTR_H_
#define _IPXMONTR_H_
#if _MSC_VER > 1000
#pragma once
#endif
#ifdef __cplusplus
extern "C" {
#endif
// {b1641451-84b8-11d2-b940-3078302c2030}
#define IPXMONTR_GUID \
{ \
0xb1641451, 0x84b8, 0x11d2, \
{ \
0xb9, 0x40, 0x30, 0x78, 0x30, 0x2c, 0x20, 0x30 \
} \
}
#define IPXMON_VERSION_50 0x0005000
//
// API prototypes and structures used by them
//
typedef
DWORD
(WINAPI IPX_CONTEXT_ENTRY_FN)(
IN PWCHAR pwszMachine,
IN PWCHAR *ppwcArguments,
IN DWORD dwArgCount,
IN DWORD dwFlags,
IN MIB_SERVER_HANDLE hMIBServer,
OUT PWCHAR pwcNewContext
);
typedef IPX_CONTEXT_ENTRY_FN *PIPX_CONTEXT_ENTRY_FN;
typedef struct _PROTO_STRING
{
DWORD dwProtoId;
DWORD dwTokenId;
}PROTO_STRING, *PPROTO_STRING;
typedef
DWORD
(WINAPI *PIM_DEL_INFO_BLK_IF)(
IN PWCHAR pwszIfName,
IN DWORD dwType
);
typedef
DWORD
(WINAPI *PIM_DEL_INFO_BLK_GLOBAL)(
IN DWORD dwType
);
typedef
DWORD
(WINAPI *PIM_DEL_PROTO)(
IN DWORD dwProtoId
);
typedef
DWORD
(WINAPI *PIM_GET_INFO_BLK_GLOBAL)(
IN DWORD dwType,
OUT BYTE **ppbInfoBlk,
OUT PDWORD pdwSize,
OUT PDWORD pdwCount
);
typedef
DWORD
(WINAPI *PIM_GET_INFO_BLK_IF)(
IN PWCHAR pwszIfName,
IN DWORD dwType,
OUT BYTE **ppbInfoBlk,
OUT PDWORD pdwSize,
OUT PDWORD pdwCount,
OUT PDWORD pdwIfType
);
typedef
DWORD
(WINAPI *PIM_SET_INFO_BLK_GLOBAL)(
IN DWORD dwType,
IN PBYTE pbInfoBlk,
IN DWORD dwSize,
IN DWORD dwCount
);
typedef
DWORD
(WINAPI *PIM_SET_INFO_BLK_IF)(
IN PWCHAR pwszIfName,
IN DWORD dwType,
IN PBYTE pbInfoBlk,
IN DWORD dwSize,
IN DWORD dwCount
);
typedef
DWORD
(WINAPI *PIM_IF_ENUM)(
OUT BYTE **ppb,
OUT PDWORD pdwCount,
OUT PDWORD pdwTotal
);
typedef
DWORD
(WINAPI *PIM_PROTO_LIST)(
OUT PPROTO_STRING *ppps,
OUT PDWORD pdwNumProto
);
typedef
BOOL
(WINAPI *PIM_ROUTER_STATUS)(
VOID
);
typedef
DWORD
(WINAPI *PIM_GET_IF_TYPE)(
IN PWCHAR pwszIfName,
OUT PDWORD pdwIfType
);
typedef
DWORD
(WINAPI *PIM_MATCH_ROUT_PROTO)(
IN PWCHAR pwszToken
);
NS_DISPLAY_PARENT_HELP DisplayIpxHelp;
typedef struct _IPX_CONTEXT_ATTRIBUTES
{
#ifdef __cplusplus
NS_BASE_CONTEXT_ATTRIBUTES bca;
#else
NS_BASE_CONTEXT_ATTRIBUTES;
#endif
PIPX_CONTEXT_ENTRY_FN pfnEntryFn;
PVOID pfnCommitFn; // UNUSED
PNS_CONTEXT_DUMP_FN pfnDumpFn;
PVOID pfnConnectFn; // UNUSED
PVOID pfnSubEntryFn; // UNUSED
PVOID pfnHelpFn; // UNUSED
}IPX_CONTEXT_ATTRIBUTES, *PIPX_CONTEXT_ATTRIBUTES;
typedef
DWORD
(WINAPI *PIPX_REGISTER_CONTEXT)(
IN PIPX_CONTEXT_ATTRIBUTES pAttributes
);
#ifdef __cplusplus
}
#endif
#endif // _IPXMONTR_H_