// ndis.h
IF_QUERY_OBJECT IfQueryObject;
NDIS_STATUS() IfQueryObject(
[in] NDIS_HANDLE ProviderIfContext,
[in] NET_IF_OBJECT_ID ObjectId,
[in, out] PULONG pOutputBufferLength,
[out] PVOID pOutputBuffer
)
{...}
View the official Windows Driver Kit DDI referenceNo description available.
The ProviderQueryObject function retrieves information about a network interface.
ProviderIfContext [in]A handle that identifies the interface provider's context area for the interface. The interface provider passed this handle to NDIS in a call to the NdisIfRegisterInterface function.
ObjectId [in]An identifier for the object that is the target of the query request. For a list of object identifiers (OIDs) that apply to interface providers, see NDIS Network Interface OIDs.
pOutputBufferLength [in, out]A pointer to an NDIS-supplied variable in which NDIS provides the length of the output buffer. ProviderQueryObject writes the length of the data that it put in the output buffer.
pOutputBuffer [out]A pointer to an NDIS-supplied output buffer in which ProviderQueryObject writes the response to the query request.
ProviderQueryObject returns one of the following status values:
| Return code | Description |
|---|---|
| NDIS_STATUS_SUCCESS | The operation completed successfully. |
| NDIS_STATUS_RESOURCES | The operation failed because of insufficient resources. |
| NDIS_STATUS_INVALID_PARAMETER | The call failed because some of the input parameters were invalid. |
| NDIS_STATUS_*Xxx* | The call failed for some other reason. This function can propagate error codes from the functions that it calls or generate an appropriate error code. |
NDIS calls a network interface provider's ProviderQueryObject function to obtain information about an interface that the provider registered. For a list of OIDs that apply to interface providers, see NDIS Network Interface OIDs.
NDIS calls ProviderQueryObject at IRQL = PASSIVE_LEVEL.