pub unsafe fn CreateDirectoryTransactedW<P0, P1, P2>(
    lptemplatedirectory: P0,
    lpnewdirectory: P1,
    lpsecurityattributes: Option<*const SECURITY_ATTRIBUTES>,
    htransaction: P2,
) -> Result<()>
where P0: Param<PCWSTR>, P1: Param<PCWSTR>, P2: Param<HANDLE>,