<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-2022-jp">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        color:black;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        color:black;}
span.EmailStyle19
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;
        color:black;}
span.EmailStyle22
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
p.Code, li.Code, div.Code
        {mso-style-name:Code;
        mso-style-priority:2;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:12.0pt;
        margin-left:18.7pt;
        mso-add-space:auto;
        text-indent:-.7pt;
        mso-list:l1 level1 lfo1;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New";
        color:windowtext;}
p.CodeCxSpFirst, li.CodeCxSpFirst, div.CodeCxSpFirst
        {mso-style-name:CodeCxSpFirst;
        mso-style-priority:2;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:18.7pt;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        text-indent:-.7pt;
        mso-list:l1 level1 lfo1;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New";
        color:windowtext;}
p.CodeCxSpMiddle, li.CodeCxSpMiddle, div.CodeCxSpMiddle
        {mso-style-name:CodeCxSpMiddle;
        mso-style-priority:2;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:18.7pt;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        text-indent:-.7pt;
        mso-list:l1 level1 lfo1;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New";
        color:windowtext;}
p.CodeCxSpLast, li.CodeCxSpLast, div.CodeCxSpLast
        {mso-style-name:CodeCxSpLast;
        mso-style-priority:2;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:12.0pt;
        margin-left:18.7pt;
        mso-add-space:auto;
        text-indent:-.7pt;
        mso-list:l1 level1 lfo1;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New";
        color:windowtext;}
p.Code-List, li.Code-List, div.Code-List
        {mso-style-name:"Code - List";
        mso-style-priority:99;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:12.0pt;
        margin-left:24.3pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l1 level2 lfo1;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New";
        color:windowtext;}
p.Code-ListCxSpFirst, li.Code-ListCxSpFirst, div.Code-ListCxSpFirst
        {mso-style-name:"Code - ListCxSpFirst";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:0in;
        margin-left:24.3pt;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l1 level2 lfo1;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New";
        color:windowtext;}
p.Code-ListCxSpMiddle, li.Code-ListCxSpMiddle, div.Code-ListCxSpMiddle
        {mso-style-name:"Code - ListCxSpMiddle";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:0in;
        margin-left:24.3pt;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l1 level2 lfo1;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New";
        color:windowtext;}
p.Code-ListCxSpLast, li.Code-ListCxSpLast, div.Code-ListCxSpLast
        {mso-style-name:"Code - ListCxSpLast";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:12.0pt;
        margin-left:24.3pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l1 level2 lfo1;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New";
        color:windowtext;}
p.Code-List2, li.Code-List2, div.Code-List2
        {mso-style-name:"Code - List 2";
        mso-style-priority:99;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:12.0pt;
        margin-left:37.8pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l1 level3 lfo1;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New";
        color:windowtext;}
p.Code-List2CxSpFirst, li.Code-List2CxSpFirst, div.Code-List2CxSpFirst
        {mso-style-name:"Code - List 2CxSpFirst";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:0in;
        margin-left:37.8pt;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l1 level3 lfo1;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New";
        color:windowtext;}
p.Code-List2CxSpMiddle, li.Code-List2CxSpMiddle, div.Code-List2CxSpMiddle
        {mso-style-name:"Code - List 2CxSpMiddle";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:0in;
        margin-left:37.8pt;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l1 level3 lfo1;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New";
        color:windowtext;}
p.Code-List2CxSpLast, li.Code-List2CxSpLast, div.Code-List2CxSpLast
        {mso-style-name:"Code - List 2CxSpLast";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:12.0pt;
        margin-left:37.8pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l1 level3 lfo1;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New";
        color:windowtext;}
p.Code-List3, li.Code-List3, div.Code-List3
        {mso-style-name:"Code - List 3";
        mso-style-priority:99;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:12.0pt;
        margin-left:51.3pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l1 level4 lfo1;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New";
        color:windowtext;}
p.Code-List3CxSpFirst, li.Code-List3CxSpFirst, div.Code-List3CxSpFirst
        {mso-style-name:"Code - List 3CxSpFirst";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:0in;
        margin-left:51.3pt;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l1 level4 lfo1;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New";
        color:windowtext;}
p.Code-List3CxSpMiddle, li.Code-List3CxSpMiddle, div.Code-List3CxSpMiddle
        {mso-style-name:"Code - List 3CxSpMiddle";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:0in;
        margin-left:51.3pt;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l1 level4 lfo1;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New";
        color:windowtext;}
p.Code-List3CxSpLast, li.Code-List3CxSpLast, div.Code-List3CxSpLast
        {mso-style-name:"Code - List 3CxSpLast";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:12.0pt;
        margin-left:51.3pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l1 level4 lfo1;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New";
        color:windowtext;}
p.Code-List4, li.Code-List4, div.Code-List4
        {mso-style-name:"Code - List 4";
        mso-style-priority:99;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:12.0pt;
        margin-left:.9in;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l1 level5 lfo1;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New";
        color:windowtext;}
p.Code-List4CxSpFirst, li.Code-List4CxSpFirst, div.Code-List4CxSpFirst
        {mso-style-name:"Code - List 4CxSpFirst";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:0in;
        margin-left:.9in;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l1 level5 lfo1;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New";
        color:windowtext;}
p.Code-List4CxSpMiddle, li.Code-List4CxSpMiddle, div.Code-List4CxSpMiddle
        {mso-style-name:"Code - List 4CxSpMiddle";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:0in;
        margin-left:.9in;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l1 level5 lfo1;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New";
        color:windowtext;}
p.Code-List4CxSpLast, li.Code-List4CxSpLast, div.Code-List4CxSpLast
        {mso-style-name:"Code - List 4CxSpLast";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:12.0pt;
        margin-left:.9in;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l1 level5 lfo1;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New";
        color:windowtext;}
p.Code-List5, li.Code-List5, div.Code-List5
        {mso-style-name:"Code - List 5";
        mso-style-priority:99;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:12.0pt;
        margin-left:78.3pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l1 level6 lfo1;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New";
        color:windowtext;}
