Открытие дескриптора к устройству в Python в Windows

Попробуйте команду ниже, $arrayList это все поставщики ресурсов группы ресурсов.

$a = (Get-AzureRmResource -ResourceGroupName joywebapp).ResourceType 
$arrayList = New-Object System.Collections.ArrayList
foreach($item in $a){
    if($arrayList.Contains(($item -split("/"))[0]) -eq $false){
        $arrayList.Add((($item -split("/"))[0])) | Out-Null
    }  
}

enter image description here

12
задан SamB 3 May 2011 в 04:30
поделиться

4 ответа

Решение: в Python необходимо использовать win32file. CreateFile () вместо открытого (). Благодарен за то, что все говорят мне, что я пытался сделать, это помогло мне найти ответ!

5
ответ дан 2 December 2019 в 21:04
поделиться

Я ничего не знаю о Python, но я действительно знаю немного о драйверах. Вы не пытаетесь 'открыть файл в пространстве ядра' вообще - Вы просто пытаетесь открыть дескриптор для устройства, которое, оказывается, сделано немного походить на открытие файла.

CreateFile является функцией непривилегированного режима и всем, что Вы делаете, вот непривилегированный режим, не привилегированный режим.

Как ксенон говорит, Ваш вызов может перестать работать, потому что Вы еще не загрузили драйвер, или потому что безотносительно вызова Python Вы используете, чтобы сделать, CreateFile не передает параметры записи в.

Я никогда не использовал giveio.sys сам, но лично я установил бы, что он был загружен правильно при помощи 'C' или C++ (или некоторое предзаписанное приложение), прежде чем я пытался получить его работающий с помощью Python.

3
ответ дан 2 December 2019 в 21:04
поделиться

Вы - вопрос, очень сбивает с толку по меньшей мере.

1> Код, который Вы вставили, использует прием для общения с драйвером с помощью его 'DOSNAME' т.е.

\\.\DRIVERNAME

2> Вы создали и загрузили 'giveio' драйвер?

Причина драйвер обрабатывает это, звонит, из-за этого

http://msdn.microsoft.com/en-us/library/ms806162.aspx

2
ответ дан 2 December 2019 в 21:04
поделиться

Я не уверен, возможно ли это. Как альтернатива, Вы могли записать программу C/C++, которая делает всю эту работу пространства ядра для Вас и соединяет интерфейсом с нею в Python через модуль подпроцесса или Python с привязкой C/C++другая ссылка для этого).

1
ответ дан 2 December 2019 в 21:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: