NdisAllocateCloneOidRequest 関数 (ndis.h)
NdisAllocateCloneOidRequest 関数は、新しいNDIS_OID_REQUEST構造体にメモリを割り当て、既存のNDIS_OID_REQUEST構造体から新しく割り当てられた構造体にすべての情報をコピーします。
構文
NDIS_STATUS NdisAllocateCloneOidRequest(
[in] IN NDIS_HANDLE SourceHandle,
IN PNDIS_OID_REQUEST OidRequest,
[in] IN UINT PoolTag,
OUT PNDIS_OID_REQUEST *ClonedOidRequest
);
パラメーター
[in] SourceHandle
フィルター モジュールまたは中間ドライバーのプロトコル バインドを識別する NDIS ハンドル。
OidRequest
NDIS が新しく割り当てられた構造体に情報をコピーする既存の NDIS_OID_REQUEST 構造体へのポインター。
[in] PoolTag
カーネル プール タグ。 タグは文字列であり、通常は逆の順序で指定される 4 文字までを含む単一引用符で区切られます。
ClonedOidRequest
NDIS_OID_REQUEST構造体へのポインターへのポインター。 NDIS がNDIS_STATUS_SUCCESSを返す場合、NDIS は新しい複製されたNDIS_OID_REQUEST構造体へのポインターを提供します。それ以外の場合、NDIS はポインター値を NULL に設定 します。
戻り値
NdisAllocateClonedRequest は、次のいずれかの状態値を返すことができます。
リターン コード | 説明 |
---|---|
|
NDIS は、NDIS_OID_REQUEST構造体を正常に割り当てしました。 CloneRequest パラメーターには、NDIS_OID_REQUEST構造体へのポインターが含まれています。 |
|
SourceHandle で指定された NDIS ハンドルが無効であるため、割り当て要求が失敗しました。 |
|
割り当て要求を完了するのに十分なリソースが NDIS になかったため、割り当て要求が失敗しました。 |
|
ドライバーは、前の一覧の理由以外の理由で、複製された構造体を割り当てませんでした。 |
注釈
基になるドライバーに要求を転送するには、NDIS 中間ドライバーまたはフィルター ドライバーが NdisAllocateCloneOidRequest を呼び出して、複製された NDIS_OID_REQUEST 構造体を割り当てる必要があります。 フィルター ドライバーまたは中間ドライバーは、元のNDIS_OID_REQUEST構造を基になるドライバーに転送しないでください。
NdisAllocateCloneOidRequest は、新しいメモリを割り当て、既存のNDIS_OID_REQUEST構造体から新しい構造体にデータをコピーします。
ドライバーは、その後、 NdisFreeCloneOidRequest 関数を呼び出して、NDIS_OID_REQUEST構造体を解放する必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | NDIS 6.0 以降でサポートされています。 |
対象プラットフォーム | デスクトップ |
Header | ndis.h (Ndis.h を含む) |
Library | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI コンプライアンス規則 | Irql_OID_Function(ndis) |