SecBuffer 和 SecBufferDesc 範例程式碼
此範例示範如何初始化安全性緩衝區的陣列。 它會顯示連線伺服器端所初始化的輸入安全性緩衝區,以準備對 AcceptSecurityCoNtext 的呼叫 (一般) 。 請注意,最後一個緩衝區包含用戶端收到的不透明安全性權杖,而且SECBUFFER_READONLY旗標是在 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;