p.Code-List5CxSpFirst, li.Code-List5CxSpFirst, div.Code-List5CxSpFirst
        {mso-style-name:"Code - List 5CxSpFirst";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:0in;
        margin-left:78.3pt;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l1 level6 lfo1;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New";
        color:windowtext;}
p.Code-List5CxSpMiddle, li.Code-List5CxSpMiddle, div.Code-List5CxSpMiddle
        {mso-style-name:"Code - List 5CxSpMiddle";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:0in;
        margin-left:78.3pt;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l1 level6 lfo1;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New";
        color:windowtext;}
p.Code-List5CxSpLast, li.Code-List5CxSpLast, div.Code-List5CxSpLast
        {mso-style-name:"Code - List 5CxSpLast";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:12.0pt;
        margin-left:78.3pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l1 level6 lfo1;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New";
        color:windowtext;}
p.Code-List6, li.Code-List6, div.Code-List6
        {mso-style-name:"Code - List 6";
        mso-style-priority:99;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:12.0pt;
        margin-left:91.8pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l1 level7 lfo1;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New";
        color:windowtext;}
p.Code-List6CxSpFirst, li.Code-List6CxSpFirst, div.Code-List6CxSpFirst
        {mso-style-name:"Code - List 6CxSpFirst";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:0in;
        margin-left:91.8pt;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l1 level7 lfo1;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New";
        color:windowtext;}
p.Code-List6CxSpMiddle, li.Code-List6CxSpMiddle, div.Code-List6CxSpMiddle
        {mso-style-name:"Code - List 6CxSpMiddle";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:0in;
        margin-left:91.8pt;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l1 level7 lfo1;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New";
        color:windowtext;}
p.Code-List6CxSpLast, li.Code-List6CxSpLast, div.Code-List6CxSpLast
        {mso-style-name:"Code - List 6CxSpLast";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:12.0pt;
        margin-left:91.8pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l1 level7 lfo1;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New";
        color:windowtext;}
p.Code-List7, li.Code-List7, div.Code-List7
        {mso-style-name:"Code - List 7";
        mso-style-priority:99;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:12.0pt;
        margin-left:105.3pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l1 level8 lfo1;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New";
        color:windowtext;}
p.Code-List7CxSpFirst, li.Code-List7CxSpFirst, div.Code-List7CxSpFirst
        {mso-style-name:"Code - List 7CxSpFirst";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:0in;
        margin-left:105.3pt;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l1 level8 lfo1;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New";
        color:windowtext;}
p.Code-List7CxSpMiddle, li.Code-List7CxSpMiddle, div.Code-List7CxSpMiddle
        {mso-style-name:"Code - List 7CxSpMiddle";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:0in;
        margin-left:105.3pt;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l1 level8 lfo1;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New";
        color:windowtext;}
p.Code-List7CxSpLast, li.Code-List7CxSpLast, div.Code-List7CxSpLast
        {mso-style-name:"Code - List 7CxSpLast";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:12.0pt;
        margin-left:105.3pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l1 level8 lfo1;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New";
        color:windowtext;}
p.Code-List8, li.Code-List8, div.Code-List8
        {mso-style-name:"Code - List 8";
        mso-style-priority:99;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:12.0pt;
        margin-left:1.65in;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l1 level9 lfo1;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New";
        color:windowtext;}
p.Code-List8CxSpFirst, li.Code-List8CxSpFirst, div.Code-List8CxSpFirst
        {mso-style-name:"Code - List 8CxSpFirst";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:0in;
        margin-left:1.65in;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l1 level9 lfo1;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New";
        color:windowtext;}
p.Code-List8CxSpMiddle, li.Code-List8CxSpMiddle, div.Code-List8CxSpMiddle
        {mso-style-name:"Code - List 8CxSpMiddle";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:0in;
        margin-left:1.65in;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l1 level9 lfo1;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New";
        color:windowtext;}
p.Code-List8CxSpLast, li.Code-List8CxSpLast, div.Code-List8CxSpLast
        {mso-style-name:"Code - List 8CxSpLast";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:12.0pt;
        margin-left:1.65in;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l1 level9 lfo1;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:440104109;
        mso-list-template-ids:-928344318;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:"Courier New";
        mso-bidi-font-family:"Times New Roman";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l1
        {mso-list-id:616571324;
        mso-list-template-ids:-521528704;}
@list l1:level1
        {mso-level-number-format:none;
        mso-level-style-link:Code;
        mso-level-text:"";
        mso-level-tab-stop:0in;
        mso-level-number-position:left;
        margin-left:.15in;
        text-indent:0in;}
@list l1:level2
        {mso-level-number-format:none;
        mso-level-style-link:"Code - List";
        mso-level-text:"";
        mso-level-tab-stop:13.5pt;
        mso-level-number-position:left;
        margin-left:24.3pt;
        text-indent:0in;}
@list l1:level3
        {mso-level-number-format:none;
        mso-level-style-link:"Code - List 2";
        mso-level-text:"";
        mso-level-tab-stop:27.0pt;
        mso-level-number-position:left;
        margin-left:37.8pt;
        text-indent:0in;}
@list l1:level4
        {mso-level-number-format:none;
        mso-level-style-link:"Code - List 3";
        mso-level-text:"";
        mso-level-tab-stop:40.5pt;
        mso-level-number-position:left;
        margin-left:51.3pt;
        text-indent:0in;}
@list l1:level5
        {mso-level-number-format:none;
        mso-level-style-link:"Code - List 4";
        mso-level-text:"";
        mso-level-tab-stop:.75in;
        mso-level-number-position:left;
        margin-left:.9in;
        text-indent:0in;}
@list l1:level6
        {mso-level-number-format:none;
        mso-level-style-link:"Code - List 5";
        mso-level-text:"";
        mso-level-tab-stop:67.5pt;
        mso-level-number-position:left;
        margin-left:78.3pt;
        text-indent:0in;}
@list l1:level7
        {mso-level-number-format:none;
        mso-level-style-link:"Code - List 6";
        mso-level-text:"";
        mso-level-tab-stop:81.0pt;
        mso-level-number-position:left;
        margin-left:91.8pt;
        text-indent:0in;}
@list l1:level8
        {mso-level-number-format:none;
        mso-level-style-link:"Code - List 7";
        mso-level-text:"";
        mso-level-tab-stop:94.5pt;
        mso-level-number-position:left;
        margin-left:105.3pt;
        text-indent:0in;}
@list l1:level9
        {mso-level-number-format:none;
        mso-level-style-link:"Code - List 8";
        mso-level-text:"";
        mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        margin-left:1.65in;
        text-indent:0in;}
@list l2
        {mso-list-id:1664509114;
        mso-list-template-ids:216271820;}
@list l2:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l2:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:"Courier New";
        mso-bidi-font-family:"Times New Roman";}
@list l2:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l2:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l2:level5
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l2:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l2:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l2:level8
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l2:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body bgcolor="white" lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal" style="line-height:12.0pt;word-break:break-all">Tim,<o:p></o:p></p>
<p class="MsoNormal" style="line-height:12.0pt;word-break:break-all">Thank you for your clarification. I see your concern regarding a hanging link to an unknown object.
<o:p></o:p></p>
<p class="MsoNormal" style="line-height:12.0pt;word-break:break-all">Please find Section references in MS-ADTS and a link to a blog post on AD internals that might help. The key point is that a linked attribute needs to reference a physical object in the database.
 However, attribute values may reference objects in an NC for which no NC replica is present on the local server.
<o:p></o:p></p>
<p class="MsoNormal">When you have a valid dsname and the referenced object does not exist in the local data table, the implementation creates a valued representation of the object, commonly called phantom record, and
<span lang="EN">the database identifier of that record is used in lieu of </span>
an actual object in the local database. This is an implementation-specific way of managing references to objects which the local server does not hold a replica.
<span style="color:windowtext"><o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="line-height:12.0pt;word-break:break-all">After source code review, the algorithms in “[MS-DRSR] 4.1.10.6.1 ProcessGetNCChangesReply, and 4.1.10.6.14 ProcessLinkValue” appear to reflect Windows implementation.<o:p></o:p></p>
<p class="MsoNormal" style="line-height:12.0pt;word-break:break-all">Think of the DRS_GET_TGT in case we failed to apply the update because we had a recycled target, the client asks again for that packet to include updates to the link target.
<o:p></o:p></p>
<p class="MsoNormal" style="line-height:12.0pt;word-break:break-all"><o:p> </o:p></p>
<p class="MsoNormal" style="line-height:12.0pt;word-break:break-all">“Reference update” is one of the background tasks described in MS-ADTS 3.1.1.6.2 (see link and related Sections). It helps update references, including when an object in the
<span lang="EN">NC replica not present on the server is modified or deleted.</span><span style="color:windowtext"><o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">NOTE: I found the following blog resourceful as it describes some AD internals on tables implemented in Windows AD. Note that the blog provides implementation-specific details.
<o:p></o:p></p>
<p class="MsoNormal">MCM: Core Active Directory Internals<o:p></o:p></p>
<p class="MsoNormal"><a href="https://blogs.technet.microsoft.com/askpfeplat/2012/07/22/mcm-core-active-directory-internals/">https://blogs.technet.microsoft.com/askpfeplat/2012/07/22/mcm-core-active-directory-internals/</a><o:p></o:p></p>
<p><o:p> </o:p></p>
<p class="MsoNormal"><b>[MS-ADTS]<o:p></o:p></b></p>
<p class="MsoNormal"><b><span lang="EN">3.1.1.6.2 Reference Update </span></b><a href="https://msdn.microsoft.com/en-us/library/dd240022.aspx">https://msdn.microsoft.com/en-us/library/dd240022.aspx</a><b><span lang="EN"><o:p></o:p></span></b></p>
<p><strong><span lang="EN" style="font-family:"Calibri",sans-serif">References</span></strong><span lang="EN"><o:p></o:p></span></p>
<ul type="disc">
<li style="margin-left:0in;mso-list:l0 level1 lfo2"><span lang="EN">Variable: </span>
<a href="https://msdn.microsoft.com/en-us/library/cc223126.aspx#gt_4d5e1f08-aa00-4dde-9411-7dd6e09ed85a"><span lang="EN">dsname</span></a><span lang="EN"><o:p></o:p></span></li><li style="margin-left:0in;mso-list:l0 level1 lfo2"><span lang="EN">LDAP attributes:
</span><a href="https://msdn.microsoft.com/en-us/library/cc219845.aspx"><span lang="EN">dNReferenceUpdate</span></a><span lang="EN">.<o:p></o:p></span></li><li style="margin-left:0in;mso-list:l0 level1 lfo2"><span lang="EN">LDAP classes:
</span><a href="https://msdn.microsoft.com/en-us/library/cc221881.aspx"><span lang="EN">infrastructureUpdate</span></a><span lang="EN">.<o:p></o:p></span></li><li style="margin-left:0in;mso-list:l0 level1 lfo2"><span lang="EN">Glossary terms: dsname, Infrastructure FSMO master,
</span><a href="https://msdn.microsoft.com/en-us/library/cc223126.aspx#gt_325d116f-cdbe-4dbd-b7e6-769ba75bf210"><span lang="EN">NC replica</span></a><span lang="EN">,
</span><a href="https://msdn.microsoft.com/en-us/library/cc223126.aspx#gt_9d8e0963-13fa-4e19-a97f-7ce6bc90d20f"><span lang="EN">tombstone</span></a><span lang="EN">, GC.<o:p></o:p></span></li><li style="margin-left:0in;mso-list:l0 level1 lfo2"><span lang="EN">IDL_DRSVerifyNames method: see
</span><a href="https://msdn.microsoft.com/en-us/library/cc228086.aspx"><span lang="EN">[MS-DRSR]</span></a><span lang="EN"> section
</span><a href="https://msdn.microsoft.com/en-us/library/dd207886.aspx"><span lang="EN">4.1.27</span></a><span lang="EN">.<o:p></o:p></span></li><li style="margin-left:0in;mso-list:l0 level1 lfo2"><span lang="EN">Well-known Objects<o:p></o:p></span></li></ul>
<p><span lang="EN">In </span><a href="https://msdn.microsoft.com/en-us/library/cc223126.aspx#gt_2e72eeeb-aee9-4b0a-adc6-4476bacf5024"><span lang="EN">AD DS</span></a><span lang="EN">,
</span><a href="https://msdn.microsoft.com/en-us/library/cc223126.aspx#gt_108a1419-49a9-4d19-b6ca-7206aa726b3f"><span lang="EN">attributes</span></a><span lang="EN"> of
</span><a href="https://msdn.microsoft.com/en-us/library/cc223126.aspx#gt_811ea26f-62cc-472e-9aca-9448831f16d8"><span lang="EN">attribute syntax</span></a><span lang="EN"> Object (DS-DN), Object(DN-String), Object(DN-Binary), Object(Access-Point) and Object(OR-Name)
 can have attribute values that reference </span><a href="https://msdn.microsoft.com/en-us/library/cc223126.aspx#gt_8bb43a65-7a8c-4585-a7ed-23044772f8ca"><span lang="EN">objects</span></a><span lang="EN"> in an
