DriverEntry Queue

Is it possible to create one queue for all created devices.
What is the way to save data e.g. configuration data, if all devices can access them?

xxxxx@x-publisher.com wrote:

Is it possible to create one queue for all created devices.

Do you mean a WDFQUEUE?  No.  An I/O queue is always associated with a
device.  Why would you want to?

What is the way to save data e.g. configuration data, if all devices can access them?

Again, are you talking about KMDF?  You can create a context for your
WDFDRIVER, just like all KMDF objects.  All devices can use
WdfDeviceGetDriver to fetch the driver object, and then the context.

Alternatively, you can just put in a global, but I’ll make fun of you.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

Ok, now I set in Driver entry in WDF_DRIVER_CONFIG_INIT an driver unload function. With this I can cleanup the my driver context.

Is this call necassay inside the Unload function:

WPP_CLEANUP(WdfDriverWdmGetDriverObject(Driver));

xxxxx@x-publisher.com wrote:

Ok, now I set in Driver entry in WDF_DRIVER_CONFIG_INIT an driver unload function. With this I can cleanup the my driver context.

You don’t have to clean up the driver context.  KMDF will handle that
for you automatically during unload processing.

 

Is this call necassay inside the Unload function:

WPP_CLEANUP(WdfDriverWdmGetDriverObject(Driver));

If you set up WPP during DriverEntry, then you need to clean it up in
the EvtDriverUnload callback.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

Do you know why this fails in DriverEntry at the end of the function?

PFILTER_DRIVER_EXTENSION driverExtension = DriverGetExtension(driver);

it is defined with

WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(PFILTER_DRIVER_EXTENSION, DriverGetExtension)

Thnx

How does it fail? Return NULL? Did you initialize the object attributes with the context type and pass it to WdfDriverCreate?

Bent from my phone


From: xxxxx@lists.osr.com on behalf of xxxxx@x-publisher.com
Sent: Thursday, January 25, 2018 6:40:08 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] DriverEntry Queue

Do you know why this fails in DriverEntry at the end of the function?

PFILTER_DRIVER_EXTENSION driverExtension = DriverGetExtension(driver);

it is defined with

WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(PFILTER_DRIVER_EXTENSION, DriverGetExtension)

Thnx


NTDEV is sponsored by OSR

Visit the list online at: https:

MONTHLY seminars on crash dump analysis, WDF, Windows internals and software drivers!
Details at https:

To unsubscribe, visit the List Server section of OSR Online at https:</https:></https:></https:>

thnx, I forgot about this.

You should be using one of the many sample drivers on github as a model
rather than stumbling around in the dark tripping over unknown objects. Go
here: https://github.com/Microsoft/Windows-driver-samples

And your other question about doubly linked lists is “LIST_ENTRY”, here is
a good place to start:
https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/content/wdm/nf-wdm-islistempty

Mark Roddy

On Thu, Jan 25, 2018 at 11:14 PM, xxxxx@x-publisher.com <
xxxxx@lists.osr.com> wrote:

thnx, I forgot about this.


NTDEV is sponsored by OSR

Visit the list online at: http:> showlists.cfm?list=ntdev>
>
> MONTHLY seminars on crash dump analysis, WDF, Windows internals and
> software drivers!
> Details at http:
>
> To unsubscribe, visit the List Server section of OSR Online at <
> http://www.osronline.com/page.cfm?name=ListServer&gt;
></http:></http:>