Compartilhar via


Código de exemplo SecBuffer e SecBufferDesc

Este exemplo demonstra como inicializar uma matriz de buffers de segurança. Ele mostra buffers de segurança de entrada inicializados pelo lado do servidor de uma conexão para preparar uma chamada para AcceptSecurityContext (Geral). Observe que o último buffer contém o token de segurança opaco recebido pelo cliente e que o sinalizador de SECBUFFER_READONLY está definido em do SecBuffer.

SecBuffer  Buffers[3];
SecBufferDesc BufferDesc;
BYTE *pHeader;
BYTE *pMessage;
BYTE *pTrailer;

//--------------------------------------------------------------------
// pHeader, pMessage, and pTrailer are BYTE strings.
// In a working program, they would be assigned string values.

BufferDesc.ulVersion = SECBUFFER_VERSION;
BufferDesc.cBuffers = 3;
BufferDesc.pBuffers = Buffers;

Buffers[0].cbBuffer = sizeof(pHeader);
Buffers[0].BufferType = SECBUFFER_READONLY | SECBUFFER_DATA;
Buffers[0].pvBuffer = pHeader;

Buffers[1].cbBuffer = sizeof(pMessage);
Buffers[1].BufferType = SECBUFFER_DATA;
Buffers[1].pvBuffer = pMessage;

Buffers[2].cbBuffer = sizeof(pTrailer);
Buffers[2].BufferType = SECBUFFER_READONLY | SECBUFFER_TOKEN;
Buffers[2].pvBuffer = pTrailer;