Dela via


Exempelkod för SecBuffer och SecBufferDesc

Det här exemplet visar hur du initierar en matris med säkerhetsbuffertar. Den visar indatasäkerhetsbuffertar som initierats av serversidan av en anslutning för att förbereda för ett anrop till AcceptSecurityContext (Allmänt). Observera att den sista bufferten innehåller den ogenomskinliga säkerhetstoken som tas emot av klienten och att flaggan SECBUFFER_READONLY är inställd på 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;