Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*++
Copyright (c) 1994-7 Microsoft Corporation
Module Name:
netinf.h
Abstract:
This file contains the structures and prototypes necessary for the netcard inf parser handler as required by the BINL remote boot server.
Author:
Andy Herron (andyhe) 12-Mar-1998
Environment:
User Mode - Win32
Revision History:
--*/
#ifndef _NETINF_
#define _NETINF_
//
// This is the structure we keep per registry value. Off of each
// NETCARD_RESPONSE_DATABASE is a list of these (stored in Registry).
// It is a parameter that is required in the HKR path for the driver.
//
#define NETCARD_REGISTRY_TYPE_INT '1'
#define NETCARD_REGISTRY_TYPE_STRING '2'
typedef struct _NETCARD_REGISTRY_PARAMETERS {
LIST_ENTRY RegistryListEntry; UNICODE_STRING Parameter; ULONG Type; UNICODE_STRING Value;
} NETCARD_REGISTRY_PARAMETERS, *PNETCARD_REGISTRY_PARAMETERS;
typedef struct _NETCARD_FILECOPY_PARAMETERS {
LIST_ENTRY FileCopyListEntry; UNICODE_STRING SourceFile;
// if DestFile is null, SourceFile is the file name for the target
UNICODE_STRING DestFile;
} NETCARD_FILECOPY_PARAMETERS, *PNETCARD_FILECOPY_PARAMETERS;
//
// this is the main structure that we return for any given net driver
//
typedef struct _NETCARD_RESPONSE_DATABASE {
ULONG ReferenceCount; LIST_ENTRY NetCardEntry; PWCHAR HardwareId; // hardware ID to return ("PCI\\VEN_8086&DEV_1229")
PWCHAR DriverName; // driver name to return ("e100bnt.sys")
PWCHAR InfFileName; // inf file name to return ("net557.inf")
PWCHAR SectionName; // section name within the inf ("F1100C.ndi")
PWCHAR SectionNameExt; // name with architecture extension ("F1100C.ndi.ntx86")
PWCHAR ServiceName; // server name to add for this card ("E100B")
PWCHAR DriverDescription; // description of the driver ("Intel 82557B-based Ethernet PCI Adapter (10/100)")
LIST_ENTRY FileCopyList; LIST_ENTRY Registry;
} NETCARD_RESPONSE_DATABASE, * PNETCARD_RESPONSE_DATABASE;
ULONG NetInfStartHandler ( VOID );
ULONG NetInfCloseHandler ( VOID );
//
// This finds a specific driver for a given hardware description.
// Be sure to call NetInfDereferenceNetcardEntry when you're done with the
// entry.
//
ULONG NetInfFindNetcardInfo ( PWCHAR InfDirectory, ULONG Architecture, ULONG CardInfoVersion, NET_CARD_INFO UNALIGNED * CardIdentity, PWCHAR *FullDriverBuffer OPTIONAL, PNETCARD_RESPONSE_DATABASE *pInfEntry );
//
// After calling NetInfFindNetcardInfo, call NetInfDereferenceNetcardEntry
// when you're done with the entry so that it can be marked as not in use.
// Otherwise it'll leak memory when you close call NetInfCloseNetcardInfo.
//
VOID NetInfDereferenceNetcardEntry ( PNETCARD_RESPONSE_DATABASE pInfEntry );
#endif _NETINF_
|