Click here to Skip to main content
15,887,962 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: I NEED HELP!! Pin
Rage10-Dec-02 5:06
professionalRage10-Dec-02 5:06 
GeneralRe: I NEED HELP!! Pin
Hans Ruck10-Dec-02 5:12
Hans Ruck10-Dec-02 5:12 
GeneralRe: I NEED HELP!! Pin
Sunnygirl10-Dec-02 5:34
Sunnygirl10-Dec-02 5:34 
GeneralRe: I NEED HELP!! Pin
Hans Ruck10-Dec-02 5:32
Hans Ruck10-Dec-02 5:32 
GeneralFinding PCI cards.... Pin
Trollslayer10-Dec-02 4:14
mentorTrollslayer10-Dec-02 4:14 
GeneralRe: Finding PCI cards.... Pin
Daniel Turini10-Dec-02 4:29
Daniel Turini10-Dec-02 4:29 
GeneralRe: Finding PCI cards.... Pin
Trollslayer10-Dec-02 8:36
mentorTrollslayer10-Dec-02 8:36 
GeneralRe: Finding PCI cards.... Pin
Iain Clarke, Warrior Programmer10-Dec-02 4:28
Iain Clarke, Warrior Programmer10-Dec-02 4:28 
Here is a function I wrote to locate a couple of (identical except internal serial number) cards for a
device driver I had to write. It had to be part of a device driver, but as you will probably want to
be doing kernel level stuff anyway, this shouldn't be a problem

Iain.


<br />
typedef struct {<br />
	ULONG			BaseAddress;<br />
	UCHAR			IRQ;<br />
} Iain_Hardware;<br />
<br />
#define	CARD_VENDORID	(0x494f)<br />
#define	CARD_DEVICEID	(0x0e60)<br />
<br />
// Find up to nMaxCards cards...<br />
USHORT	iain_LocateHardware(struct Iain_Hardware *pHardware, USHORT nMaxCards)	// Find the PnP devices<br />
{<br />
	PCI_COMMON_CONFIG pciConfig;<br />
	INTERFACE_TYPE	BusType		= PCIBus;<br />
<br />
	ULONG			uReturn, SlotNumber, BusNumber	= 0;<br />
	USHORT			nFound = 0;<br />
	<br />
	if (pHardware == NULL)<br />
		return FALSE;<br />
<br />
	for (SlotNumber = 0; (SlotNumber < 32) && (nFound < nMaxCards); SlotNumber++)<br />
	{<br />
		uReturn = HalGetBusData (PCIConfiguration, 0, SlotNumber, &pciConfig, sizeof (pciConfig));<br />
		if (uReturn == 0)<br />
			break;<br />
		if (uReturn < 4)<br />
			continue;<br />
<br />
		if (pciConfig.VendorID != CARD_VENDORID)	// Not the right manufacturer<br />
			continue;<br />
		if (pciConfig.DeviceID != CARD_DEVICEID)	// Not the right kind of card<br />
			continue;<br />
<br />
		pHardware [nFound].BaseAddress	= pciConfig.u.type0.BaseAddresses[2] & 0xFFF8;<br />
		pHardware [nFound].IRQ			= pciConfig.u.type0.InterruptLine;<br />
<br />
		{<br />
			int	a, b, c;<br />
			a = nFound;<br />
			b = pHardware [nFound].BaseAddress;<br />
			c = pHardware [nFound].IRQ;<br />
			DbgPrint ("Found Card %i at %x, IRQ=%i\n", a, b, c);<br />
		}<br />
<br />
		nFound++;<br />
	}<br />
<br />
	return nFound;<br />
}<br />

GeneralRe: Finding PCI cards.... Pin
Nick Parker10-Dec-02 4:30
protectorNick Parker10-Dec-02 4:30 
GeneralRe: Finding PCI cards.... Pin
jhwurmbach10-Dec-02 5:31
jhwurmbach10-Dec-02 5:31 
GeneralCWinThread problems... Pin
RobJones10-Dec-02 4:12
RobJones10-Dec-02 4:12 
GeneralRe: CWinThread problems... Pin
Alvaro Mendez10-Dec-02 4:57
Alvaro Mendez10-Dec-02 4:57 
GeneralRe: CWinThread problems... Pin
RobJones10-Dec-02 5:15
RobJones10-Dec-02 5:15 
GeneralRe: CWinThread problems... Pin
valikac10-Dec-02 7:50
valikac10-Dec-02 7:50 
GeneralRe: CWinThread problems... Pin
Alvaro Mendez10-Dec-02 9:06
Alvaro Mendez10-Dec-02 9:06 
GeneralAVI files in windows 2000 Pin
daphna10-Dec-02 3:42
daphna10-Dec-02 3:42 
GeneralRich Edit and Decimal Tab Stops Pin
xanatos10-Dec-02 3:33
xanatos10-Dec-02 3:33 
Generalpositioning CPropertySheet dialog Pin
mariuszpopiolek10-Dec-02 2:36
mariuszpopiolek10-Dec-02 2:36 
GeneralRe: positioning CPropertySheet dialog Pin
Dominik Reichl10-Dec-02 2:51
Dominik Reichl10-Dec-02 2:51 
GeneralRe: positioning CPropertySheet dialog Pin
mariuszpopiolek10-Dec-02 7:46
mariuszpopiolek10-Dec-02 7:46 
GeneralCFileDialog trouble Pin
Andrew Medvedev10-Dec-02 1:27
Andrew Medvedev10-Dec-02 1:27 
GeneralRe: CFileDialog trouble Pin
User 665810-Dec-02 1:31
User 665810-Dec-02 1:31 
GeneralRe: CFileDialog trouble Pin
Andrew Medvedev10-Dec-02 1:35
Andrew Medvedev10-Dec-02 1:35 
GeneralRe: CFileDialog trouble Pin
Nitron10-Dec-02 3:17
Nitron10-Dec-02 3:17 
GeneralRe: CFileDialog trouble Pin
Andrew Medvedev10-Dec-02 22:45
Andrew Medvedev10-Dec-02 22:45 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.