» »

[c#] Problem pri parametrih z Win32 funkcijo SetupDiGetClassDevs

[c#] Problem pri parametrih z Win32 funkcijo SetupDiGetClassDevs

KernelPanic ::

Spostovani!

V probnem c# projektu iz operacijskega sistema uvozim metodo SetupDiGetClassDevs (setupapi.dll), s katero bi rad dobil seznam naprav, priklopljenih na USB vozlisce v racunalniku. Ce citiram Windows Driver dokumentacijo:
Handle = SetupDiGetClassDevs(NULL, NULL, NULL, DIGCF_ALLCLASSES | DIGCF_PRESENT);
Build a list of all devices that are present in the system.
na zgoraj opisani nacin dobim vse naprave, trenutno prikljucene v sistemu. Funkcijo uvozim na sledeci nacin:
DllImport("setupapi.dll", SetLastError = true)
        protected static extern IntPtr SetupDiGetClassDevs(ref Guid gClass,
            [MarshalAs(UnmanagedType.LPStr)] string strEnumerator,
            IntPtr hParent,
            uint nFlags);
Torej, problem nastane, pri klicu te funkcije prvemu parametru priredim vrdnost null:
            IntPtr hInfoSet = SetupDiGetClassDevs(null,
                null,
                IntPtr.Zero,
                DIGCF_ALLCLASSES | DIGCF_PRESENT);
, mi c# prevajalnik javi sledece:
Error 8 Argument 1: cannot convert from 'null' to 'ref System.Guid' BTDevice.cs 337 65 CommUSB
Kako naj to resim?

Vnaprej se zahvaljujem za pomoc.

Lp,
M.

lukapivk ::

Guid DiskGUID = new Guid(GUID_DEVINTERFACE_DISK);
IntPtr h = SetupDiGetClassDevs(ref DiskGUID, 0, IntPtr.Zero, DIGCF_PRESENT | DIGCF_ALLCLASSES);

KernelPanic ::

Ok, ampak null parameter bi rad not vrinil, ker bi rad komplet seznam naprav.

Vesoljc ::

kaj pa ce das notr 0?
kaksna je pa definicija null-a? isto kot NULL?
Abnormal behavior of abnormal brain makes me normal...

KernelPanic ::

Ne dela, ker null in 0 nista ista, 0 je tipa int.

Zgodovina sprememb…



Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[C#] pixel scan z Thread

Oddelek: Programiranje
121176 (958) perooo25
»

kako narediti program ki bere drugi program

Oddelek: Programiranje
465781 (4094) imagodei
»

Tezava pri instanciranju class-a

Oddelek: Programiranje
61306 (1177) KernelPanic
»

video v c#

Oddelek: Programiranje
241543 (1083) boss-tech
»

[C#] unmanaged->managed code

Oddelek: Programiranje
112144 (2019) Zzzzzzz

Več podobnih tem