次の方法で共有


NDK_FN_CLOSE_OBJECT コールバック関数 (ndkpi.h)

NdkCloseObject (NDK_FN_CLOSE_OBJECT) 関数は、NDK オブジェクトのクローズ要求を開始します。

構文

NDK_FN_CLOSE_OBJECT NdkFnCloseObject;

NTSTATUS NdkFnCloseObject(
  [in]           NDK_OBJECT_HEADER *pNdkObject,
  [in]           NDK_FN_CLOSE_COMPLETION CloseCompletion,
  [in, optional] PVOID RequestContext
)
{...}

パラメーター

[in] pNdkObject

オブジェクトを閉じるオブジェクト ヘッダー (NDK_OBJECT_HEADER) へのポインター。

[in] CloseCompletion

NdkCloseCompletion close completion コールバック関数 (NDK_FN_CLOSE_COMPLETION) へのポインター。

[in, optional] RequestContext

CloseCompletion パラメーターで指定された NdkCloseCompletion 関数に戻す NDK プロバイダーのコンテキスト値。

戻り値

NdkCloseObject 関数は、次のいずれかの NTSTATUS コードを返します。

リターン コード 説明
STATUS_SUCCESS
NDK オブジェクトが閉じられます。 プロバイダーは NdkCloseCompletion 関数を呼び出しません。
STATUS_PENDING
要求は保留中です。プロバイダーは NdkCloseCompletion 関数を呼び出して、操作を非同期的に完了します。 クローズ要求は正常に開始されましたが、完了していない可能性があります。
その他の状態コード
エラーが発生しました。

解説

NDK オブジェクトの各型の関数ディスパッチ テーブルには 、NDK_FN_CLOSE_OBJECT 関数ポインターが含まれています。 閉じる要求は非同期です。 NDK コンシューマーは、クローズ要求が開始された後にオブジェクトにアクセスすることはできません。

NDK プロバイダーは、 NdkCloseCompletion 関数 (NDK_FN_CLOSE_COMPLETION) が、閉じているオブジェクトに対して呼び出される最後のコールバックであることを確認する必要があります。 プロバイダーが NdkCloseCompletion 関数を呼び出す前に、すべての未処理の非同期要求が完了し、進行中のすべてのコールバックが返され、それ以降のコールバックが防止されていることを確認する必要があります。 プロバイダーが NdkCloseCompletion 関数を呼び出した後、プロバイダーは オブジェクトの完了関数または通知コールバック関数を呼び出しません。

要件

要件
サポートされている最小のクライアント サポートされていません。NDIS 6.30 以降でサポートされています。
サポートされている最小のサーバー Windows Server 2012
対象プラットフォーム Windows
ヘッダー ndkpi.h (Ndkpi.h を含む)
IRQL <=DISPATCH_LEVEL

こちらもご覧ください

NDKPI オブジェクト有効期間要件

NDK_CONNECTOR_DISPATCH

NDK_CQ_DISPATCH

NDK_FN_CLOSE_COMPLETION

NDK_OBJECT_HEADER