次の方法で共有


NdisMWriteConfigBlock 関数 (ndis.h)

PCI Express (PCIe) 仮想関数 (VF) のミニポート ドライバーは 、NdisMWriteConfigBlock 関数を呼び出して VF 構成ブロックにデータを書き込みます。 VF 構成ブロックに対する書き込み操作は、ネットワーク アダプターの PCIe 物理機能 (PF) のミニポート ドライバーによって処理されます。

NdisMWriteConfigBlock は、ネットワーク アダプターの VF のミニポート ドライバーによってのみ呼び出す必要があります。
 

構文

NDIS_STATUS NdisMWriteConfigBlock(
  [in] NDIS_HANDLE NdisMiniportHandle,
  [in] ULONG       BlockId,
  [in] PVOID       Buffer,
  [in] ULONG       Length
);

パラメーター

[in] NdisMiniportHandle

NDIS が MiniportInitializeExの MiniportAdapterHandle パラメーターに渡したネットワーク アダプター ハンドル。

[in] BlockId

書き込む構成ブロックの識別子を指定する ULONG 値。 この識別子は、独立したハードウェア ベンダー (IHV) に固有であり、ネットワーク アダプター上の PF と VF のミニポート ドライバーによってのみ使用されます。

[in] Buffer

書き込まれる構成データを含む呼び出し元によって割り当てられたバッファーへのポインター。

[in] Length

構成ブロックに書き込むバイト数。

戻り値

NdisMWriteConfigBlock は、次のいずれかの状態値を返すことができます。

リターン コード 説明
NDIS_STATUS_SUCCESS
書き込み操作が正常に完了しました。
NDIS_STATUS_FAILURE
書き込み操作に失敗しました。

注釈

VF ミニポート ドライバーは NdisMWriteConfigBlock を呼び出して、PF ミニポート ドライバーによる VF 構成データのバックチャネル書き込み要求を開始します。 この要求が通知されると、PF ドライバーは、指定された VF 構成ブロックにデータを書き込みます。

VF 構成ブロックは、PF ミニポート ドライバーと VF ミニポート ドライバー間のバックチャネル通信に使用されます。 IHV では、デバイスの 1 つ以上の VF 構成ブロックを定義できます。 各 VF 構成ブロックには、IHV で定義された形式、長さ、およびブロック ID があります。

メモ 各 VF 構成ブロックからのデータは、PF および VF ミニポート ドライバーによってのみ使用されます。
 
シングル ルート I/O 仮想化 (SR-IOV) インターフェイス内のバックチャネル通信の詳細については、「 SR-IOV PF/VF バックチャネル通信」を参照してください。

Virtual Bus ドライバーへのインターフェイス

独立系ハードウェア ベンダー (IHV) が SR-IOV ドライバー パッケージの一部として仮想バス ドライバー (VBD) を提供する場合、ミニポート ドライバーは NdisMWriteConfigBlock を呼び出す必要があります。 代わりに、ドライバーはプライベート通信チャネルを介して VBD とインターフェイスし、VBD が WriteVfConfigBlock を呼び出すように要求する必要があります。 この関数は、基になる仮想 PCI (VPCI) バス ドライバーでサポートされている GUID_VPCI_INTERFACE_STANDARD インターフェイスから公開されます。

Hyper-V 子パーティションのゲスト オペレーティング システムで実行される VBD は、VPCI バス上の物理デバイス オブジェクト (PDO) にIRP_MN_QUERY_INTERFACE要求を発行することで、GUID_VPCI_INTERFACE_STANDARD インターフェイスに対してクエリを実行できます。 この要求は、IRQL = PASSIVE_LEVELから行う必要があります。 この要求では、ドライバーは InterfaceType パラメーターを GUID_VPCI_INTERFACE_STANDARD に設定する必要があります。

要件

要件
サポートされている最小のクライアント サポートされていません。NDIS 6.30 以降でサポートされています。
サポートされている最小のサーバー Windows Server 2012
対象プラットフォーム ユニバーサル
Header ndis.h (Ndis.h を含む)
Library Ndis.lib
IRQL <= APC_LEVEL

こちらもご覧ください

GUID_VPCI_INTERFACE_STANDARD

WriteVfConfigBlock