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 ハンドル。 このハンドルは、最初にミニポートInitializeEx 関数を します。
[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 を呼び出して、"raw" または "translated" リソースへのポインターを取得できます。 生のリソースは HAL によって翻訳されていません。;翻訳されたリソースが含まれます。 未加工および翻訳されたリソースの詳細については、「プラグ アンド プレイ」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | NDIS 5.1 および NDIS 6.0 以降でサポートされています。 NDIS 5.1 ドライバーについては、NdisMGetDeviceProperty (NDIS 5.1) を参照してください。 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | ndis.h (Ndis.h を含む) |
ライブラリ | Ndis.lib |
IRQL | PASSIVE_LEVEL |
DDI コンプライアンス規則 を する | Irql_Miniport_Driver_Function(ndis) |