NdisMGetDeviceProperty-Funktion (ndis.h)
Die NdisMGetDeviceProperty-Funktion ruft Geräteobjekte ab, die zum Einrichten der Kommunikation mit einem Miniporttreiber über einen Bustreiber erforderlich sind.
Syntax
void NdisMGetDeviceProperty(
[in] NDIS_HANDLE MiniportAdapterHandle,
[out, optional] PDEVICE_OBJECT *PhysicalDeviceObject,
[out, optional] PDEVICE_OBJECT *FunctionalDeviceObject,
[out, optional] PDEVICE_OBJECT *NextDeviceObject,
[out, optional] PCM_RESOURCE_LIST *AllocatedResources,
[out, optional] PCM_RESOURCE_LIST *AllocatedResourcesTranslated
);
Parameter
[in] MiniportAdapterHandle
Das NDIS-Handle, das den Miniportadapter identifiziert. Dieses Handle wurde ursprünglich an die übergeben MiniportInitializeEx-Funktion .
[out, optional] PhysicalDeviceObject
Ein Zeiger auf einen vom Aufrufer zugewiesenen Puffer. Der Puffer empfängt einen Zeiger auf eine DEVICE_OBJECT Struktur, die das physische Gerät für den Miniportadapter darstellt. Dieser Zeiger ist optional.
[out, optional] FunctionalDeviceObject
Ein Zeiger auf einen vom Aufrufer zugewiesenen Puffer. Der Puffer empfängt einen Zeiger auf eine DEVICE_OBJECT Struktur. DEVICE_OBJECT stellt das funktionale Geräteobjekt dar, das NDIS für das physische Gerät erstellt. Dieser Zeiger ist optional.
[out, optional] NextDeviceObject
Ein Zeiger auf einen vom Aufrufer zugewiesenen Puffer. Der Puffer empfängt einen Zeiger auf eine DEVICE_OBJECT Struktur, die das nächste Geräteobjekt darstellt. Diesem nächsten Geräteobjekt wird in der Kette das funktionale Geräteobjekt vorangestellt, das zum Miniporttreiber gehört. NDIS erstellt dieses funktionale Geräteobjekt für das physische Gerät. Das nächste Geräteobjekt kann beispielsweise das Objekt sein, das einem Bustreiber zugeordnet ist, oder der HAL-Zeiger ist optional.
[out, optional] AllocatedResources
Ein Zeiger auf einen vom Aufrufer zugewiesenen Puffer, der einen Zeiger auf eine CM_RESOURCE_LIST Struktur empfängt. CM_RESOURCE_LIST beschreibt eine Liste der Hardwareressourcen, die der PnP-Manager dem physischen Gerät zuweist. Diese Liste enthält die Ressourcen in unformatierter Form, d. h. nicht von HAL übersetzt. Dieser Zeiger ist optional.
[out, optional] AllocatedResourcesTranslated
Ein Zeiger auf einen vom Aufrufer zugewiesenen Puffer, der einen Zeiger auf eine CM_RESOURCE_LIST Struktur empfängt. CM_RESOURCE_LIST beschreibt eine Liste der Hardwareressourcen, die der PnP-Manager dem physischen Gerät zuweist. Diese Liste enthält die Ressourcen in übersetzter Form, d. h. von HAL übersetzt. Dieser Zeiger ist optional.
Rückgabewert
Keine
Bemerkungen
Miniport-Treiber müssen bestimmte Informationen abrufen, um ihre Kommunikation einzurichten. Miniporttreiber für Miniportinstanzen, die über Bustreiber kommunizieren, verwenden NdisMGetDeviceProperty , um diese Informationen abzurufen. Miniporttreiberinstanzen, die an USB-Busse (Universal Serial Bus) oder IEEE 1394-Busse angeschlossen sind, erfordern beispielsweise Miniporttreiber, die eine Standardschnittstelle des NDIS-Miniporttreibers am oberen Rand verfügbar machen und die Klassenschnittstelle für den jeweiligen Bus am unteren Rand verwenden. Um die USB- oder 1394-Klassenschnittstelle zu verwenden, erstellt und übermittelt ein Miniporttreiber I/O Request Packets (IRPs). Der Miniporttreiber verwendet die physischen und next-device-Objekte, die NdisMGetDeviceProperty abruft, um IRPs an die Klassenschnittstelle für einen bestimmten Bus zu übermitteln. Weitere Informationen zum Erstellen und Übermitteln von IRPs an Bustreiber finden Sie unter Behandeln von IRPs.
Zeiger auf DEVICE_OBJECT für die physischen, funktionalen und nächsten Geräteobjekte, die NdisMGetDeviceProperty abruft, sind lediglich Handles, die für den Miniporttreiber undurchsichtig sind.
Miniport-Treiber können NdisMGetDeviceProperty aufrufen, um Zeiger auf "rohe" oder "übersetzte" Ressourcen abzurufen. Rohressourcen wurden nicht von HAL übersetzt; übersetzte Ressourcen wurden bereits verwendet. Weitere Informationen zu rohen und übersetzten Ressourcen finden Sie unter Plug & Play.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Unterstützt in NDIS 5.1 und NDIS 6.0 und höher. Informationen zu NDIS 5.1-Treibern finden Sie unter NdisMGetDeviceProperty (NDIS 5.1). |
Zielplattform | Universell |
Header | ndis.h (einschließlich Ndis.h) |
Bibliothek | Ndis.lib |
IRQL | PASSIVE_LEVEL |
DDI-Complianceregeln | Irql_Miniport_Driver_Function(ndis) |