The free OSR Learning Library has more than 50 articles on a wide variety of topics about writing and debugging device drivers and Minifilters. From introductory level to advanced. All the articles have been recently reviewed and updated, and are written using the clear and definitive style you've come to expect from OSR over the years.
Check out The OSR Learning Library at: https://www.osr.com/osr-learning-library/
I had a WMI provider class working fine with user space such that it could read and write members of the provider class. I then needed to add a couple members of type
string. Once I added these new members to the class my
EvtWmiInstanceQueryInstance callback still works fine, but my
EvtWmiInstanceSetInstance callback doesn't get called any more. If I set a breakpoint on the call to this callback it never gets hit.
What would cause this behavior? And better yet, how do I resolve it?
Here's how I'm attempting to modify my WMI object:
$ci = get-ciminstance My_WMIClass -Namespace "root/wmi" $ci.NormalMember= 10 Set-CimInstance -CimInstance $ci -PassThru
This works just fine if my class doesn't have any members of type
string. When I add a
string member I get the following error when I call
Set-CimInstance -CimInstance $ci -PassThru:
Set-CimInstance : Generic failure At line:5 char:1 + Set-CimInstance -CimInstance $ci -PassThru + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (My_WMIClass...5&7047288&8...):CimInstance) [Set-CimInsta nce], CimException + FullyQualifiedErrorId : HRESULT 0x80041001,Microsoft.Management.Infrastructure.CimCmdlets.SetCimIns tanceCommand
|Upcoming OSR Seminars|
|OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead!|
|Developing Minifilters||24 May 2021||Live, Online|
|Writing WDF Drivers||14 June 2021||Live, Online|
|Internals & Software Drivers||27 September 2021||Live, Online|
|Kernel Debugging||15 November 2021||Live, Online|