private void VerifyNcacnHttp(IntPtr returnedBindingHandle)
{
// IMS-OXCRPCAdapter interface implementation will initialize the client and server, build the transport tunnel between client and server.
// If the returned RPC Binding is not intptr.zero, which indicates that initialize the client and server successfully, these requirements will be verified.
if (returnedBindingHandle != IntPtr.Zero)
{
if (Common.IsRequirementEnabled(1936, this.Site))
{
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCRPC_R1936.The RPC binding handle is {0}.", returnedBindingHandle);
// If the type of the transport is ncacn_http and server returns RPC Binding which is not intptr.zero, this requirement will be verified.
Site.CaptureRequirement(
1936,
@"[In Appendix B: Product Behavior] Implementation does support this given protocol sequence [ncacn_http]. <1> Section 2.1: Exchange 2007 and above follow this behavior.");
}
// The well-known endpoint 6001 is a constant in the transport class used to bind to server when the transport sequence is ncacn_http.
// So if code can reach here, it indicates that the well-known endpoint 6001 is used for transport sequence ncacn_http, and R4 can be verified.
this.Site.CaptureRequirement(
4,
@"[In Transport] For the network protocol sequence ncacn_http, this protocol MUST use the well-known endpoint 6001.");
}
}