次の方法で共有


LSA_ALLOCATE_CLIENT_BUFFER コールバック関数 (ntsecpkg.h)

クライアントのアドレス空間にバッファーを割り当てます。 クライアントのアドレス空間に割り当てられたバッファーは、認証パッケージからクライアントに返される情報を保持するために使用されます。

構文

LSA_ALLOCATE_CLIENT_BUFFER LsaAllocateClientBuffer;

NTSTATUS LsaAllocateClientBuffer(
  [in]  PLSA_CLIENT_REQUEST ClientRequest,
  [in]  ULONG LengthRequired,
  [out] PVOID *ClientBaseAddress
)
{...}

パラメーター

[in] ClientRequest

LSA クライアントの認証要求に関する情報を含む不透明な LSA_CLIENT_REQUEST データ構造へのポインター。 カスタム認証パッケージは、クライアントが関数を呼び出す際に受け取った値 ( LsaApCallPackageLsaApLogonUser など) を渡して、出力パラメーターを返す必要があります。

[in] LengthRequired

必要なバッファーの長さ (バイト単位)。

[out] ClientBaseAddress

バッファーのアドレスを受け取るポインター。 このアドレスは、現在のプロセスではなく、クライアント プロセス内のバッファーの仮想アドレスです。

戻り値

関数が成功した場合、戻り値はSTATUS_SUCCESS。

関数が失敗した場合、戻り値は NTSTATUS コードであり、次の値または LSA ポリシー関数の戻り値のいずれかになります。

リターン コード 説明
STATUS_NO_MEMORY
クライアント プロセスには、バッファーを割り当てるのに十分なメモリ クォータがありません。
 

LsaNtStatusToWinError 関数は、NTSTATUS コードを Windows エラー コードに変換します。

注釈

認証パッケージまたはクライアント プロセスは、後でバッファーを解放する必要があります。 認証プロセスでは、 FreeClientBuffer ディスパッチ ルーチンを使用してバッファーを解放できます。 クライアント プロセスでは、 LsaFreeReturnBuffer 関数を使用してバッファーを解放できます。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー ntsecpkg.h

こちらもご覧ください

LSA_DISPATCH_TABLE

LSA_SECPKG_FUNCTION_TABLE