NdisMCmOidRequest, fonction (ndis.h)
La fonction NdisMCmOidRequest envoie une requête OID d’un pilote mcm (miniport call manager) à un client CoNDIS.
Syntaxe
NDIS_STATUS NdisMCmOidRequest(
[in] NDIS_HANDLE NdisAfHandle,
[in, optional] NDIS_HANDLE NdisVcHandle,
[in, optional] NDIS_HANDLE NdisPartyHandle,
PNDIS_OID_REQUEST NdisOidRequest
);
Paramètres
[in] NdisAfHandle
Handle qui identifie la famille d’adresses (AF) et implicitement le client vers lequel la demande OID est dirigée. À l’origine, le pilote MCM a obtenu ce handle en tant que paramètre d’entrée de sa fonction ProtocolCmOpenAf .
[in, optional] NdisVcHandle
Handle qui identifie la connexion virtuelle (VC) pour laquelle l’appelant demande ou pour laquelle il définit des informations, si la demande est spécifique à VC. Sinon, si cette requête n’est pas spécifique à VC, ce paramètre est NULL. Pour toute demande spécifique à vc, l’appelant a obtenu à l’origine ce handle soit lorsqu’il a créé le vc avec la fonction NdisMCmCreateVc , soit en tant que paramètre d’entrée de sa fonction ProtocolCoCreateVc .
[in, optional] NdisPartyHandle
Handle qui identifie la partie sur un VC multipoint que l’appelant demande ou pour laquelle il définit des informations, si la demande est spécifique à une partie. Sinon, si cette demande n’est pas spécifique à une partie, ce paramètre a la valeur NULL. Pour toute requête spécifique à une partie, le pilote MCM a initialement obtenu ce handle en tant que paramètre d’entrée pour sa fonction ProtocolCmAddParty .
NdisOidRequest
Pointeur vers une mémoire tampon allouée à l’appelant qui contient une structure NDIS_OID_REQUEST .
Valeur retournée
NdisMCmOidRequest retourne l’une des valeurs suivantes :
Code de retour | Description |
---|---|
|
L’opération de demande s’est terminée avec succès. |
|
La demande est gérée de manière asynchrone, et NDIS appellera le service de l’appelant Fonction ProtocolCoOidRequestComplete lorsque la demande est terminée. |
|
Le code OID_XXX spécifié dans le membre Oid de la structure NDIS_OID_REQUEST au niveau du paramètre OidRequest n’est pas valide ou n’est pas pris en charge par le pilote sous-jacent. |
|
La valeur spécifiée dans le membre InformationBufferLength de la structure NDIS_OID_REQUEST sur OidRequest ne correspond pas aux exigences du code OID_XXX donné. Si la mémoire tampon d’informations est trop petite, le membre BytesNeededed de NDIS_OID_REQUEST contient la valeur correcte pour InformationBufferLength, lorsque NdisMCmOidRequest retourne. |
|
Les données fournies dans InformationBuffer dans la structure de NDIS_OID_REQUEST donnée n’étaient pas valides pour le code OID_XXX donné. |
|
Le pilote client ne prend pas en charge l’opération demandée. |
|
La demande n’a pas pu être satisfaite en raison d’une pénurie de ressources. En règle générale, cette valeur de retour indique qu’une tentative d’allocation de mémoire a échoué, mais elle n’indique pas nécessairement que la même demande, si elle est envoyée ultérieurement, échouera pour la même raison. |
|
Cette valeur est généralement une valeur par défaut non spécifique qui est retournée quand aucun des codes de status NDIS_STATUS_XXX les plus spécifiques ne s’applique. |
|
Le pilote cible a cessé de traiter la requête. |
Remarques
Pour lancer des demandes OID aux clients CoNDIS, les pilotes MCM appellent la fonction NdisMCmOidRequest . Avant qu’un pilote MCM n’appelle NdisMCmOidRequest, le pilote alloue de la mémoire pour sa requête et initialise une structure NDIS_OID_REQUEST . Le MCM définit le membre Oid de la structure NDIS_OID_REQUEST avec un code OID CoNDIS.
Un pilote MCM peut appeler NdisMCmOidRequest pour communiquer des informations orientées connexion, telles qu’une modification des adresses du client que le paramètre NdisAfHandle identifie.
Une fois que le MCM a appelé NdisMCmOidRequest, NDIS appelle la fonction ProtocolCoOidRequest du client.
Si la requête du pilote MCM est spécifique à VC ou à une partie, le pilote MCM transmet également une valeur non NULL au paramètre NdisVcHandle ou NdisPartyHandle , respectivement.
Si NdisMCmOidRequest retourne NDIS_STATUS_PENDING, la demande est gérée de manière asynchrone et NDIS appelle le MCM Fonction ProtocolCoOidRequestComplete lorsque la demande est terminée. Si NdisMCmOidRequest retourne un autre status, la demande est terminée lorsque NdisMCmOidRequest retourne et que NDIS n’appelle pas ProtocolCoOidRequestComplete.
Pour plus d’informations sur les OID définis pour être utilisés avec NdisMCmOidRequest, consultez Les OID NDIS.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Pris en charge dans NDIS 6.0 et versions ultérieures. |
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | ndis.h (inclure Ndis.h) |
Bibliothèque | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
Règles de conformité DDI | Irql_MCM_Function(ndis) |