windows-nt/Source/XPSP1/NT/net/config/inc/lancmn.h

81 lines
2.7 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1997.
//
// File: L A N C M N . H
//
// Contents: Declarations of LAN Connection related functions common
// to the shell and netman.
//
// Notes:
//
// Author: danielwe 7 Oct 1997
//
//----------------------------------------------------------------------------
#pragma once
#include "netcfgx.h"
#include "netcon.h"
#include "netconp.h"
#include "iptypes.h"
EXTERN_C const CLSID CLSID_LanConnectionManager;
enum OCC_FLAGS
{
OCCF_NONE = 0x0000,
OCCF_CREATE_IF_NOT_EXIST = 0x0001,
OCCF_DELETE_IF_EXIST = 0x0002,
};
HRESULT HrOpenConnectionKey(const GUID* pguid, PCWSTR pszGuid, REGSAM sam,
OCC_FLAGS occFlags, PCWSTR pszPnpId, HKEY *phkey);
HRESULT HrOpenHwConnectionKey(REFGUID guid, REGSAM sam, OCC_FLAGS occFlags,
HKEY *phkey);
HRESULT HrIsConnectionNameUnique(REFGUID guidExclude,
PCWSTR szwName);
HRESULT HrPnccFromGuid(INetCfg *pnc, const GUID &refGuid,
INetCfgComponent **ppncc);
HRESULT HrIsConnection(INetCfgComponent *pncc);
HRESULT HrGetDeviceGuid(INetConnection *pconn, GUID *pguid);
BOOL FPconnEqualGuid(INetConnection *pconn, REFGUID guid);
HRESULT HrGetPseudoMediaTypeFromConnection(IN REFGUID guidConn, OUT NETCON_SUBMEDIATYPE *pncsm);
inline
BOOL
FIsDeviceFunctioning(ULONG ulProblem)
{
// ulProblem is returned by calling CM_Get_DevNode_Status_Ex
// or INetCfgComponent->GetDeviceStatus
//
// "Functioning" means the device is enabled and started with
// no problem codes, or it is disabled and stopped with no
// problem codes.
return (ulProblem == 0) || (ulProblem == CM_PROB_DISABLED);
};
EXTERN_C HRESULT WINAPI HrPnpInstanceIdFromGuid(const GUID* pguid,
PWSTR szwInstance,
UINT cchInstance);
EXTERN_C HRESULT WINAPI HrGetPnpDeviceStatus(const GUID* pguid,
NETCON_STATUS *pStatus);
EXTERN_C HRESULT WINAPI HrQueryLanMediaState(const GUID* pguid,
BOOL* pfEnabled);
BOOL FIsMediaPresent(const GUID *pguid);
HRESULT HrGetDevInstStatus(DEVINST devinst, const GUID *pguid,
NETCON_STATUS *pStatus);
HRESULT HrGetRegInstanceKeyForAdapter(IN LPGUID pguidId,
OUT LPWSTR lpszRegInstance);
BOOL HasValidAddress(IN PIP_ADAPTER_INFO pAdapterInfo);
HRESULT HrGetAddressStatusForAdapter(IN LPCGUID pguidAdapter,
OUT BOOL* pbValidAddress);