Difference between Direct OID and Simple OID

Hi,

what is the difference between Direct OID request and Simple OID.

I mean what are the advantages of Direct IOD request over simple OID
request.

regards,
Ravish

The Microsoft NDIS Blog gives some help:

http://blogs.msdn.com/b/ndis/archive/2010/02/10/simplifying-your-oid-request
-handler.aspx

Bottom line is:

“Finally, note that today’s discussion does not apply to Direct OID
requests. This is intentional-in fact, one big motivation for Direct OIDs is
to circumvent the one-OID-at-a-time limit. While “regular” OIDs are meant to
be easy to use, Direct OIDs are meant to be fast and lightweight.”

Thomas F. Divine

http: http://www.pcausa.com

From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Ravish Yadav
Sent: Tuesday, December 17, 2013 10:49 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Difference between Direct OID and Simple OID

Hi,

what is the difference between Direct OID request and Simple OID.

I mean what are the advantages of Direct IOD request over simple OID
request.

regards,

Ravish

— NTDEV is sponsored by OSR Visit the list at:
http://www.osronline.com/showlists.cfm?list=ntdev OSR is HIRING!! See
http://www.osr.com/careers For our schedule of WDF, WDM, debugging and other
seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List
Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer</http:>

Hi Thomas,

Just went through this blog…

So Simple OID request are serialized by the NDIS but not the direct(except
in some cases for ex: in low power state) .

The direct OID will be send directly to the minport and also we can not
send more than one direct OID??

Thanks & Regards,
Rabish Kumar

On Wed, Dec 18, 2013 at 12:13 AM, Thomas F. Divine wrote:

> The Microsoft NDIS Blog gives some help:
>
>
>
>
> http://blogs.msdn.com/b/ndis/archive/2010/02/10/simplifying-your-oid-request-handler.aspx
>
>
>
> Bottom line is:
>
> ?Finally, note that today’s discussion does not apply to Direct OID
> requests. This is intentional?in fact, one big motivation for Direct OIDs
> is to circumvent the one-OID-at-a-time limit. While “regular” OIDs are
> meant to be easy to use, Direct OIDs are meant to be fast and lightweight.
> ?
>
> Thomas F. Divine
>
> http://www.pcausa.com
>
>
>
> From: xxxxx@lists.osr.com [mailto:
> xxxxx@lists.osr.com] *On Behalf Of *Ravish Yadav
> Sent: Tuesday, December 17, 2013 10:49 AM
> To: Windows System Software Devs Interest List
> Subject: [ntdev] Difference between Direct OID and Simple OID
>
>
>
> Hi,
>
>
>
> what is the difference between Direct OID request and Simple OID.
>
>
>
> I mean what are the advantages of Direct IOD request over simple OID
> request.
>
>
>
>
>
> regards,
>
> Ravish
>
> — NTDEV is sponsored by OSR Visit the list at:
> http://www.osronline.com/showlists.cfm?list=ntdev OSR is HIRING!! See
> http://www.osr.com/careers For our schedule of WDF, WDM, debugging and
> other seminars visit: http://www.osr.com/seminars To unsubscribe, visit
> the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
> —
> NTDEV is sponsored by OSR
>
> Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
>
> OSR is HIRING!! See http://www.osr.com/careers
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>

That’s about it!

Thomas F. Divine

http://www.pcausa.com

From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Ravish Yadav
Sent: Wednesday, December 18, 2013 10:15 PM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] Difference between Direct OID and Simple OID

Hi Thomas,

Just went through this blog…

So Simple OID request are serialized by the NDIS but not the direct(except
in some cases for ex: in low power state) .

The direct OID will be send directly to the minport and also we can not send
more than one direct OID??

Thanks & Regards,

Rabish Kumar

On Wed, Dec 18, 2013 at 12:13 AM, Thomas F. Divine mailto:xxxxx > wrote:

The Microsoft NDIS Blog gives some help:

http://blogs.msdn.com/b/ndis/archive/2010/02/10/simplifying-your-oid-request
-handler.aspx

Bottom line is:

“Finally, note that today’s discussion does not apply to Direct OID
requests. This is intentional-in fact, one big motivation for Direct OIDs is
to circumvent the one-OID-at-a-time limit. While “regular” OIDs are meant to
be easy to use, Direct OIDs are meant to be fast and lightweight.”

Thomas F. Divine

http: http://www.pcausa.com

From: xxxxx@lists.osr.com
mailto:xxxxx
[mailto:xxxxx@lists.osr.com
mailto:xxxxx] On Behalf Of Ravish Yadav
Sent: Tuesday, December 17, 2013 10:49 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Difference between Direct OID and Simple OID

Hi,

what is the difference between Direct OID request and Simple OID.

I mean what are the advantages of Direct IOD request over simple OID
request.

regards,

Ravish

— NTDEV is sponsored by OSR Visit the list at:
http://www.osronline.com/showlists.cfm?list=ntdev OSR is HIRING!! See
http://www.osr.com/careers For our schedule of WDF, WDM, debugging and other
seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List
Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer


NTDEV is sponsored by OSR

Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev

OSR is HIRING!! See http://www.osr.com/careers

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

— NTDEV is sponsored by OSR Visit the list at:
http://www.osronline.com/showlists.cfm?list=ntdev OSR is HIRING!! See
http://www.osr.com/careers For our schedule of WDF, WDM, debugging and other
seminars visit: http://www.osr.com/seminars To unsubscribe, visit the List
Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer</mailto:xxxxx></mailto:xxxxx></http:></mailto:xxxxx>

> we can not send more than one direct OID??

Actually a protocol or filter can send hundreds of either kind of OID. The difference is:

  • If you send 100 simple OIDs to a miniport, the miniport won’t get the next OID until the previous OID is fully completed. That is, simple OIDs are serialized by NDIS at the top of the miniport and also at the top of each LWF.
  • If you send 100 direct OIDs to a miniport, the miniport get all 100 OIDs immediately, without waiting for any prior OID to complete. Direct OIDs are not serialized.

One more note - you don’t get to “pick” whether to use direct or simple. A particular OID is documented to be of a certain type, and it always must be that type. For example, OID_GEN_STATISTICS must be a simple OID. If you try to send it as a Direct OID, NDIS will promptly fail the request before it gets anywhere. Likewise, OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA_EX must be Direct – it will fail if sent as an Simple OID.

By default, all OIDs are Simple OIDs. There are only a handful of special-purpose OIDs that must be Direct, and the documentation for each of them is quite clear that the OID needs to be Direct. In most cases, NDIS drivers don’t have to worry about Direct OIDs at all; protocols don’t need to send them, filters can ignore them, and miniports don’t need to support them. The most common type of driver that needs to think about Direct OIDs are WLAN miniports that support WiFi Direct.

(Incidentally - it is a only coincidence that WiFi Direct has “Direct” in its name; I don’t believe that WFD is named after the type of OID that’s used to implement it on Windows. See also DirectWrite, DirectX, NetworkDirect, Direct Composition, Direct Manipulation, METHOD_IN_DIRECT, and Sockets Direct.)