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構造体から新しい構造体にデータをコピーします。
その後、ドライバーは、NDIS_OID_REQUEST構造体を解放するために、NdisFreeCloneOidRequest 関数を呼び出す必要があります。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | NDIS 6.0 以降でサポートされています。 |
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | ndis.h (Ndis.h を含む) |
ライブラリ | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI コンプライアンス規則 を する | Irql_OID_Function(ndis) |
関連項目
NdisFreeCloneOidRequest の