PINT10_ALLOCATE_BUFFER コールバック関数 (video.h)
Int10AllocateBuffer 関数を使用すると、別のスレッドのコンテキストで単一の 4 KB のメモリ ブロックを割り当てることができます。 メモリのブロックが割り当てられた後は、別のメモリ ブロックを割り当てる前に解放する必要があります。
構文
PINT10_ALLOCATE_BUFFER Pint10AllocateBuffer;
VP_STATUS Pint10AllocateBuffer(
[in] IN PVOID Context,
[out] OUT PUSHORT Seg,
[out] OUT PUSHORT Off,
[in, out] IN OUT PULONG Length
)
{...}
パラメーター
[in] Context
インターフェイスのビデオ ポート ドライバー定義コンテキストへのポインター。 これは、VideoPortQueryServices から戻った後のVIDEO_PORT_INT10_INTERFACE構造体の Context メンバーの値と同じである必要があります。
[out] Seg
割り当てられたメモリ バッファーのセグメント アドレスを受け取るメモリの場所へのポインター。
[out] Off
割り当てられたメモリ バッファーの *Seg で指定されたセグメント内のオフセットを受け取るメモリ位置へのポインター。
[in, out] Length
要求されたメモリ バッファーの長さ (バイト単位) を含むメモリ位置へのポインター。4096 の大きさにすることができます。 関数が戻ると、このメモリ位置には、メモリが実際に割り当てられたかどうかの値 4096 が含まれます。
戻り値
Int10AllocateBuffer 関数は、成功するとNO_ERRORを返します。 バッファーが以前に割り当てられている場合、または 4096 バイトを超えるバッファー サイズが要求された場合は、STATUS_INSUFFICIENT_RESOURCESを返します。
注釈
ビデオ ポートは、この関数を実装します。この関数は、 VIDEO_PORT_INT10_INTERFACE 構造体内のポインターを介してアクセスできます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 以降のバージョンの Windows オペレーティング システムで使用できます。 |
対象プラットフォーム | デスクトップ |
Header | video.h (Video.h を含む) |
IRQL | PASSIVE_LEVEL |