我正在写一个之间的层POSIX文件系统,和Windows使用杜坎,并且需要误差值转换的错误号样(EINVAL,ENOENT,等),在Win32等效打电话时你会收到GetLastError()(比如ERROR_INVALID_PARAMETER).
是否有可用于执行这些转换的现有功能,库或参考?
我通常会在Python源代码中寻找灵感来解决这些问题,但Python巧妙地避免了这种需求(至少就我所知).
作为一个例子,EINVAL (22)将转换为ERROR_INVALID_PARAMETER (87).
我使用Dokan(.NET)库在C#中创建了一个虚拟驱动器,它运行得很好.
但是,当我尝试从另一个应用程序中的驱动器读取文件时,每当使用同步读取的操作时,我都会收到异常,例如System.IO.File.ReadAllText(...).
异常的文本是:"Handle不支持同步操作.可能需要更改FileStream构造函数的参数以指示句柄是异步打开的".
因此,如果我正确地解释这一点,.NET显然会尝试在单个同步操作中读取文件的整个内容,但Dokan似乎不允许这样做.
但是当使用像ReadAllText我这样的方法时,实际上并没有对FileStream构造方式进行任何控制(这不是该方法的全部意义,毕竟,只需获取文件内容而不必费心使用Streams和Readers and Buffers什么?).
我可以让Dokan以某种方式支持文件句柄上的同步I/O访问吗?或者我必须以某种方式忍受在Dokan托管文件上无法实现同步操作的事实(并且希望没有可能必须在我的虚拟驱动器上运行的应用程序依赖于它们)?
我在这里阅读了一篇关于 windows 的 dokan sshfs的文章。我想问你是否知道类似的软件(免费或不免费)以便从 Windows 访问 Windows 分区。Samba 总是一个答案,但我正在寻找更安全的东西。
人们在Windows 7(64位)上报告了BSOD http://dokan-dev.net/en/2009/04/06/the-next-release-of-dokan-library/.由于某些我不知道的原因,我的winxp sp3(32位)资源管理器变得不稳定,如果我通过doken SSHFS驱动器进行大量浏览,会在时间冻结.你最近遇到过sshfs doken驱动问题吗?只是想得到你对其稳定性的看法?
使用 woocommerce,我正在使用 Dokan 插件,并尝试在单个产品页面上显示供应商名称、评级和供应商位置。
我尝试使用此代码显示供应商名称,但没有运气:
//show store name
add_action( 'woocommerce_single_product_summary', 'show_store_name', 20 );
function show_store_name() {
printf( '<b>Seller Name:</b> <a href="%s">%s</a>', dokan_get_store_url( $author->ID ), $store_info['store_name'] );
}
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏。
我希望将readonly文件夹实现到我的虚拟文件系统中,该文件系统是使用Dokan驱动程序创建的.有谁知道设置自定义文件夹权限是否可行?
我正在为多供应商网站使用 dokan 插件。我想在 dokan 供应商设置页面中添加一些额外的字段。我用这个
add_filter( 'dokan_settings_form_bottom', 'extra_fields', 10, 2);
function extra_fields( $current_user, $profile_info ){
$seller_url= isset( $profile_info['seller_url'] ) ?
$profile_info['seller_url'] : '';?>
Run Code Online (Sandbox Code Playgroud)
<label class="dokan-w3 dokan-control-label" for="setting_address">
<?php _e( 'Website', 'dokan' ); ?>
</label>
<div class="dokan-w5">
<input type="text" class="dokan-form-control input-md valid" name="seller_url" id="reg_seller_url" value="<?php echo $seller_url; ?>" />
</div>
</div>
<?php }
//save the field value
add_action( 'dokan_store_profile_saved', 'save_extra_fields', 15 );
function save_extra_fields( $store_id ) {
if ( isset( $_POST['seller_url'] ) ) {
$dokan_settings = dokan_get_store_info($store_id);
$dokan_settings['seller_url'] = $_POST['seller_url'];
} …Run Code Online (Sandbox Code Playgroud)