</span><a href="https://msdn.microsoft.com/en-us/library/cc223126.aspx#gt_784c7cce-f782-48d8-9444-c9030ba86942"><span lang="EN">NC</span></a><span lang="EN"> for which no NC replica is present on the server. The server does not get a
</span><a href="https://msdn.microsoft.com/en-us/library/cc223126.aspx#gt_2a923099-db0a-4932-af28-4354601e85c4"><span lang="EN">replicated update</span></a><span lang="EN"> when an object in the NC replica not present on the server is modified or deleted. In
 such a case, references to such objects will remain to an old dsname on the server. In order to
</span><a href="https://msdn.microsoft.com/en-us/library/cc223126.aspx#gt_b242435b-73cc-4c4e-95f0-b2a2ff680493"><span lang="EN">update</span></a><span lang="EN"> these kinds of references, a background task called reference update is run at regular intervals.
 By default, each reference is examined every two days.<o:p></o:p></span></p>
<p><span lang="EN">The reference update task is not run on a Global Catalog.<o:p></o:p></span></p>
<p><span lang="EN">If the </span><a href="https://msdn.microsoft.com/en-us/library/cc223126.aspx#gt_54624800-58f4-45e9-90bf-c9b52dcf98f3"><span lang="EN">Recycle Bin</span></a>
<a href="https://msdn.microsoft.com/en-us/library/cc223126.aspx#gt_785b66f1-22b3-450f-97aa-a24a39d04d47">
<span lang="EN">optional feature</span></a><span lang="EN"> is not enabled and the Infrastructure FSMO master is not a global catalog, then the reference update task is run only on the Infrastructure FSMO master.<o:p></o:p></span></p>
<p><span lang="EN">If the Recycle Bin optional feature is enabled, every </span><a href="https://msdn.microsoft.com/en-us/library/cc223126.aspx#gt_76a05049-3531-4abd-aec8-30e19954b4bd"><span lang="EN">DC</span></a><span lang="EN"> that is not also a global
 catalog runs the reference update task.<o:p></o:p></span></p>
