NdisMCmRequestComplete function

Note   NDIS 5. x has been deprecated and is superseded by NDIS 6. x. For new NDIS driver development, see Network Drivers Starting with Windows Vista. For information about porting NDIS 5. x drivers to NDIS 6. x, see Porting NDIS 5.x Drivers to NDIS 6.0.

NdisMCmRequestComplete returns the final status of a client's OID_GEN_CO_XXX request, for which the MCM driver's ProtocolCoRequest function previously returned NDIS_STATUS_PENDING.

Syntax

VOID NdisMCmRequestComplete(
  _In_     NDIS_STATUS   Status,
  _In_     NDIS_HANDLE   NdisAfHandle,
  _In_opt_ NDIS_HANDLE   NdisVcHandle,
  _In_opt_ NDIS_HANDLE   NdisPartyHandle,
  _In_     PNDIS_REQUEST NdisRequest
);

Parameters

  • Status [in]
    Specifies the final status of the requested operation, either NDIS_STATUS_SUCCESS or any driver-determined NDIS_STATUS_XXX except NDIS_STATUS_PENDING.

  • NdisAfHandle [in]
    Specifies the AF handle, which implicitly identifies the client that made this request. The MCM driver originally obtained this handle as an input parameter to its ProtocolCmOpenAf function, and, more recently from its per-AF state designated by the ProtocolAfContext that was passed in to its ProtocolCoRequest function.

  • NdisVcHandle [in, optional]
    Specifies the VC handle or NULL if the request is not VC-specific in nature. For a VC-specific request, the MCM driver obtained this handle from its per-VC state designated by the ProtocolVcContext passed in to its ProtocolCoRequest function.

  • NdisPartyHandle [in, optional]
    Specifies the party handle or NULL if the request is not party-specific in nature. For a party-specific request, the MCM driver obtained this handle from its per-party state designated by the ProtocolPartyContext passed in to its ProtocolCoRequest function

  • NdisRequest [in]
    Pointer to a buffer formatted as an NDIS_REQUEST structure, which the client that called NdisCoRequest supplied.

Return value

None

Remarks

A call to NdisMCmRequestComplete causes a call to the ProtocolCoRequestComplete function of the client that originally called NdisCoRequest with the given handle(s) and NdisRequest pointer.

In response to client-issued requests for which it returns NDIS_STATUS_PENDING, such an MCM driver subsequently must call NdisMCmRequestComplete or NdisMCoRequestComplete depending on whether each such request was routed to the MCM driver's ProtocolCoRequest or MiniportCoRequest function, respectively.

An MCM driver's MiniportQueryInformation and MiniportSetInformation functions, if any, usually handle client requests passed to NdisRequest, such as the OID_GEN_XXX queries commonly issued to miniport drivers during initialization. Otherwise, NDIS calls the MCM driver's MiniportCoRequest function when a bound protocol calls NdisRequest.

For more information about the sets of OIDs defined for use with NdisMCmRequest, NdisCoRequest, and NdisRequest, see NDIS Object Identifiers.

Requirements

Target platform

Desktop

Version

Not supported for NDIS 6.0 drivers in Windows Vista. Use NdisMCmOidRequestCompleteinstead. Supported for NDIS 5.1 drivers in Windows Vista and Windows XP.

Header

Ndis.h (include Ndis.h)

IRQL

<= DISPATCH_LEVEL

See also

MiniportCoRequest

MiniportQueryInformation

MiniportSetInformation

NdisMCmRequest

NdisMCoRequestComplete

NdisRequest

NDIS_REQUEST

ProtocolCoRequest

ProtocolCoRequestComplete

 

 

Send comments about this topic to Microsoft