SecBuffer- und SecBufferDesc-Beispielcode
In diesem Beispiel wird veranschaulicht, wie Sie ein Array von Sicherheitspuffern initialisieren. Es zeigt Eingabesicherheitspuffer, die von der Serverseite einer Verbindung initialisiert werden, um einen Aufruf an AcceptSecurityContext (Allgemein) 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;