次の方法で共有


D3DDDICB_ALLOCATE 構造体 (d3dumddi.h)

D3DDDICB_ALLOCATE構造体には、メモリを割り当てる情報が含まれています。

構文

typedef struct _D3DDDICB_ALLOCATE {
  [in]  const VOID            *pPrivateDriverData;
  [in]  UINT                  PrivateDriverDataSize;
  [in]  HANDLE                hResource;
  [out] D3DKMT_HANDLE         hKMResource;
  [in]  UINT                  NumAllocations;
  union {
    [in]  D3DDDI_ALLOCATIONINFO  *pAllocationInfo;
    [in]  D3DDDI_ALLOCATIONINFO2 *pAllocationInfo2;
  };
  [in]  D3DDDI_ALLOCATIONINFO *pAllocationInfo;
} D3DDDICB_ALLOCATE;

メンバー

[in] pPrivateDriverData

ディスプレイ ミニポート ドライバーに渡されるプライベート データへのポインター。 このデータはリソースごとであり、割り当てごとではありません。 割り当てが既存のリソースにアタッチされている場合、現在のデータは以前のデータを上書きする必要があります。

[in] PrivateDriverDataSize

pPrivateDriverData が指すプライベート データのサイズ (バイト単位)。

[in] hResource

割り当てに関連付けられているリソースへのハンドル。

ユーザー モードディスプレイ ドライバーが pfnAllocateCb 関数を呼び出すとき、ドライバーは CreateResource(D3D10) または CreateResource(D3D11) の呼び出しで、D3DDDIARG_CREATERESOURCE構造体の hResource メンバーから受信した値を、CreateResource(D3D10) または CreateResource(D3D11) の呼び出しで hRTResource パラメーターに割り当てる必要があります。 割り当てをリソースに関連付ける値を割り当てるか、 NULL を 割り当てて割り当てをデバイスに関連付ける必要があります。 ドライバーは、共有リソースに応答して作成される割り当てに NULL 以外の値を割り当てる必要があります。 共有リソースは、D3DDDIARG_CREATERESOURCE のFlags メンバーで設定された SharedResource ビット フィールド フラグを使用した CreateResource 呼び出しによって発生する可能性があります。 また、CreateResource(D3D10) または CreateResource(D3D11) 呼び出しの結果として、D3D10DDIARG_CREATERESOURCEまたはD3D11DDIARG_CREATERESOURCEMiscFlags メンバーにD3D10_DDI_RESOURCE_MISC_SHARED値が設定されている可能性もあります。

Microsoft Direct3D ランタイムは、ドライバー呼び出しでこのハンドルを使用してリソースを識別する必要があります。

[out] hKMResource

割り当てに関連付けられているリソースへのカーネル モード ハンドルを表すD3DKMT_HANDLEデータ型。

Direct3D ランタイムは、ユーザー モードの表示ドライバーが、D3DDDIARG_CREATERESOURCE構造体のhResource メンバーから受信したユーザー モード ランタイム リソース ハンドルにD3DDDICB_ALLOCATEの hResource メンバーを設定した場合にのみ、カーネル モード リソース ハンドルを作成して返します。 このハンドルは、CreateResource の呼び出し、または CreateResource(D3D10) または CreateResource(D3D11) の呼び出しで hResource パラメーターから受信されます。

Direct3D ランタイムは、一意のハンドルを生成し、ユーザー モードのディスプレイ ドライバーに渡します。 ユーザー モードディスプレイ ドライバーは、ディスプレイ ミニポート ドライバーによる後続の使用のために、コマンド ストリームにカーネル モード リソース ハンドルを挿入できます。

[in] NumAllocations

割り当てる割り当ての数を表す pAllocationInfo の配列内の要素の数。

[in] pAllocationInfo

割り当てる割り当てを記述する D3DDDI_ALLOCATIONINFO 構造体の配列。

[入力]割り当てる割り当てを記述する D3DDDI_ALLOCATIONINFO 構造体の配列。

[in] pAllocationInfo2

このメンバーは予約済みであり、0 に設定する必要があります。

このメンバーは、Windows 7 以降で使用できます。

要件

要件
サポートされている最小のクライアント Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。
Header d3dumddi.h (D3dumddi.h を含む)

こちらもご覧ください

CreateResource

CreateResource(D3D10)

CreateResource(D3D11)

D3D10DDIARG_CREATERESOURCE

D3D11DDIARG_CREATERESOURCE

D3DDDIARG_CREATERESOURCE

D3DDDI_ALLOCATIONINFO

pfnAllocateCb