Попробуйте команду ниже, $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
}
}
Решение: в Python необходимо использовать win32file. CreateFile () вместо открытого (). Благодарен за то, что все говорят мне, что я пытался сделать, это помогло мне найти ответ!
Я ничего не знаю о Python, но я действительно знаю немного о драйверах. Вы не пытаетесь 'открыть файл в пространстве ядра' вообще - Вы просто пытаетесь открыть дескриптор для устройства, которое, оказывается, сделано немного походить на открытие файла.
CreateFile является функцией непривилегированного режима и всем, что Вы делаете, вот непривилегированный режим, не привилегированный режим.
Как ксенон говорит, Ваш вызов может перестать работать, потому что Вы еще не загрузили драйвер, или потому что безотносительно вызова Python Вы используете, чтобы сделать, CreateFile не передает параметры записи в.
Я никогда не использовал giveio.sys сам, но лично я установил бы, что он был загружен правильно при помощи 'C' или C++ (или некоторое предзаписанное приложение), прежде чем я пытался получить его работающий с помощью Python.
Вы - вопрос, очень сбивает с толку по меньшей мере.
1> Код, который Вы вставили, использует прием для общения с драйвером с помощью его 'DOSNAME' т.е.
\\.\DRIVERNAME
2> Вы создали и загрузили 'giveio' драйвер?
Причина драйвер обрабатывает это, звонит, из-за этого
Я не уверен, возможно ли это. Как альтернатива, Вы могли записать программу C/C++, которая делает всю эту работу пространства ядра для Вас и соединяет интерфейсом с нею в Python через модуль подпроцесса или Python с привязкой C/C++ (и другая ссылка для этого).