<p><span lang="EN">The reference update task does processing as follows: <o:p></o:p></span></p>
<p><span lang="EN">For each object <em><span style="font-family:"Calibri",sans-serif">P</span></em> in each NC replica on the server do the following:<o:p></o:p></span></p>
<ul type="disc">
<li style="margin-left:0in;mso-list:l2 level1 lfo3"><span lang="EN">Let <em><span style="font-family:"Calibri",sans-serif">S</span></em> be the set of all attributes of
<em><span style="font-family:"Calibri",sans-serif">P</span></em> with attribute syntax Object(DS-DN), Object(DN-String), Object(DN-Binary), Object(OR-Name) and Object(Access-Point).<o:p></o:p></span></li><li style="margin-left:0in;mso-list:l2 level1 lfo3"><span lang="EN">For each attribute
<em><span style="font-family:"Calibri",sans-serif">A</span></em> in set <em><span style="font-family:"Calibri",sans-serif">S</span></em> and for each value
<em><span style="font-family:"Calibri",sans-serif">V</span></em> of <em><span style="font-family:"Calibri",sans-serif">A</span></em> do the following:<o:p></o:p></span>
<ul type="circle">
<li style="margin-left:0in;mso-list:l2 level2 lfo3"><span lang="EN">If there exists an object with dsname
<em><span style="font-family:"Calibri",sans-serif">V</span></em> in any NC replica on this DC, then skip this value
<em><span style="font-family:"Calibri",sans-serif">V</span></em>.<o:p></o:p></span></li><li style="margin-left:0in;mso-list:l2 level2 lfo3"><span lang="EN">If attribute syntax of
<em><span style="font-family:"Calibri",sans-serif">A</span></em> is Object(DS-DN) then let
<em><span style="font-family:"Calibri",sans-serif">G</span></em> be <em><span style="font-family:"Calibri",sans-serif">P.A.V.guid_value</span></em>. Let
<em><span style="font-family:"Calibri",sans-serif">D</span></em> be <em><span style="font-family:"Calibri",sans-serif">P.A.V.dn</span></em>.<o:p></o:p></span></li><li style="margin-left:0in;mso-list:l2 level2 lfo3"><span lang="EN">Otherwise, let
<em><span style="font-family:"Calibri",sans-serif">G</span></em> be <em><span style="font-family:"Calibri",sans-serif">P.A.V.object_DN.guid_value</span></em>. Let
<em><span style="font-family:"Calibri",sans-serif">D</span></em> be <em><span style="font-family:"Calibri",sans-serif">P.A.object_DN.dn</span></em>.<o:p></o:p></span></li><li style="margin-left:0in;mso-list:l2 level2 lfo3"><span lang="EN">If the Recycle Bin optional feature is not enabled:<o:p></o:p></span>
<ul type="square">
<li style="margin-left:0in;mso-list:l2 level3 lfo3"><span lang="EN">Retrieve the dsname
<em><span style="font-family:"Calibri",sans-serif">N</span></em> of object with </span>
<a href="https://msdn.microsoft.com/en-us/library/cc221017.aspx"><span lang="EN">objectGUID</span></a>
<em><span lang="EN" style="font-family:"Calibri",sans-serif">G</span></em><span lang="EN"> from a GC by calling method IDL_DRSVerifyNames. IDL_DRSVerifyNames is explained in [MS-DRSR] section 4.1.27.<o:p></o:p></span></li><li style="margin-left:0in;mso-list:l2 level3 lfo3"><span lang="EN">If <em><span style="font-family:"Calibri",sans-serif">N</span></em>!</span><a href="https://msdn.microsoft.com/en-us/library/cc220701.aspx"><span lang="EN">name</span></a><span lang="EN"> ≠
<em><span style="font-family:"Calibri",sans-serif">D</span></em> then create an infrastructureUpdate object
<em><span style="font-family:"Calibri",sans-serif">I</span></em> in the well-known infrastructure update
</span><a href="https://msdn.microsoft.com/en-us/library/cc223126.aspx#gt_c3143e71-2ada-417e-83f4-3ef10eff2c56"><span lang="EN">container</span></a><span lang="EN"> (see section
</span><a href="https://msdn.microsoft.com/en-us/library/cc223663.aspx"><span lang="EN">6.1.1.4</span></a><span lang="EN">). Set
<em><span style="font-family:"Calibri",sans-serif">I</span></em>!dNReferenceUpdate to
<em><span style="font-family:"Calibri",sans-serif">N</span></em>. Delete <em><span style="font-family:"Calibri",sans-serif">I</span></em> immediately to turn it to a tombstone.<o:p></o:p></span></li></ul>
</li></ul>
</li></ul>
<p style="margin-left:1.5in"><span lang="EN">Creation of an infrastructureUpdate object
<em><span style="font-family:"Calibri",sans-serif">K</span></em> with attribute dNReferenceUpdate will trigger an update of all references to dsnames corresponding to
<em><span style="font-family:"Calibri",sans-serif">K</span></em>!dNReferenceUpdate, as explained in section
</span><a href="https://msdn.microsoft.com/en-us/library/cc223446.aspx"><span lang="EN">3.1.1.5.2.4</span></a><span lang="EN">.<o:p></o:p></span></p>
<ul type="disc">
<ul type="circle">
<li style="margin-left:0in;mso-list:l2 level2 lfo3"><span lang="EN">If the Recycle Bin optional feature is enabled:<o:p></o:p></span>
<ul type="square">
<li style="margin-left:0in;mso-list:l2 level3 lfo3"><span lang="EN">Retrieve the dsname
<em><span style="font-family:"Calibri",sans-serif">N</span></em> and the value <em>
<span style="font-family:"Calibri",sans-serif">Vgc</span></em> of the </span><a href="https://msdn.microsoft.com/en-us/library/dd357315.aspx"><span lang="EN">isRecycled</span></a><span lang="EN"> attribute of object with objectGUID
<em><span style="font-family:"Calibri",sans-serif">G</span></em> from a GC by calling method IDL_DRSVerifyNames. IDL_DRSVerifyNames is explained in [MS-DRSR] section 4.1.27.<o:p></o:p></span></li><li style="margin-left:0in;mso-list:l2 level3 lfo3"><span lang="EN">If <em><span style="font-family:"Calibri",sans-serif">Vgc</span></em> is true and attribute
<em><span style="font-family:"Calibri",sans-serif">A</span></em> is a linked attribute, remove value
<em><span style="font-family:"Calibri",sans-serif">V</span></em> from attribute <em>
<span style="font-family:"Calibri",sans-serif">A</span></em>. This removal is not replicated to any other DCs.<o:p></o:p></span></li><li style="margin-left:0in;mso-list:l2 level3 lfo3"><span lang="EN">If <em><span style="font-family:"Calibri",sans-serif">N</span></em>!name ≠
<em><span style="font-family:"Calibri",sans-serif">D</span></em> then replace value
<em><span style="font-family:"Calibri",sans-serif">V</span></em> of attribute <em>
<span style="font-family:"Calibri",sans-serif">A</span></em> with <em><span style="font-family:"Calibri",sans-serif">N</span></em>!name. This replacement is not replicated to any other DCs.<o:p></o:p></span></li><li style="margin-left:0in;mso-list:l2 level3 lfo3"><span lang="EN">If attribute <em>
<span style="font-family:"Calibri",sans-serif">A</span></em> is a </span><a href="https://msdn.microsoft.com/en-us/library/cc223126.aspx#gt_659e8352-a6db-4752-8c05-4b21c602f238"><span lang="EN">link value</span></a><span lang="EN"> and the
</span><a href="https://msdn.microsoft.com/en-us/library/cc223126.aspx#gt_22198321-b40b-4c24-b8a2-29e44d9d92b9"><span lang="EN">RDN</span></a><span lang="EN"> of
<em><span style="font-family:"Calibri",sans-serif">N</span></em>!name is a delete-mangled RDN (see section
</span><a href="https://msdn.microsoft.com/en-us/library/cc223480.aspx"><span lang="EN">3.1.1.5.5</span></a><span lang="EN">), the value
<em><span style="font-family:"Calibri",sans-serif">V</span></em> is to be treated as a linked value to or from a
</span><a href="https://msdn.microsoft.com/en-us/library/cc223126.aspx#gt_d9c9e99f-74f1-483e-bcb1-310e75ff1344"><span lang="EN">deleted-object</span></a><span lang="EN">. That is, the value is not generally visible to
</span><a href="https://msdn.microsoft.com/en-us/library/cc223126.aspx#gt_45643bfb-b4c4-432c-a10f-b98790063f8d"><span lang="EN">LDAP</span></a><span lang="EN"> clients unless the LDAP_SHOW_DEACTIVATED_LINK_OID control is used.<o:p></o:p></span></li><li style="margin-left:0in;mso-list:l2 level3 lfo3"><span lang="EN">If attribute <em>
<span style="font-family:"Calibri",sans-serif">A</span></em> is a link value and the RDN of
<em><span style="font-family:"Calibri",sans-serif">N</span></em>!name is not a delete-mangled RDN (see section 3.1.1.5.5), the value
<em><span style="font-family:"Calibri",sans-serif">V</span></em> is to be treated as a normal linked value. That is, the value is generally visible to LDAP clients.<o:p></o:p></span></li></ul>
</li></ul>
</ul>
<p class="MsoNormal"><b><o:p> </o:p></b></p>
<p class="MsoNormal"><b>3.1.1.3.3.7           checkPhantoms </b><a href="https://msdn.microsoft.com/en-us/library/cc223316.aspx">https://msdn.microsoft.com/en-us/library/cc223316.aspx</a><b><o:p></o:p></b></p>
<p><span lang="EN">This operation requests that the reference </span><a href="https://msdn.microsoft.com/en-us/library/cc223126.aspx#gt_b242435b-73cc-4c4e-95f0-b2a2ff680493"><span lang="EN">update</span></a><span lang="EN"> task (see section
</span><a href="https://msdn.microsoft.com/en-us/library/dd240022.aspx"><span lang="EN">3.1.1.6.2</span></a><span lang="EN">) be immediately performed on the
</span><a href="https://msdn.microsoft.com/en-us/library/cc223126.aspx#gt_76a05049-3531-4abd-aec8-30e19954b4bd"><span lang="EN">DC</span></a><span lang="EN">. During the operation, if the referential integrity on any of the
</span><a href="https://msdn.microsoft.com/en-us/library/cc223126.aspx#gt_8bb43a65-7a8c-4585-a7ed-23044772f8ca"><span lang="EN">objects</span></a><span lang="EN"> is found to be incorrect and it cannot be corrected, then the operation returns an error and does
 not process any of the remaining objects. This task runs periodically; on a correctly functioning DC, there is no need to run it explicitly. The requester must have the "DS-Check-Stale-Phantoms"
