title: SetWindowLongPtr with DialogBoxParam?
body: <p>A while back I was writing a C++ program with the Win32 API that would display a dialog box and then listen to the messages it generated.  At one point, I was interested in associating a piece of data with the dialog window.  Were I manually creating the window and attaching a window proc, I'd just use <code>SetWindowLongPtr</code> to set the <code>GWLP_USERDATA</code> field to a pointer to the data to associate.  However, in this case I was creating and displaying the window with <code>DialogBoxParam</code>, and it wasn't clear whether this function was associating that data with its own internal state.  Since the MSDN didn't have a description of what would happen in this case, I ended up using some other approach to solve the problem.</p>
  
  <p>My question is this - is it safe to use <code>SetWindowLongPtr</code> to overwrite the <code>GWLP_USERDATA</code> value in a window created by <code>DialogBoxParam</code>?</p>