Beispielcode für SecBuffer und SecBufferDesc
In diesem Beispiel wird veranschaulicht, wie ein Array von Sicherheitspuffern initialisiert wird. Es werden Eingabesicherheitspuffer angezeigt, die von der Serverseite einer Verbindung initialisiert werden, um einen Aufruf von AcceptSecurityContext (General) vorzubereiten. Beachten Sie, dass der letzte Puffer das vom Client empfangene undurchsichtige Sicherheitstoken enthält und dass das SECBUFFER_READONLY-Flag für SecBuffer festgelegt ist.
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;