</span><a href="https://msdn.microsoft.com/en-us/library/cc223126.aspx#gt_42f6c9e0-a2b3-4bc3-9b87-fdb902e5505e"><span lang="EN">control access right</span></a><span lang="EN"> on the
</span><a href="https://msdn.microsoft.com/en-us/library/cc221718.aspx"><span lang="EN">nTDSDSA</span></a><span lang="EN"> object for the DC.<o:p></o:p></span></p>
<p><span lang="EN">No action is taken if the </span><a href="https://msdn.microsoft.com/en-us/library/cc223126.aspx#gt_54624800-58f4-45e9-90bf-c9b52dcf98f3"><span lang="EN">Recycle Bin</span></a>
<a href="https://msdn.microsoft.com/en-us/library/cc223126.aspx#gt_785b66f1-22b3-450f-97aa-a24a39d04d47">
<span lang="EN">optional feature</span></a><span lang="EN"> is not enabled and the operation is performed against a DC that does not own the Infrastructure Master FSMO.<o:p></o:p></span></p>
<p><span lang="EN">No action is taken if the operation is performed against a DC that is a global catalog.<o:p></o:p></span></p>
<p><span lang="EN">The type of modification can be add or replace, and the values specified in the
</span><a href="https://msdn.microsoft.com/en-us/library/cc223126.aspx#gt_45643bfb-b4c4-432c-a10f-b98790063f8d"><span lang="EN">LDAP</span></a><span lang="EN"> modify operation do not matter.<o:p></o:p></span></p>
<p><span lang="EN">The following shows an LDIF sample that performs this operation.<o:p></o:p></span></p>
<pre style="margin-left:.5in"><span lang="EN"> dn:<o:p></o:p></span></pre>
<pre style="margin-left:.5in"><span lang="EN"> changetype: modify<o:p></o:p></span></pre>
<pre style="margin-left:.5in"><span lang="EN"> add: checkPhantoms<o:p></o:p></span></pre>
<pre style="margin-left:.5in"><span lang="EN"> checkPhantoms: 1<o:p></o:p></span></pre>
<pre style="margin-left:.5in"><span lang="EN"> -<o:p></o:p></span></pre>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><b>6.1.5.5       Infrastructure FSMO Role</b> <a href="https://msdn.microsoft.com/en-us/library/cc223753.aspx">
https://msdn.microsoft.com/en-us/library/cc223753.aspx</a><o:p></o:p></p>
<p><span lang="EN">When an </span><a href="https://msdn.microsoft.com/en-us/library/cc223126.aspx#gt_8bb43a65-7a8c-4585-a7ed-23044772f8ca"><span lang="EN">object</span></a><span lang="EN"> in one
</span><a href="https://msdn.microsoft.com/en-us/library/cc223126.aspx#gt_b0276eb2-4e65-4cf1-a718-e0920a614aca"><span lang="EN">domain</span></a><span lang="EN"> is referenced by another object in another domain, it represents the reference as a
</span><a href="https://msdn.microsoft.com/en-us/library/cc223126.aspx#gt_4d5e1f08-aa00-4dde-9411-7dd6e09ed85a"><span lang="EN">dsname</span></a><span lang="EN">. There is one Infrastructure FSMO role per domain and
</span><a href="https://msdn.microsoft.com/en-us/library/cc223126.aspx#gt_53fee475-b07f-45e1-b4b7-c7ac0c1e7f6a"><span lang="EN">application NC</span></a><span lang="EN"> in a
</span><a href="https://msdn.microsoft.com/en-us/library/cc223126.aspx#gt_49ce3946-04d2-4cc9-9350-ebcd952b9ab9"><span lang="EN">directory</span></a><span lang="EN">.<o:p></o:p></span></p>
<p><span lang="EN">If all the </span><a href="https://msdn.microsoft.com/en-us/library/cc223126.aspx#gt_76a05049-3531-4abd-aec8-30e19954b4bd"><span lang="EN">domain controllers</span></a><span lang="EN"> in a domain also host the GC, then all the domain controllers
 have the current data, and it is not important which domain controller owns the Infrastructure Master (IM) role. See section
