NdisMGetDeviceProperty 関数 (ndis.h)
NdisMGetDeviceProperty 関数は、バス ドライバーを介してミニポート ドライバーとの通信を設定するために必要なデバイス オブジェクトを取得します。
構文
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
);
パラメーター
[in] MiniportAdapterHandle
ミニポート アダプターを識別する NDIS ハンドル。 このハンドルは、最初に に渡されました。 MiniportInitializeEx 関数。
[out, optional] PhysicalDeviceObject
呼び出し元によって割り当てられたバッファーへのポインター。 バッファーは、ミニポート アダプターの物理デバイスを表す DEVICE_OBJECT 構造体へのポインターを受け取ります。 このポインターは省略可能です。
[out, optional] FunctionalDeviceObject
呼び出し元によって割り当てられたバッファーへのポインター。 バッファーは、 DEVICE_OBJECT 構造体へのポインターを受け取ります。 DEVICE_OBJECT は、NDIS が物理デバイス用に作成する機能デバイス オブジェクトを表します。 このポインターは省略可能です。
[out, optional] NextDeviceObject
呼び出し元によって割り当てられたバッファーへのポインター。 バッファーは、次のデバイス オブジェクトを表す DEVICE_OBJECT 構造体へのポインターを受け取ります。 この次のデバイス オブジェクトは、ミニポート ドライバーに属する機能デバイス オブジェクトによってチェーンの前に配置されます。 NDIS は、物理デバイスのこの機能デバイス オブジェクトを作成します。 たとえば、次のデバイス オブジェクトは、バス ドライバーに関連付けられているオブジェクトまたは HAL このポインターは省略可能です。
[out, optional] AllocatedResources
CM_RESOURCE_LIST構造体へのポインターを受け取る呼び出し元によって割り当てられたバッファーへのポインター。 CM_RESOURCE_LIST、PnP マネージャーが物理デバイスに割り当てるハードウェア リソースの一覧について説明します。 この一覧には、生形式のリソースが含まれています。つまり、HAL によって翻訳されません。 このポインターは省略可能です。
[out, optional] AllocatedResourcesTranslated
CM_RESOURCE_LIST構造体へのポインターを受け取る呼び出し元によって割り当てられたバッファーへのポインター。 CM_RESOURCE_LIST、PnP マネージャーが物理デバイスに割り当てるハードウェア リソースの一覧について説明します。 この一覧には、翻訳された形式のリソース 、つまり HAL によって翻訳されたリソースが含まれています。 このポインターは省略可能です。
戻り値
なし
解説
ミニポート ドライバーは、通信を設定するために特定の情報を取得する必要があります。 バス ドライバーを介して通信するミニポート インスタンスのミニポート ドライバーは、 NdisMGetDeviceProperty を使用してこの情報を取得します。 たとえば、ユニバーサル シリアル バス (USB) または IEEE 1394 バスに接続するミニポート ドライバー インスタンスには、上端に標準の NDIS ミニポート ドライバー インターフェイスを公開し、その下端で特定のバスのクラス インターフェイスを使用するミニポート ドライバーが必要です。 USB または 1394 クラス インターフェイスを使用するには、ミニポート ドライバーを作成し、I/O 要求パケット (IRP) を送信します。 ミニポート ドライバーは、 NdisMGetDeviceProperty が取得する物理および次のデバイス オブジェクトを使用して、特定のバスのクラス インターフェイスに IRP を送信します。 IRP の作成とバス ドライバーへの送信の詳細については、「 IRP の処理」を参照してください。
NdisMGetDeviceProperty が取得する物理、機能、および次のデバイス オブジェクトのDEVICE_OBJECTへのポインターは、単にミニポート ドライバーに不透明なハンドルです。
ミニポート ドライバーは、 NdisMGetDeviceProperty を呼び出して、"生" または "翻訳された" リソースへのポインターを取得できます。 生リソースは HAL によって翻訳されていません。翻訳されたリソースが既に含まれます。 生および翻訳されたリソースの詳細については、「プラグ アンド プレイ」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | NDIS 5.1 および NDIS 6.0 以降でサポートされています。 NDIS 5.1 ドライバーについては、「NdisMGetDeviceProperty (NDIS 5.1)」を参照してください。 |
対象プラットフォーム | ユニバーサル |
Header | ndis.h (Ndis.h を含む) |
Library | Ndis.lib |
IRQL | PASSIVE_LEVEL |
DDI コンプライアンス規則 | Irql_Miniport_Driver_Function(ndis) |