// IpcCreateLicenseFromScratch() - http://msdn.microsoft.com/en-us/library/windows/desktop/hh535256(v=vs.85).aspx public static SafeInformationProtectionLicenseHandle IpcCreateLicenseFromScratch(TemplateIssuer templateIssuer) { SafeInformationProtectionLicenseHandle licenseHandle = null; int hr = 0; IpcTemplateIssuer ipcTemplateIssuer = TemplateIssuerToIpcTemplateIssuer(templateIssuer); hr = UnsafeNativeMethods.IpcCreateLicenseFromScratch(ipcTemplateIssuer, 0, IntPtr.Zero, out licenseHandle); ThrowOnErrorCode(hr); return licenseHandle; }
private static IpcTemplateIssuer TemplateIssuerToIpcTemplateIssuer(TemplateIssuer templateIssuer) { IpcTemplateIssuer ipcTemplateIssuer = new IpcTemplateIssuer(); ipcTemplateIssuer.connectionInfo = ConnectionInfoToIpcConnectionInfo(templateIssuer.ConnectionInfo); ipcTemplateIssuer.wszDisplayName = templateIssuer.DisplayName; ipcTemplateIssuer.fAllowFromScratch = templateIssuer.AllowFromScratch; return ipcTemplateIssuer; }