SecBuffer ve SecBufferDesc Örnek Kodu

Bu örnekte bir dizi güvenlik arabelleğinin nasıl başlatılmış olduğu gösterilmektedir. AcceptSecurityContext (Genel)çağrısına hazırlanmak için bağlantının sunucu tarafı tarafından başlatılan giriş güvenlik arabelleklerini gösterir. Son arabelleğin istemci tarafından alınan opak güvenlik belirtecini içerdiğini ve SECBUFFER_READONLY bayrağının SecBufferüzerinde ayarlandığını unutmayın.

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;