</span><a href="https://msdn.microsoft.com/en-us/library/cc223433.aspx"><span lang="EN">3.1.1.5</span></a><span lang="EN"> for more information about the Infrastructure Master.<o:p></o:p></span></p>
<p><span lang="EN">When the </span><a href="https://msdn.microsoft.com/en-us/library/cc223126.aspx#gt_54624800-58f4-45e9-90bf-c9b52dcf98f3"><span lang="EN">Recycle Bin</span></a>
<a href="https://msdn.microsoft.com/en-us/library/cc223126.aspx#gt_785b66f1-22b3-450f-97aa-a24a39d04d47">
<span lang="EN">optional feature</span></a><span lang="EN"> is not enabled, the Infrastructure FSMO role owner is the DC responsible for updating a cross-domain
</span><a href="https://msdn.microsoft.com/en-us/library/cc223126.aspx#gt_3ca938ae-c14f-4f59-8a7d-daca9f76db4e"><span lang="EN">object reference</span></a><span lang="EN"> in the event that the referenced object is moved, renamed, or deleted. In this case,
 the Infrastructure Master role must be held by a domain controller that is not a
</span><a href="https://msdn.microsoft.com/en-us/library/cc223126.aspx#gt_a5a99ce4-e206-42dc-8874-e103934c5b0d"><span lang="EN">GC server</span></a><span lang="EN">. If the Infrastructure Master runs on a GC server, it will not
</span><a href="https://msdn.microsoft.com/en-us/library/cc223126.aspx#gt_b242435b-73cc-4c4e-95f0-b2a2ff680493"><span lang="EN">update</span></a><span lang="EN"> object information, because it does not contain any references to objects that it does not hold.
 This is because a GC server holds a partial </span><a href="https://msdn.microsoft.com/en-us/library/cc223126.aspx#gt_ea02e669-2dda-460c-9992-b12a23caeeac"><span lang="EN">replica</span></a><span lang="EN"> of every object in the
</span><a href="https://msdn.microsoft.com/en-us/library/cc223126.aspx#gt_fd104241-4fb3-457c-b2c4-e0c18bb20b62"><span lang="EN">forest</span></a><span lang="EN">.<o:p></o:p></span></p>
<p><span lang="EN">When the Recycle Bin optional feature is enabled, every DC is responsible for updating its cross-domain object references in the event that the referenced object is moved, renamed, or deleted. In this case, there are no tasks associated with
 the Infrastructure FSMO role, and it is not important which domain controller owns the Infrastructure Master role.<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><b>[MS-DRSR]<o:p></o:p></b></p>
