19#define DISPLAY_ADRESSES 0x1
20#define DISPLAY_DNS 0x2
52 INetCfg *pNetCfg =
NULL;
53 INetCfgLock *pNetCfgLock =
NULL;
54 INetCfgClass *pNetCfgClass =
NULL;
55 INetCfgComponent *pTcpipComponent =
NULL;
56 INetCfgComponentPrivate *pTcpipComponentPrivate =
NULL;
57 ITcpipProperties *pTcpipProperties =
NULL;
62 DPRINT(
"GetInterfaceProperties()\n");
67 DPRINT1(
"CoInitialize failed\n");
78 DPRINT1(
"CoCreateInstance failed\n");
85 (
PVOID*)&pNetCfgLock);
88 DPRINT1(
"QueryInterface failed\n");
97 DPRINT1(
"AcquireWriteLock failed\n");
107 DPRINT1(
"Initialize failed\n");
113 GUID ClassGuid = GUID_DEVCLASS_NETTRANS;
117 DPRINT1(
"INetCfg_QueryNetCfgClass failed!\n");
124 DPRINT1(
"INetCfgClass_FindComponent failed\n");
131 DPRINT1(
"INetCfgComponent_QueryInterface failed\n");
138 DPRINT1(
"INetCfgComponentPrivate_Unknown1 failed\n");
146 DPRINT1(
"ITcpipProperties_Unknown1 failed\n");
150 DPRINT(
"pInfo: %p\n", pInfo);
159 *ppProperties = pInfo;
164 if (pTcpipProperties)
167 if (pTcpipComponentPrivate)
170 if (pTcpipComponent !=
NULL)
173 if (pNetCfgClass !=
NULL)
182 if (pNetCfgLock !=
NULL)
190 DPRINT(
"GetInterfaceProperties() done!\n");
205 pToken =
wcsstr(pszParameters, pszParameter);
242 WCHAR szFriendlyName[80];
243 DWORD dwFriendlyNameSize;
254 DPRINT1(
"NhpAllocateAndGetInterfaceInfoFromStack() failed (Error %lu)\n", dwError);
258 DPRINT(
"\nEntries: %lu\n", dwCount);
260 for (
i = 0;
i < dwCount;
i++)
270 dwFriendlyNameSize =
sizeof(szFriendlyName);
277 if ((InterfaceName ==
NULL) ||
MatchToken(InterfaceName, szFriendlyName))
294 if (pProperties->
dwDhcp == 0)
339 if (pProperties->
dwDhcp == 0)
466 WCHAR szFriendlyName[80];
467 DWORD dwFriendlyNameSize;
480 DPRINT1(
"NhpAllocateAndGetInterfaceInfoFromStack() failed (Error %lu)\n", dwError);
490 DPRINT(
"\nEntries: %lu\n", dwCount);
492 for (
i = 0;
i < dwCount;
i++)
502 dwFriendlyNameSize =
sizeof(szFriendlyName);
529 PrintMessage(
L"set address name=\"%s\" source=static address=%s mask=%s\n",
543 PrintMessage(
L"set dns name=\"%s\" source=static address=%s\n",
578 ZeroMemory(&ContextAttributes,
sizeof(ContextAttributes));
602 GUID guidParent = GUID_IFMON_INTERFACE;
604 DPRINT1(
"RegisterIpHelper()\n");
606 ZeroMemory(&HelperAttributes,
sizeof(HelperAttributes));
VOID PrintMessage(DWORD dwMessage)
#define IDS_DEFAULTGATEWAY
DWORD WINAPI RegisterContext(_In_ const NS_CONTEXT_ATTRIBUTES *pChildContext)
static HINSTANCE hDllInstance
void WINAPI DECLSPEC_HOTPATCH CoUninitialize(void)
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, IUnknown *outer, DWORD cls_context, REFIID riid, void **obj)
#define ERROR_INVALID_PARAMETER
#define HeapFree(x, y, z)
static DWORD WINAPI IpStart(_In_ const GUID *pguidParent, _In_ DWORD dwVersion)
static CMD_GROUP_ENTRY IpGroups[]
static FN_HANDLE_CMD IpShowAddresses
static HRESULT GetInterfaceProperties(GUID *InterfaceGuid, PTCPIP_PROPERTIES *ppProperties)
DWORD WINAPI RegisterIpHelper(VOID)
static DWORD IpShowAdapters(_In_ DWORD DisplayFlags, _In_ PWSTR InterfaceName)
static CMD_ENTRY IpShowCommands[]
static DWORD WINAPI IpDumpFn(_In_ LPCWSTR pwszRouter, _In_ LPWSTR *ppwcArguments, _In_ DWORD dwArgCount, _In_ LPCVOID pvData)
static FN_HANDLE_CMD IpShowConfig
static PWSTR ExtractParameterValue(PWSTR pszParameters, PWSTR pszParameter)
static FN_HANDLE_CMD IpShowDns
#define IDS_GATEWAYMETRIC
#define IDS_HLP_ADDRESSES
#define IDS_DUMP_IP_HEADER
#define IDS_HLP_ADDRESSES_EX
#define IDS_DUMP_HEADERLINE
#define IDS_HLP_CONFIG_EX
#define IDS_STATICNAMESERVER
#define IDS_DUMP_IP_INTERFACE
#define IDS_DUMP_IP_FOOTER
#define IDS_INTERFACEMETRIC
_ACRTIMP size_t __cdecl wcslen(const wchar_t *)
_ACRTIMP wchar_t *__cdecl wcsstr(const wchar_t *, const wchar_t *)
HRESULT WINAPI CoInitialize(LPVOID lpReserved)
GLuint GLsizei GLsizei * length
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
DWORD WINAPI RegisterHelper(_In_ const GUID *pguidParentHelper, _In_ const NS_HELPER_ATTRIBUTES *pHelperAttributes)
DWORD WINAPI NhGetInterfaceNameFromGuid(_In_ const GUID *pInterfaceGUID, _Out_writes_bytes_to_(*pOutBufLen, *pOutBufLen) PWCHAR pInterfaceName, _Inout_ PULONG pOutBufLen, DWORD dwUnknown4, DWORD dwUnknown5)
DWORD WINAPI NhpAllocateAndGetInterfaceInfoFromStack(_Inout_ IP_INTERFACE_NAME_INFO **ppTable, _Inout_ PDWORD pdwCount, _In_ BOOL bOrder, _In_ HANDLE hHeap, _In_ DWORD dwFlags)
void WINAPI CoTaskMemFree(void *ptr)
#define ITcpipProperties_Unknown1(p, a, b)
EXTERN_C const IID IID_ITcpipProperties
#define ITcpipProperties_Release(p)
#define INetCfgComponent_QueryInterface(p, a, b)
#define INetCfg_Release(p)
#define INetCfgComponent_Release(p)
#define INetCfg_QueryInterface(p, a, b)
#define INetCfg_QueryNetCfgClass(p, a, b, c)
EXTERN_C const IID IID_INetCfgLock
EXTERN_C const IID IID_INetCfgClass
EXTERN_C const GUID CLSID_CNetCfg
#define INetCfgLock_AcquireWriteLock(p, a, b, c)
#define INetCfgLock_ReleaseWriteLock(p)
#define INetCfgClass_Release(p)
#define INetCfg_Uninitialize(p)
#define INetCfgLock_Release(p)
EXTERN_C const IID IID_INetCfg
#define INetCfgClass_FindComponent(p, a, b)
#define INetCfg_Initialize(p, a)
#define INetCfgComponentPrivate_Unknown1(p, a, b)
#define INetCfgComponentPrivate_Release(p)
EXTERN_C const IID IID_INetCfgComponentPrivate
BOOL WINAPI MatchToken(_In_ LPCWSTR pwszUserToken, _In_ LPCWSTR pwszCmdToken)
DWORD CDECL PrintMessageFromModule(_In_ HANDLE hModule, _In_ DWORD dwMsgId,...)
_In_ LPWSTR _In_ DWORD _In_ DWORD _In_ DWORD dwFlags
_In_ LPWSTR _In_ DWORD _In_ LPCVOID pvData
_In_ LPWSTR * ppwcArguments
_In_ LPWSTR _In_ DWORD dwArgCount
_In_ LPWSTR _In_ DWORD _In_ DWORD _In_ DWORD _In_ LPCVOID _Out_ BOOL * pbDone
_In_ LPWSTR _In_ DWORD dwCurrentIndex
CMD_GROUP_ENTRY * pCmdGroups
PNS_CONTEXT_DUMP_FN pfnDumpFn
PNS_HELPER_STOP_FN pfnStop
PNS_HELPER_START_FN pfnStart
static const EHCI_PERIOD pTable[]
_In_ WDFCOLLECTION _In_ ULONG Index
static const GUID InterfaceGuid