extern static bool _InstallLogPolicy(
     SafeFileHandle hLog,
     ref CLFS_MGMT_POLICY_MINIMUMSIZE buffer);
 public static void InstallLogPolicy(
     SafeFileHandle hLog,
     ref CLFS_MGMT_POLICY_MINIMUMSIZE policy)
 {
     if (!_InstallLogPolicy(hLog, ref policy))
     {
         uint errorCode = (uint)Marshal.GetLastWin32Error();
         HandleInstallPolicyFailure(errorCode);
     }
 }
 extern static bool _QueryLogPolicy(
     SafeFileHandle hLog,
     CLFS_MGMT_POLICY_TYPE ePolicyType,
     ref CLFS_MGMT_POLICY_MINIMUMSIZE buffer,
     ref uint pcbPolicyBuffer);
 public static void QueryLogPolicy(
     SafeFileHandle hLog,
     out CLFS_MGMT_POLICY_MINIMUMSIZE buffer)
 {
     buffer = new CLFS_MGMT_POLICY_MINIMUMSIZE(0);
     if (!_QueryLogPolicy(
             hLog,
             buffer.Common.PolicyType,
             ref buffer,
             ref buffer.Common.LengthInBytes))
     {
         uint errorCode = (uint)Marshal.GetLastWin32Error();
         HandleQueryPolicyFailure(errorCode);
     }
 }