NdisMCmRequest 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.

NdisMCmRequest issues an OID_GEN_CO_XXX request from an MCM driver to a client.

Syntax

NDIS_STATUS NdisMCmRequest(
  _In_     NDIS_HANDLE   NdisAfHandle,
  _In_opt_ NDIS_HANDLE   NdisVcHandle,
  _In_opt_ NDIS_HANDLE   NdisPartyHandle,
  _Inout_  PNDIS_REQUEST NdisRequest
);

Parameters

  • NdisAfHandle [in]
    Specifies the handle identifying the open address family and implicitly the client to which this request is directed. The MCM driver originally obtained this handle as an input parameter to its ProtocolCmOpenAf function.

  • NdisVcHandle [in, optional]
    Specifies the handle identifying the VC for which the caller is requesting or setting information if the request is VC-specific, or this parameter is NULL. For any VC-specific request, the caller originally obtained this handle either when it created the VC with NdisMCmCreateVc, or as an input parameter to its ProtocolCoCreateVc function.

  • NdisPartyHandle [in, optional]
    Specifies the handle identifying the party on a multipoint VC for which the caller is requesting or setting information if the request is party-specific, or this parameter is NULL. For any party-specific request, the MCM driver originally obtained this handle as an input parameter to its ProtocolCmAddParty function.

  • NdisRequest [in, out]
    Pointer to a caller-allocated resident buffer, formatted as a structure of type NDIS_REQUEST set up by the caller.

Return value

When NdisMCmRequest returns anything other than NDIS_STATUS_PENDING, the caller should make an internal call to its ProtocolCoRequestComplete function. Otherwise, NDIS calls that driver's ProtocolCoRequestComplete function when this operation is completed.

Remarks

Before it calls NdisMCmRequest, an MCM driver allocates memory for its request and initializes an NDIS_REQUEST structure. Such a driver sets the Oid member of the NDIS_REQUEST structure with a system-defined OID_GEN_CO_XXX code when communicating with its clients.

An MCM driver can call NdisMCmRequest to communicate connection-oriented information, such as a change in addresses to a given client identified by the NdisAfHandle.

If the MCM driver's request is VC-specific or party-specific in nature, the MCM driver also passes an explicit NdisVcHandle or NdisPartyHandle, respectively, to NdisMCmRequest.

For more information about the OID_GEN_CO_XXX defined for use with NdisMCmRequest, see NDIS Object Identifiers.

Requirements

Target platform

Universal

Version

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

Header

Ndis.h (include Ndis.h)

Library

Ndis.lib

IRQL

<= DISPATCH_LEVEL

See also

MiniportCoRequest

MiniportQueryInformation

MiniportSetInformation

NdisCoRequest

NdisMCmCreateVc

NdisMCmRequestComplete

NdisMCoRequestComplete

NDIS_REQUEST

NdisRequest

ProtocolCmAddParty

ProtocolCmOpenAf

ProtocolCoCreateVc

ProtocolCoRequest

ProtocolCoRequestComplete

Send comments about this topic to Microsoft