locked
Why does FwpsCalloutRegister0 need a device object as its first argument? RRS feed

  • Question

  • The prototype is as follows:

    NTSTATUS NTAPI FwpsCalloutRegister0(IN OUT void  *deviceObject, IN const FWPS_CALLOUT0  *callout, OUT OPTIONAL UINT32 *calloutId);

    The first argument is marked as "OUT", so the API will modify this structure. To my surprise, what will be changed by the API?

    As the second argument callout contains a GUID which can uniquely identify the callout, I think the first argument is useless. Am I correct?

    Any help will be highly appreciated. Thanks in advance.
    Sunday, December 30, 2012 11:38 PM

Answers

  • The first parameter is marked "IN OUT" or _Inout_ in SAL 2.0.  The filter engine takes a reference on the deviceObject.

    Hope this helps,


    Dusty Harper [MSFT]
    Microsoft Corporation
    ------------------------------------------------------------
    This posting is provided "AS IS", with NO warranties and confers NO rights
    ------------------------------------------------------------

    Thursday, January 3, 2013 4:11 PM
    Moderator

All replies

  • The first parameter is marked "IN OUT" or _Inout_ in SAL 2.0.  The filter engine takes a reference on the deviceObject.

    Hope this helps,


    Dusty Harper [MSFT]
    Microsoft Corporation
    ------------------------------------------------------------
    This posting is provided "AS IS", with NO warranties and confers NO rights
    ------------------------------------------------------------

    Thursday, January 3, 2013 4:11 PM
    Moderator
  • Thanks for your explanation.
    Monday, January 14, 2013 2:44 PM