windows-nt/Source/XPSP1/NT/net/config/inc/naming.h
2020-09-26 16:20:57 +08:00

66 lines
2.6 KiB
C++

//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 2001.
//
// File: N A M I N G . H
//
// Contents: Generates Connection Names Automatically
//
// Notes:
//
// Author: deonb 27 Feb 2001
//
//----------------------------------------------------------------------------
#pragma once
#include "nameres.h"
#include "netconp.h"
using namespace std;
class CIntelliName;
typedef BOOL FNDuplicateNameCheck(IN CIntelliName *pIntelliName, IN LPCTSTR szName, NETCON_MEDIATYPE *pncm, NETCON_SUBMEDIATYPE *pncms);
class CIntelliName
{
FNDuplicateNameCheck* m_pFNDuplicateNameCheck;
HINSTANCE m_hInstance;
private:
BOOL NameExists(IN LPCWSTR szName, IN OUT NETCON_MEDIATYPE *pncm, IN NETCON_SUBMEDIATYPE *pncms);
HRESULT GenerateNameRenameOnConflict(IN REFGUID guid, IN NETCON_MEDIATYPE ncm, IN DWORD dwCharacteristics, IN LPCWSTR szHintName, IN LPCWSTR szHintType, OUT LPWSTR * szName);
HRESULT GenerateNameFromResource(IN REFGUID guid, IN NETCON_MEDIATYPE ncm, IN DWORD dwCharacteristics, IN LPCWSTR szHint, IN UINT uiNameID, IN UINT uiTypeId, OUT LPWSTR *szName);
BOOL IsReservedName(LPCWSTR szName);
public:
HRESULT HrGetPseudoMediaTypes(IN REFGUID guid, OUT NETCON_MEDIATYPE *pncm, OUT NETCON_SUBMEDIATYPE *pncms);
// Pass NULL for no Duplicate Check
CIntelliName(HINSTANCE hInstance, FNDuplicateNameCheck *pFNDuplicateNameCheck);
// Must LocalFree szName for these:
HRESULT GenerateName(IN REFGUID guid, IN NETCON_MEDIATYPE ncm, IN DWORD dwCharacteristics, IN LPCWSTR szHint, OUT LPWSTR * szName);
HRESULT GenerateInternetName(IN REFGUID guid, IN NETCON_MEDIATYPE ncm, IN DWORD dwCharacteristics, OUT LPWSTR * szName);
HRESULT GenerateHomeNetName(IN REFGUID guid, IN NETCON_MEDIATYPE ncm, IN DWORD dwCharacteristics, OUT LPWSTR * szName);
};
BOOL IsMediaWireless(NETCON_MEDIATYPE ncm, const GUID &gdDevice);
BOOL IsMedia1394(NETCON_MEDIATYPE ncm, const GUID &gdDevice);
#ifndef _NTDDNDIS_
typedef ULONG NDIS_OID, *PNDIS_OID;
#endif
HRESULT HrQueryDeviceOIDByName(IN LPCWSTR szDeviceName,
IN DWORD dwIoControlCode,
IN ULONG Oid,
IN OUT LPDWORD pnSize,
OUT LPVOID pbValue);
HRESULT HrQueryNDISAdapterOID(IN REFGUID guidId,
IN NDIS_OID Oid,
IN OUT LPDWORD pnSize,
OUT LPVOID pbValue);