<p class="MsoNormal">4.1.10.6.1 ProcessGetNCChangesReply<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="mso-element:para-border-div;border:solid white 3.0pt;padding:4.0pt 6.0pt 5.0pt 6.0pt;background:white;margin-left:.25in;margin-right:0in">
<p class="CodeCxSpFirst" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>/* Process link value updates. */<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>linkValueCount := 0<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>while (ulResult = 0) and (linkValueCount < msgReplyNative.cNumValues)<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>  ulResult := ProcessLinkValue(<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>                msgReplyNative.rgValues[linkValueCount],<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>                msgReplyNative.pNC^,<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>                prefixTable,<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>                msgIn.ulFlags,<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>                msgIn.ulMoreFlags)<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>  linkValueCount := linkValueCount + 1<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>endwhile<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]><o:p> </o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>if (ulResult = ERROR_DS_DRA_MISSING_PARENT) then<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>  Send IDL_DRSGetNCChanges message again with the same input
<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""> </span></span><![endif]>  parameters specified in msgIn but this time with msgIn.ulFlags
<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""> </span></span><![endif]>  containing DRS_GET_ANC field set. It is an error for this
<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""> </span></span><![endif]>  condition to occur if (DRS_GET_ANC in msgIn.ulFlags) is true<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>else if (ulResult = ERROR_DS_DRA_RECYCLED_TARGET) then<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>  Send IDL_DRSGetNCChanges message again with the same input
<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""> </span></span><![endif]>  parameters specified in the msgIn but this time with msgIn.ulMoreFlags
<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""> </span></span><![endif]>  containing DRS_GET_TGT field set.
<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""> </span></span><![endif]>else if (msgIn.ulExtendedOp = 0) then<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>  /* Not an extended operation. Update "watermark" information. */<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>  UpdateRepsFrom(<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>    rf,<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>    msgReplyNative,
<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""> </span></span><![endif]>    dsaServer,<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>    ulResult)<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>  <o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""> </span></span><![endif]>  if (ulResult = 0) and (msgReplyNative.fMoreData = false) then<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>    UpdateUTDandPAS(<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>      msgReplyNative,<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>      msgIn.partialAttrSetEx^)<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>  endif<o:p></o:p></p>
<p class="CodeCxSpLast" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>endif<o:p></o:p></p>
</div>
<p class="MsoNormal">4.1.10.6.14                   ProcessLinkValue<o:p></o:p></p>
<p class="MsoNormal">. . .<o:p></o:p></p>
<div style="mso-element:para-border-div;border:solid white 3.0pt;padding:4.0pt 6.0pt 5.0pt 6.0pt;background:white;margin-left:.25in;margin-right:0in">
<p class="CodeCxSpFirst" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>  newAttributeValue = ValueFromATTRVAL(<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>      sourcePrefixTable, Syntax(attribute), replValInf.pAval)<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>  targetObject := GetDSNameFromAttrVal( replValinf.attrTyp, replValInf.pAval)<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>  if (targetObject = null)<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>      return ERROR_DS_INVALID_ATTRIBUTE_SYNTAX<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>  if ((IsRecycleBinEnabled() and targetObject!isRecycled) or<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>      (not IsRecycleBinEnabled() and targetObject!isDeleted)) then<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>     if (DRS_GET_TGT in ulMoreFlags) then
<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""> </span></span><![endif]>        /* nothing to do */<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>        return 0<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>     else<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>        return ERROR_DS_DRA_RECYCLED_TARGET<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="background:yellow;mso-highlight:yellow"><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span></span><![endif]><span style="background:yellow;mso-highlight:yellow">     endif<o:p></o:p></span></p>
<p class="CodeCxSpLast" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>  endif<o:p></o:p></p>
</div>
<p class="Code-List" style="text-indent:0in;mso-list:l1 level2 lfo1">if (not attributeValue = null) then<o:p></o:p></p>
<div style="mso-element:para-border-div;border:solid white 3.0pt;padding:4.0pt 6.0pt 5.0pt 6.0pt;background:white;margin-left:.25in;margin-right:0in">
<p class="CodeCxSpFirst" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>    /* Remove the old attribute value. */<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>    RemoveAttrVal(updateObject, attribute, attributeValue)<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>  endif<o:p></o:p></p>
<p class="CodeCxSpMiddle" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]><o:p> </o:p></p>
<p class="CodeCxSpLast" style="margin-left:.7pt;mso-add-space:auto;mso-list:l1 level1 lfo4;background:white;border:none;padding:0in">
<![if !supportLists]><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""></span></span><![endif]>  SetAttrVal(updateObject, attribute, newAttributeValue) 
<o:p></o:p></p>
</div>
<p class="Code-List" style="text-indent:0in;mso-list:l1 level2 lfo1">. . .<o:p></o:p></p>
<p>Thanks,<o:p></o:p></p>
<p>Edgar<o:p></o:p></p>
<p class="MsoNormal"><span style="color:windowtext"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:windowtext"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="color:windowtext">From:</span></b><span style="color:windowtext"> Tim Beale [mailto:timbeale@catalyst.net.nz]
<br>
<b>Sent:</b> Sunday, July 9, 2017 4:44 PM<br>
<b>To:</b> Edgar Olougouna <edgaro@microsoft.com>; 'abartlet@samba.org' <abartlet@samba.org><br>
<b>Cc:</b> cifs-protocol@lists.samba.org; MSSolve Case Email <casemail@microsoft.com><br>
<b>Subject:</b> Re: [cifs-protocol] [REG: 117070616001855] [MS-DRSR] Calling GetNCChanges with DRS_GET_TGT flag<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p>Hi Edgar,<br>
<br>
>> Request more detail in case of cross-partition target<o:p></o:p></p>
<p>We understand that it requires implementation-specific behaviour to resolve an unknown target object when the linked attribute spans partitions. This was answered for us in 117060115827644.<o:p></o:p></p>
<p>>> Target object is only recycled, as opposed to Target-object is unknown<br>
>> (linked-attribute and you don't know the target, you send DRS_GET_TGT)<o:p></o:p></p>
<p>This is what I'm confused about. I inferred from the MS_DRSR Docs that the client uses DRS_GET_TGT if it receives a linked attribute with an unknown target object. However, the answers we received for 117060815865307 seemed to imply that DRS_GET_TGT is only
 used if the target object is deleted/recycled (as opposed to simply being a new/unknown object). Could you please clarify this - should the client use it in either case, or is it only the deleted/recycled case where the flag is actually required?<o:p></o:p></p>
<p>>> Implementation-specific statement regarding client using DRS_GET_TGT <o:p></o:p></p>
<p>Basically it's the following block of code in 4.1.10.6.14 ProcessLinkValue() that I find confusing/misleading.<o:p></o:p></p>
<p>targetObject = GetDSNameFromAttrVal( replValinf.attrTyp, replValInf.pAval)<br>
if ((IsRecycleBinEnabled() and targetObject!isRecycled) or<br>
    (not IsRecycleBinEnabled() and targetObject!isDeleted)) then<br>
    if (DRS_GET_TGT in ulMoreFlags) then<br>
        /* nothing to do */<br>
        return 0<br>
    else<br>
        return ERROR_DS_DRA_RECYCLED_TARGET<br>
endif<o:p></o:p></p>
<p>I don't think the proposed Docs change for 117060815865307 makes this any easier to understand. Documentation-wise, I think there's room for the following minor improvements:<o:p></o:p></p>
<p>1. Section 3.4.5 describes the ! notation. However, I couldn't see anything that describes what happens if the object specified by the DN doesn't exist. I would assume the attribute returned would be null.<br>
2. If the target object doesn't exist, the current code looks like the 4.1.10.6.14 block will fall through and add a hanging link to an unknown object. Is that the intended behaviour? A comment stating that would be nice.<br>
3. If there is other implementation-specific behaviour in the 4.1.10.6.14 block, then a comment stating "The actual behaviour here may be implementation-specific" would be nice.<br>
4. I also just noticed the above block is missing an endif.<o:p></o:p></p>
<p>Thanks for your help,<o:p></o:p></p>
<p>Tim<o:p></o:p></p>
<div>
<p class="MsoNormal">On 07/07/17 04:51, Edgar Olougouna via cifs-protocol wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal">Please provide any additional write-up as necessary. We will review this and follow-up.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Implementation-specific statement regarding client using DRS_GET_TGT
<o:p></o:p></p>
<p class="MsoNormal">Request more detail in case of cross-partition target<o:p></o:p></p>
<p class="MsoNormal">Target object is only recycled, as opposed to Target-object is unknown
<o:p></o:p></p>
<p class="MsoNormal">(linked-attribute and you don't know the target, you send DRS_GET_TGT)<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
<p class="MsoNormal">Edgar<o:p></o:p></p>
<p class="MsoNormal"><br>
<br>
<br>
<o:p></o:p></p>
<pre>_______________________________________________<o:p></o:p></pre>
<pre>cifs-protocol mailing list<o:p></o:p></pre>
<pre><a href="mailto:cifs-protocol@lists.samba.org">cifs-protocol@lists.samba.org</a><o:p></o:p></pre>
<pre><a href="https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.samba.org%2Fmailman%2Flistinfo%2Fcifs-protocol&data=02%7C01%7Cedgaro%40microsoft.com%7C5f4eebde07da4724ff5a08d4c7139b92%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636352334412827688&sdata=Ef66txw485K2nCi3tm%2FF60ZWF4Wyds3h0qCmyAOEPJc%3D&reserved=0">https://lists.samba.org/mailman/listinfo/cifs-protocol</a><o:p></o:p></pre>
</blockquote>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>