Type a page name and press Enter. You'll jump to the page if it exists, or you can create it if it doesn't.
To create a page in a module other than setupapi, prefix the name with the module name and a period.
Declare Function SetupDiSetClassInstallParams Lib "setupapi.dll" (TODO) As TODO
User-Defined Types:
[StructLayout(LayoutKind.Sequential, Pack = 1)]
public struct SP_DEVINFO_DATA
{
public int cbSize;
public Guid ClassGuid;
public uint DevInst;
public IntPtr Reserved;
}
Alternative Managed API:
Do you know one? Please contribute it!
Notes:
None.
Tips & Tricks:
Please add some!
Sample Code:
//
// http://www.codeproject.com/KB/cs/HardwareHelper.aspx
//
//Name: ChangeIt
//Inputs: pointer to hdev, SP_DEV_INFO, bool
//Outputs: bool
//Errors: This method may throw the following exceptions.
// Unable to change device state!
//Remarks: Attempts to enable or disable a device driver.
// IMPORTANT NOTE!!! This code currently does not check the reboot flag.
// ================= Some devices require you reboot the OS for the change
// to take affect. If this describes your device, you
// will need to look at the SDK call:
// SetupDiGetDeviceInstallParams. You can call it
// directly after ChangeIt to see whether or not you need
// to reboot the OS for you change to go into effect.
private bool ChangeIt(IntPtr hDevInfo, Native.SP_DEVINFO_DATA devInfoData, bool bEnable)
{
try
{
//Marshalling vars
int szOfPcp;
IntPtr ptrToPcp;
int szDevInfoData;
IntPtr ptrToDevInfoData;
helpful tips or sample code to share for using this API in managed code?
corrections to the existing content?
variations of the signature you want to share?
additional languages you want to include?
Select "Edit This Page" on the right hand toolbar and edit it! Or add new pages containing supporting types needed for this API (structures, delegates, and more).